HTML+CSS入门学习

简介: HTML+CSS入门学习

HTML&CSS


今日目标:


  • 能够掌握课程中讲解的标签的使用
  • 了解css的使用


HTML

介绍

这些标签不像XML那样可以自定义,==HTML中的标签都是预定义好的,运行在浏览器上并由浏览器解析,==然后展示出对应的效果。例如我们想在浏览器上展示出图片就需要使用预定义的 img 标签;想展示可以点击的链接的效果就可以使用预定义的 a 标签等。

HTML 预定义了很多标签,由于我们是Java工程师、是做后端开发,所以不会每个都学习,页面开发是有专门的前端工程来开发。那为什么我们还要学习呢?在公司中或多或少大家也会涉及到前端开发。

简单的给大家聊一下开发流程:

以后我们是通过Java程序从数据库中查询出来数据,然后交给页面进行展示,这样用户就能通过在浏览器通过页面看到数据。

W3C标准:

W3C是万维网联盟,这个组成是用来定义标准的。他们规定了一个网页是由三部分组成,分别是:

  • 结构:对应的是 HTML 语言
  • 表现:对应的是 CSS 语言
  • 行为:对应的是 JavaScript 语言


快速入门

需求:编写如下图效果的页面

要实现这个页面,我们需要从以下三步进行实现

  • 新建文本文件,后缀名改为 .html
    页面文件的后缀名是 .html,所以需要该后缀名
  • 编写 HTML 结构标签
    HTML 是由一个一个的标签组成的,但是它也用于表示结构的标签
<html>
  <head>
      <title> </title>
    </head>
    <body>
    </body>
</html>
  • 在中定义文字


代码如下:

<html>
  <head>
      <title>html 快速入门</title>
    </head>
    <body>
        乾坤未定,你我皆是黑马~
    </body>
</html>

同学们在访问其他网站页面时会看到字体颜色是五颜六色的,我们可以该字体颜色吗?当然可以了

font 标签就可以使用,该标签有一个 color 属性可以设置字体颜色,如: 就是将文字设置成了红颜色。那么我们只需要将需要变成红色的文字放在标签体部分就可以了,如下:

<html>
  <head>
      <title>html 快速入门</title>
    </head>
    <body>
        <font color='red'>乾坤未定,你我皆是黑马~</font>
    </body>
</html>

总结:


HTML 文件以.htm或.html为扩展名


HTML 结构标签


HTML 标签不区分大小写


如上案例中的 font 写成 Font 也是一样可以展示出对应的效果的。


HTML 标签属性值 单双引皆可


如上案例中的color属性值使用双引号也是可以的。


HTML 语法松散


比如 font 标签不加结束标签也是可以展示出效果的。但是建议同学们在写的时候还是不要这样做,严格按照要求去写。

<h1>我是标题 h1</h1>
<h2>我是标题 h2</h2>
<h3>我是标题 h3</h3>
<h4>我是标题 h4</h4>
<h5>我是标题 h5</h5>
<h6>我是标题 h6</h6>

hr标签

hr 标签在浏览器中呈现出 横线 的效果。

在页面文件中书写 hr 标签

<hr>

字体标签


font:字体标签


  • face 属性:用来设置字体。如 “楷体”、"宋体"等


  • color 属性:设置文字颜色。颜色有三种表示方式


英文单词:red,pink,blue…


这种方式表示的颜色特别有限,所以一般不用。


rgb(值1,值2,值3):值的取值范围:0~255


此种方式也就是三原色(红绿蓝)设置方式。 例如: rgb(255,0,0)。


这种书写起来比较麻烦,一般不用。


#值1值2值3:值的范围:00~FF


这种方式是rgb方式的简化写法,以后基本都用此方式。


值1表示红色的范围,值2表示绿色的范围,值3表示蓝色范围。例如: #ff0000


  • size 属性:设置文字大小


代码演示:

<font face="楷体" size="5" color="#ff0000">传智教育</font>

注意:

font 标签已经不建议使用了,以后如果要改变文字字体,大小,颜色可以使用 CSS 进行设置。


换行标签

在页面文件中书写如下内容

