HTML 代码是由 “标签” 构成的
形如:
<body>flbody>
<body id="myId">flbody>
<html>
<head>
<title>fl的第一个页面title>
head>
<body>
hello world
body>
html>
标签层次结构分为父子关系和兄弟关系
<html>
<head>
<title>fl的第一个页面title>
head>
<body>
hello world
body>
html>
其中:
可以使用 chrome 的开发者工具查看页面的结构
F12(其它浏览器大部分也是F12) 或者右键审查元素,开启开发者工具,切换到 Elements 标签,就可以看到页面结构细节
标签之间的结构关系,构成了一个 DOM 树
DOM 是 Document Object Mode (文档对象模型) 的缩写
DOM标准规定HTML文档中的每个成分都是一个节点(node):
注释不会显示在界面上,目的是提高代码的可读性
ctrl + / 快捷键可以快速进行注释/取消注释
注释的原则
标题标签有六个,从 h1 - h6,数字越大,则字体越小
<h1>我是标题1h1>
<h2>我是标题2h2>
<h3>我是标题3h3>
<h4>我是标题4h4>
<h5>我是标题5h5>
<h6>我是标题6h6>
把一段比较长的文本粘贴到 html 中,会发现并没有分成段落
例如:一个较长的文本
这是阿拉伯地区的首届世界杯,作为东道主的卡塔尔队即将拥抱他们的首次世界杯之旅。
从1977年首次参加世预赛, 到最终站上正赛舞台,卡塔尔人已经等待了45年。
乘着筹办世界杯的东风,卡塔尔国家队取得了长足进步, 成为亚洲足坛不可忽视的新兴力量。
身为2019亚洲杯冠军的卡塔尔,将与日本、韩国、伊朗、沙特阿拉伯和澳大利亚队一起, 在世界杯赛场扛起亚洲足球的旗帜。
对于东道主而言,场上的表现并非全部,其办赛能力同样值得关注。
先进的空调球场、富有特色的城市建筑群,通过世界杯,卡塔尔可以让世人更加确信,在这片土地上,不是只有石油和沙漠。
又一届世界杯,梅西和C罗没有辜负球迷的期待,他们如约而至。
俄罗斯世界杯后,梅西与C罗的职业生涯都发生了不少变化,前者离开巴塞罗那,后者辗转回到曼联。
不可否认,随着年龄的增长,两人的状态都出现了不同程度的下滑。但在卡塔尔的草皮,他们依然是最受关注的球星。
两人功勋卓著,世界杯是他们荣誉簿上的最后拼图。梅西已经明确表态这是他最后一次世界杯了,考虑到C罗的年龄,
他的世界杯经历也很有可能在卡塔尔画下句号,这一次,他们能圆梦吗?
梅西与C罗孰强孰弱的话题被球迷讨论了十几年仍无定论,如果他们其中一人能在12月18日的卢塞尔球场站上世界之巅,
“绝代双骄”这个名词就将成为历史。
展示结果:
此时,如果想要最终结果分成段落,就要使用p标签
p 标签表示一个段落
<p>这是一个段落p>
通过 p 标签改进上述代码,每个段落放到 p 标签中
<p>这是阿拉伯地区的首届世界杯,作为东道主的卡塔尔队即将拥抱他们的首次世界杯之旅。从1977年首次参加世预赛,
到最终站上正赛舞台,卡塔尔人已经等待了45年。乘着筹办世界杯的东风,卡塔尔国家队取得了长足进步,
成为亚洲足坛不可忽视的新兴力量。身为2019亚洲杯冠军的卡塔尔,将与日本、韩国、伊朗、沙特阿拉伯和澳大利亚队一起,
在世界杯赛场扛起亚洲足球的旗帜。p>
<p>
对于东道主而言,场上的表现并非全部,其办赛能力同样值得关注。
先进的空调球场、富有特色的城市建筑群,通过世界杯,卡塔尔可以让世人更加确信,在这片土地上,不是只有石油和沙漠。
p>
<p>
又一届世界杯,梅西和C罗没有辜负球迷的期待,他们如约而至。
p>
<p>俄罗斯世界杯后,梅西与C罗的职业生涯都发生了不少变化,前者离开巴塞罗那,后者辗转回到曼联。
不可否认,随着年龄的增长,两人的状态都出现了不同程度的下滑。但在卡塔尔的草皮,他们依然是最受关注的球星。
两人功勋卓著,世界杯是他们荣誉簿上的最后拼图。梅西已经明确表态这是他最后一次世界杯了,考虑到C罗的年龄,
他的世界杯经历也很有可能在卡塔尔画下句号,这一次,他们能圆梦吗?
p>
<p>
梅西与C罗孰强孰弱的话题被球迷讨论了十几年仍无定论,如果他们其中一人能在12月18日的卢塞尔球场站上世界之巅,
“绝代双骄”这个名词就将成为历史。
p>
展示结果:
如果懒得在网上找文本内容进行测试的话,使用lorem + tab键可以生成一个随机的比较长的字符串
注意:
br 是 break 的缩写,表示换行
<p>又一届世界杯,梅西和C罗没有辜负球迷的期待,他们如约而至。<br/>
俄罗斯世界杯后,梅西与C罗的职业生涯都发生了不少变化,前者离开巴塞罗那,后者辗转回到曼联。
不可否认,随着年龄的增长,两人的状态都出现了不同程度的下滑。但在卡塔尔的草皮,他们依然是最受关注的球星。
两人功勋卓著,世界杯是他们荣誉簿上的最后拼图。梅西已经明确表态这是他最后一次世界杯了,考虑到C罗的年龄,
他的世界杯经历也很有可能在卡塔尔画下句号,这一次,他们能圆梦吗?
p>
展示结果:
加粗: strong 标签 和 b 标签
倾斜: em 标签 和 i 标签
删除线: del 标签 和 s 标签
下划线: ins 标签 和 u 标签
<strong>strong 加粗strong>
<b>b 加粗b>
<em>倾斜em>
<i>倾斜i>
<del>删除线del>
<s>删除线s>
<ins>下划线ins>
<u>下划线u>
使用 CSS 也可以完成类似的效果。实际开发中以 CSS 方式为主
img 标签必须带有 src 属性,表示图片的路径
<img src="D:\360downloads\wpcache\srvsetwp\png1.jpg">
src为图片的路径,除了可以是本地路径外,还可以是网路路径
<img src="https://profile.csdnimg.cn/6/A/D/1_qq_56044032">
img 标签的其他属性
alt: 替换文本,当文本不能正确显示的时候, 会显示一个替换的文字
title: 提示文本,鼠标放到图片上,就会有提示
width/height: 控制宽度高度,高度和宽度一般改一个就行,另外一个会等比例缩放,否则就会图片失衡
border: 边框,参数是宽度的像素,但是一般使用 CSS 来设定
<img src="D:\360downloads\wpcache\srvsetwp\png1.jpg" alt="壁纸" title="这是一张壁纸" width="400px" height="200px" border="5px">
如果同时设置宽度和高度,可能会导致图片本身的比例失衡
如果只设置宽度/高度,另一个维度就会自动的等比例缩放
注意:
href:必须具备,表示点击后会跳转到哪个页面
target:打开方式,默认是 _self,如果是 _blank 则用新的标签页打开
<a href="https://blog.csdn.net/qq_56044032">你好,冯同学a>
链接的几种形式:
外部链接:
href 引用其他网站的地址
<a href="https://blog.csdn.net/qq_56044032">你好,冯同学a>
内部链接:
网站内部页面之间的链接,写相对路径即可
我是 1.html
<a href="2.html">点我跳转到 2.htmla>
我是 2.html
<a href="1.html">点我跳转到 1.htmla>
空链接:
使用 # 在 href 中占位
<a href="#">空链接a>
下载链接:
href 对应的路径是一个文件(可以使用 zip 文件)
<a href="test.zip">下载文件a>
网页元素链接:
可以给图片等任何元素添加链接(把元素放到 a 标签中)
<a href="https://blog.csdn.net/qq_56044032">
<img src="D:\360downloads\wpcache\srvsetwp\png1.jpg" alt="">
a>
锚点链接:
可以快速定位到页面中的某个位置
<a href="#one">第一集a>
<a href="#two">第二集a>
<a href="#three">第三集a>
<p id="one">
第一集剧情 <br>
第一集剧情 <br>
...
p>
<p id="two">
第二集剧情 <br>
第二集剧情 <br>
...
p>
<p id="three">
第三集剧情 <br>
第三集剧情 <br>
...
p>
禁止 a 标签跳转: 或者
table 标签: 表示整个表格
tr: 表示表格的一行
td: 表示一个单元格
th: 表示表头单元格,会居中加粗
thead: 表格的头部区域(注意和 th 区分,范围是比 th 要大的)
tbody: 表格得到主体区域
table 包含 tr,tr 包含 td 或者 th
<table>
<tr>
<th>姓名th>
<th>性别th>
<th>年龄th>
tr>
<tr>
<td>冯同学td>
<td>男td>
<td>21td>
tr>
<tr>
<td>二少td>
<td>男td>
<td>21td>
tr>
<tr>
<td>何大脸td>
<td>女td>
<td>21td>
tr>
table>
如果不加任何属性,看到的表格是非常"原始"的表格
表格标签有一些属性,可以用于设置大小边框等。但是一般使用 CSS 方式来设置
这些属性都要放到 table 标签中
在table中加了一些属性,再来看效果:
<table align="center" border="1" cellpadding="20" cellspacing="0" wight="500" height="500">
主要是用来布局的,整齐好看
无序列表: ul li , .
有序列表: ol li
自定义列表: dl (总标签) dt (小标题) dd (围绕标题来说明) 上面有个小标题, 下面有几个围绕着标题来展开的
元素之间是并列关系
ul/ol 中只能放 li 不能放其他标签,dl 中只能放 dt 和 dd
li 中可以放其他标签
列表带有自己的样式,可以使用 CSS 来修改(例如前面的小圆点都会去掉)
<h3>无序列表h3>
<ul>
<li>三玖li>
<li>四叶li>
<li>五月li>
ul>
<h3>有序列表h3>
<ol>
<li>三玖li>
<li>四叶li>
<li>五月li>
ol>
<h3>自定义列表h3>
<dl>
<dt>动漫人物dt>
<dd>三玖dd>
<dd>四叶dd>
<dd>五月dd>
dl>
表单标签,是用户和页面之间交互的重要手段,大部分的html标签都是给用户"展示",表单标签,是让用户来"输入内容",比如:文本域(textarea)、下拉列表(select)、单选框(radio-buttons)、复选框(checkbox) 等等。
表单标签分成两个部分:
- 表单域: 包含表单元素的区域,重点是 form 标签
- 表单控件: 输入框,提交按钮等,重点是 input 标签
form 标签
以下实例创建了一个表单,包含两个输入框:
<form action="">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
form>
以下实例创建了一个表单,包含一个普通输入框和一个密码输入框:
<form action="">
Username: <input type="text" name="user"><br>
Password: <input type="password" name="password">
form>
input 标签
各种输入控件,单行文本框,按钮,单选框,复选框
type(必须有),取值种类很多多,button,checkbox,text,file,image,password,radio 等.
name: 给 input 起了个名字。尤其是对于单选按钮,具有相同的 name 才能多选一
value: input 中的默认值
checked: 默认被选中(用于单选按钮和多选按钮)
maxlength: 设定最大长度
文本框
文本框通过 标签来设定,当用户要在表单中键入字母、数字等内容时,就会用到文本框
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
form>
注意:表单本身并不可见。同时,在大多数浏览器中,文本框的默认宽度是 20 个字符
密码框
密码字段通过标签 来设定
<form>
Password: <input type="password" name="pwd">
form>
注意:密码字段字符不会明文显示,而是以星号 * 或圆点 . 替代
单选框
标签定义了表单的单选框选项
<form action="">
<input type="radio" name="sex" id="male">
<label for="male">男label><br>
<input type="radio" name="sex" id="female">
<label for="female">女label>
form>
复选框
定义复选框,复选框可以选取一个或多个选项
<form>
<input type="checkbox" name="vehicle" value="Bike">我喜欢C++<br>
<input type="checkbox" name="vehicle" value="Car">我喜欢Java
form>
普通按钮
定义普通按钮
<input type="button" value="我是个按钮">
提交按钮
定义了提交按钮。
当用户单击确认按钮时,表单的内容会被传送到服务器。表单的动作属性 action 定义了服务端的文件名
action 属性会对接收到的用户输入数据进行相关的处理
<form name="input" action="#" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
form>
method 属性:
post:指的是 HTTP POST 方法,表单数据会包含在表单体内然后发送给服务器,用于提交敏感数据,如用户名与密码等
get:默认值,指的是 HTTP GET 方法,表单数据会附加在 action 属性的 URL 中,并以 ?作为分隔符,一般用于不敏感信息,如分页等
清空按钮
清空按钮必须放在 form 中,点击后会将 form 内所有的用户输入内容重置
<form action="#">
<input type="text" name="username">
<input type="submit" value="提交">
<input type="reset" value="清空">
form>
选择文件
点击选择文件,会弹出对话框,选择文件
<input type="file">
label 标签
搭配 input 使用。点击 label 也能选中对应的单选/复选框,能够提升用户体验
for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应(此时点击才是有用的)
<input type="radio" name="sex" id="male">
<label for="male">男label><br>
select 标签
option 中定义 selected=“selected” 表示默认选中
<select>
<option>北京option>
<option selected="selected">上海option>
<option>天津option>
<option>重庆option>
select>
textarea 标签
<textarea rows="3" cols="50">冯同学,你好textarea>
文本域中的内容,就是默认内容,注意:空格也会有影响。rows 和 cols 也都不会直接使用,都是用 css 来改的
div标签
提示:
span标签
用于对文档中的行内元素进行组合。它是行内元素
标签没有固定的格式表现。当对它应用样式时,它才会产生视觉上的变化。如果不对 应用样式,那么 元素中的文本与其他文本不会任何视觉上的差异。
标签提供了一种将文本的一部分或者文档的一部分独立出来的方式。
提示:被 元素包含的文本,您可以使用 CSS 对它定义样式,或者使用 JavaScript 对它进行操作