> 加粗、斜体、下划线标签
>
> * b:加粗标签
> * i:斜体标签
> * u:下划线标签,在文字的下方有一条横线
>
代码如下:
```html
<b>沙柳河水流淌</b><br>
<i>沙柳河水流淌</i><br>
<u>沙柳河水流淌</u><br>

居中标签

center :文本居中

代码如下:

<hr>
<center>
    <b>沙柳河水流淌</b>
</center>

图片、音频、视频标签

img:定义图片

  • src:规定显示图像的 URL(统一资源定位符)
  • height:定义图像的高度
  • width:定义图像的宽度

audio:定义音频。支持的音频格式:MP3、WAV、OGG

  • src:规定音频的 URL
  • controls:显示播放控件

video:定义视频。支持的音频格式:MP4, WebM、OGG

  • src:规定视频的 URL
  • controls:显示播放控件

尺寸单位:

height属性和width属性有两种设置方式:

  • 像素:单位是px
  • 百分比。占父标签的百分比。例如宽度设置为 50%,意思就是占它的父标签宽度的一般(50%)

资源路径:

图片,音频,视频标签都有src属性,而src是用来指定对应的图片,音频,视频文件的路径。此处的图片,音频,视频就称为资源。资源路径有如下两种设置方式:

绝对路径:完整路径

这里的绝对路径是网络中的绝对路径。 格式为: 协议://ip地址:端口号/资源名称。

如:

<img src="https://th.bing.com/th/id/R33674725d9ae34f86e3835ae30b20afe?rik=Pb3C9e5%2b%2b3a9Vw&riu=http%3a%2f%2fwww.desktx.com%2fd%2ffile%2fwallpaper%2fscenery%2f20180626%2f4c8157d07c14a30fd76f9bc110b1314e.jpg&ehk=9tpmnrrRNi0eBGq3CnhwvuU8PPmKuy1Yma0zL%2ba14T0%3d&risl=&pid=ImgRaw" width="300" height="400">
  • 这里src属性的值就是网络中的绝对路径。
  • 相对路径:相对位置关系
    找页面和其他资源的相对路径。

./ 表示当前路径

…/ 表示上一级路径

…/…/ 表示上两级路径

如模块目录结构如下:

01-基础标签.html 里的标签中找不同的图片,路径写法不同

<!--在该页面找a.jpg,就需要先回到上一级目录,该级目录有img目录,进入该目录就可以找到 a.jpg图片-->
<img src="../img/a.jpg" width="300" height="400">
<!--该页面和aa.jpg 是在同一级下,所以可以直接写 图片的名称,也可以写成  ./aa.jpg-->
<img src="aa.jpg" width="300" height="400">

使用这些标签的代码如下:

<img src="../img/a.jpg" width="300" height="400">
<audio src="b.mp3" controls></audio>
<video src="c.mp4" controls width="500" height="300"></video>

超链接标签

在网页中可以看到很多超链接标签,如下

上图红框中的都是超链接,当我们点击这些超链接时会跳转到其他的页面或者资源。而超链接使用的是 a 标签。

a 标签属性:

  • href:指定访问资源的URL
  • target:指定打开资源的方式
  • _self:默认值,在当前页面打开
  • _blank:在空白页面打开

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <a href="https://www.itcast.cn" target="_self">点我有惊喜</a>
</body>
</html>

效果图示:

当我们将 target 属性值设置为 _blank,效果图示:

列表标签

HTML 中列表分为

  • 有序列表
    如下图,页面效果中是有标号对每一项进行标记的。
  • 无序列表
    如下图,页面效果中没有标号对每一项进行标记,而是使用 点 进行标记。

标签说明:

有序列表中的 type 属性用来指定标记的标号的类型(数字、字母、罗马数字等)

无序列表中的 type 属性用来指定标记的形状

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <ol type="A">
        <li>咖啡</li>
        <li>茶</li>
        <li>牛奶</li>
    </ol>
    <ul type="circle">
        <li>咖啡</li>
        <li>茶</li>
        <li>牛奶</li>
    </ul>
</body>
</html>

表格标签

如上图就是一个表格,表格可以使用如下标签定义

table :定义表格

  • border:规定表格边框的宽度
  • width :规定表格的宽度
  • cellspacing:规定单元格之间的空白

tr :定义行

  • align:定义表格行的内容对齐方式

td :定义单元格

  • rowspan:规定单元格可横跨的行数
  • colspan:规定单元格可横跨的列数

th:定义表头单元格

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1" cellspacing="0" width="500">
    <tr>
        <th></th>
        <th></th>
        <th></th>
        <th</th>
    </tr>
    <tr align="center">
        <td>010</td>
        <td><img src="../img/三只松鼠.png" width="60" height="50"></td>
        <td></td>
        <td></td>
    </tr>
    <tr align="center">
        <td>009</td>
        <td><img src="../img/优衣库.png" width="60" height="50"></td>
        <td></td>
        <td></td>
    </tr>
    <tr align="center">
        <td>008</td>
        <td><img src="../img/小米.png" width="60" height="50"></td>
        <td>小米</td>
        <td>小米</td>
    </tr>
</table>
</body>
</html>

布局标签

这两个标签,一般都是和css结合到一块使用来实现页面的布局。

div标签 在浏览器上会有换行的效果,而 span 标签在浏览器上没有换行效果。

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>我是div</div>
    <div>我是div</div>
    <span>我是span</span>
    <span>我是span</span>
</body>
</html>

表单标签

表单标签效果大家其实都不陌生,像登陆页面、注册页面等都是表单。


像这样的表单就是用来采集用户输入的数据,然后将数据发送到服务端,服务端会对数据库进行操作,比如注册就是将数据保存到数据库中,而登陆就是根据用户名和密码进行数据库的查询操作。


表单是很重要的标签,需要大家重点来学习。


表单标签概述

表单:在网页中主要负责数据采集功能,使用标签定义表单

表单项(元素):不同类型的 input 元素、下拉列表、文本域等


form 是表单标签,它在页面上没有任何展示的效果。需要借助于表单项标签来展示不同的效果。如下图就是不同的表单项标签展示出来的效果。


form标签属性


  • action:规定当提交表单时向何处发送表单数据,该属性值就是URL

以后会将数据提交到服务端,该属性需要书写服务端的URL。而今天我们可以书写 # ,表示提交到当前页面来看效果。


  • method :规定用于发送表单数据的方式


     method取值有如下两种:


  • get:默认值。如果不设置method属性则默认就是该值
  • 请求参数会拼接在URL后边
  • url的长度有限制 4KB
  • post:
  • 浏览器会将数据放到http请求消息体中
  • 请求参数无限制的


代码演示

由于表单标签在页面上没有任何展示的效果,所以在演示的过程是会先使用 input 这个表单项标签展示输入框效果。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form>
        <input type="text">
        <input type="submit">
    </form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="#">
        <input type="text" name="username">
        <input type="submit">
    </form>
</body>
</html>

表单项标签

表单项标签有很多,不同的表单项标签有不同的展示效果。表单项标签可以分为以下三个:

  • <input>:表单项,通过type属性控制输入形式

input 标签有个 type 属性。 type 属性的取值不同,展示的效果也不一样


  • <select>:定义下拉列表,<option> 定义列表项

如下图就是下拉列表的效果:


  • <textarea>:文本域

如下图就是文本域效果。它可以输入多行文本,而 input 数据框只能输入一行文本。


注意:

  • 以上标签项的内容要想提交,必须得定义 name 属性。
  • 每一个标签都有id属性,id属性值是唯一的标识。
  • 单选框、复选框、下拉列表需要使用 value 属性指定提交的值。

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="#" method="post">
        <input type="hidden" name="id" value="123">
        <label for="username">用户名:</label>
        <input type="text" name="username" id="username"><br>
        <label for="password"></label>
        <input type="password" name="password" id="password"><br>
        性别:
        <input type="radio" name="gender" value="1" id="male"> <label for="male">男</label>
        <input type="radio" name="gender" value="2" id="female"> <label for="female">女</label>
        <br>
        爱好:
        <input type="checkbox" name="hobby" value="1"> 旅游
        <input type="checkbox" name="hobby" value="2"> 电影
        <input type="checkbox" name="hobby" value="3"> 游戏
        <br>
        头像:
        <input type="file"><br>
        城市:
        <select name="city">
            <option>北京</option>
            <option value="shanghai">上海</option>
            <option>广州</option>
        </select>
        <br>
        个人描述:
        <textarea cols="20" rows="5" name="desc"></textarea>
        <br>
        <br>
        <input type="submit" value="免费注册">
        <input type="reset" value="重置">
        <input type="button" value="一个按钮">
    </form>
</body>
</html>


目录
相关文章
|
1天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
64 24
|
3天前
|
Web App开发 前端开发
【CSS】——基础入门常见操作
CSS引入,CSS对元素美化,style修饰,选择器(标签选择器,类选择器,ID选择器,复合选择器),font-size , boder ,width,height,margin,paddiing
|
3天前
|
移动开发 前端开发 Java
|
1月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
61 7
|
1月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
38 6
|
1月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
45 5
|
1月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
38 5
|
7月前
|
前端开发 JavaScript UED
【专栏:HTML与CSS移动端开发篇】移动端触摸事件与手势识别
【4月更文挑战第30天】本文探讨了移动端触摸事件和手势识别在网页开发中的重要性。介绍了基础触摸事件如`touchstart`, `touchmove`, `touchend`, `touchcancel`及相关属性。文章列举了处理触摸事件的方法,包括单点触摸、多点触摸、滑动、长按、捏合缩放、旋转检测和事件代理。建议使用第三方库如Hammer.js简化手势处理,并分享了最佳实践,如避免意外触摸、提供视觉反馈、考虑性能和跨设备测试。理解并有效利用这些技术能提升用户交互体验。
259 7
|
7月前
|
缓存 前端开发 JavaScript
【专栏:HTML与CSS移动端开发篇】移动端网页性能优化策略
【4月更文挑战第30天】本文探讨了移动端网页性能优化的重要性,并提出了优化策略。HTML方面,建议精简结构、使用语义化标签、异步加载脚本和压缩文件;CSS优化包括精简样式、使用CSS3动画、媒体查询和压缩文件。其他策略涉及图片和字体压缩、缓存利用、数据压缩、减少HTTP请求及根据网络状态调整加载。综合运用这些策略能提升网页性能和用户体验。
116 6
|
7月前
|
编解码 移动开发 前端开发
【专栏:HTML与CSS移动端开发篇】使用Viewport Meta标签优化移动端显示
【4月更文挑战第30天】本文介绍了HTML的Viewport Meta标签在移动端网页优化中的作用。Viewport Meta标签定义了视口属性,如宽度、高度、初始缩放等,解决移动设备因屏幕尺寸差异导致的显示问题。主要属性包括width(常用device-width)、initial-scale、maximum-scale、minimum-scale和user-scalable。
217 4