HTML
1.什么是html:
html(Hyper Text Markup Language)指的是超文本标记语言,它是用来描述网页的一种语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。
所谓超文本,就是它可以加入图片、声音、动画、多媒体等内容,超越了文本限制;它还可以从一个文件跳转到另一个文件,与世界各地主机的文本链接。
Web标准:
Web标准是由W3C(万维网联盟)组织和其他标准化组织制定的一系列标准的集合。
在符合标准的网页设计中,html、css、javascript 并列称为网页前端设计的 3 种基本语言,其中:
1.html负责构建网页的基本结构;
2.css负责设计网页的表现效果;
3.javascript负责开发网页的交互效果。
2.VSCode:
下载官网:https://code.visualstudio.com/
下载安装教程:https://zhuanlan.zhihu.com/p/342467129
插件:
1.chinese:简体中文包。
2.open in browser:VSCode的常用插件,它的作用是可以把编辑的html文件等用浏览器打开,查看效果。
3.auto rename tag:在修改标签名时,能在你修改开始(结束)标签的时候修改对应的结束(开始)标签。
4.live server:模拟服务器的方式打开页面;代码改动后,会自动刷新页面。
区别:open in browser需要手动保存代码,而live server会自动保存代码;
live server只能在默认浏览器打开,open in browser可以在其他浏览器打开。
详情请查看https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans
3.标签:
1.1:文档类型声明标签:
<!DOCTYPE html>
作用是告诉浏览器使用哪种版本来显示网页,当前语句表明页面采取的是html5版本来显示页面。
注意:
1.<!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。
2.<!DOCTYPE>不是一个html标签,它就是文档类型声明标签。
1.2:lang—定义语言:
作用是定义当前文档显示的语言。
1.en定义语言为英语。
2.zh-CN定义语言为中文。
其实对于文档显示来说,定义成en的文档也可以显示中文,定义成ch-CN的文档也可以显示英文。
详情请查看:https://blog.csdn.net/shenenhua/article/details/79150053
1.3:基本结构标签:
标签名 | 定义 | 说明 |
---|---|---|
<html></htlml> | html标签 | 页面中最大的标签,我们成为根标签。 |
<head></body> | 文档的头部 | 注意在head标签中我们必须要设置的标签是title。 |
<title></title> | 文档的标题 | 让页面拥有一个网页标题。 |
<body></body> | 文档的主题 | 元素包含文件的所有内容,页面的内容基本都是放到body里面的。 |
1.4:父标签、子标签、兄弟标签:
1.父子关系(嵌套关系):
父子关系就是在一个双标签内嵌套其他元素,那么嵌套在其中的元素就相当于“子”,其外层元素相当于“父”。
2.兄弟关系(并列关系)
兄弟关系就是在“父标签”内有多个并列的元素,这些并列的元素之间就是兄弟关系。
1.5:标题标签:
html提供了6个等级的网页标题,即<h1>-<h6>。
<h1>我是一级标题</h1>
特点:
1.加了标题的文字会变的加粗,字号也会依次变大。
2.一个标题独占一行。
1.6:段落标签:
在html标签中,<p>标签用于定义段落,它可以将网页分为若干个段落。
<p>我是一个段落标签</p>
特点:
1.文本在一个段落中会根据浏览器窗口的大小自动换行。
2.段落与段落之间保有空隙。
1.7:换行标签:
在html中,一个段落中的文字会从左到右依次排行,直到浏览器窗口的右端,然后才自动换行。如果希望某段文本强制换行显示,就需要使用换行标签<br />。
<br />
特点:
1.<br />是个单标签。
2.<br />标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
1.8:文本格式化标签:
语义 | 标签 |
---|---|
加粗 | <strong></strong>或者<b></b> |
倾斜 | <em></em>或者<i></i> |
删除线 | <del></del>或者<s></s> |
下划线 | <ins></ins>或者<u></u> |
说明:建议使用前者。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件格式化标签</title>
</head>
<body>
我是<strong>加粗</strong>的文字<br />
我是<b>加粗</b>的文字<br />
我是<em>倾斜</em>的文字<br />
我是<i>倾斜</i>的文字<br />
我是<del>删除线</del>文字<br />
我是<s>删除线</s>文字<br />
我是<ins>下划线</ins>文字<br />
我是<u>下划线</u>文字<br />
</body>
</html>
1.9:列表标签:
(1)、无序列表
<ul>标签标识html页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。
<ul>
<li></li>
<li></li>
<li></li>
</ul>
1.无序列表的各个列表项之间没有顺序之分,是并列的。
2.<ul></ul>中只能嵌套<li></li>,直接到<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
3.<li>与</li>之间相当于一个容器,可以容纳所有元素。
4.无序列表会带有自己的样式属性,但在实际使用时,我们会使用css来设置。
(2)、有序列表
在html标签中,<ol>标签用于,列表排序以数字来显示,并且使用<li>标签来定义列表项。
<ol>
<li></li>
<li></li>
<li></li>
</ol>
1.<ol></uo>中只能嵌套<li></li>,直接到<ol></ol>标签中输入其他标签或者文字的做法是不被允许的。
2.<li>与</li>之间相当于一个容器,可以容纳所有元素。
3.无序列表会带有自己的样式属性,但在实际使用时,我们会使用css来设置。
(3)、自定义列表
使用场景:自定义列表常用于对术语或名词进行解释和描述,定义列表项前没有任何项目符号。
在html标签用于定义描述列表(或定义列表),该标签会与<dt>(定义项目/名字)和<dd>(描述每一个项目/名字)一起使用。
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
<dt>名词2</dt>
<dd>名词2解释1</dd>
<dd>名词2解释2</dd>
</dl>
(4)、去掉li前面的小圆点
list-style:none;
2.0:图像标签:
在html标签中,<img>标签去用于定义html页面中的图像。
<img src="图像URL"/>
src是<img>标签的必须属性,它用于指定图像文件的路径和文件名。
属性 | 属性值 | 说明 |
---|---|---|
src | 图片路径 | 必须属性。 |
alt | 文本 | 替换文本。图像不能显示的文字。 |
title | 文本 | 提示文本。鼠标放在图像上显示的文字。 |
width | 像素 | 设置图像的宽度。 |
height | 像素 | 设置图像的高度。 |
border | 像素 | 设置图像的边框粗细。 |
注意:
1.width与height只设置一个的时候,另一个会等比例改变。
2.当width与height同时设置的时候,图片的大小会被强行改变。
3.建议只改变图片的宽或高。
图像标签属性注意点:
1.图像标签可以拥有多个属性,必须写在标签名的后面。
2.属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
3.属性采用键值对的格式,即key="value"的格式,属性=“属性值”。
相对路径:
以引用文件所在位置为参考基础,而建立出的目录路径。简单来说就是图片相对于html页面的位置。
相对路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 图像文件位于html文件同一级,eg:<img src=“oldman.gif” />。 | |
下一级路径 | / | 图像文件位于html文件下一级,eg:<img src=“images/sidman.gif” />。 |
上一级路径 | …/ | 图像文件位于html文件上一级,eg:<img src="…/oldman.gif />。 |
绝对路径:
是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。eg:“C:\Users\A2331\Desktop\html\images\oldman.jpg"或完整的网络地址"http://127.0.0.1:5500/images/oldman.jpg”。
2.1:链接标签:
在html中,<a>标签用于定义超链接,作用是从一个页面链接到另一个页面。
注:在实际开发中,我们不会直接使用链接a,而是用li包含链接(li+a)的做法。li+a更清晰,一看就是有条理的列表型内容;如果直接用a,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字有被搜索引擎降权的风险),从而影响网站排名。
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
href(必须属性):用于指定链接目标的url地址,当为标签应用href属性时,它就具有了超链接的功能。
target:用于指定链接页面的打开方式,其中_self为默认值,在当前窗口打开,_blank为在新窗口打开。
链接方式:
1.外部链接:eg:<a href=“http://www.baidu.com”>百度</a>。
2.内部链接:eg:<a href=“index.html”>首页</a>。
3.空链接:eg:<a href=“#”>首页</a>。
4.下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。
5.网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接。
锚点链接:
当我们点击链接,可以快速定位到页面中的某个位置。
- 在链接文本的href属性中,设置属性值为#名字的形式,eg:<a href="two">第2集</a>
- 找到目标位置标签,里面添加一个id属性=刚才的名字,eg:<h3 href="two">第2集介绍</h3>
2.2:特殊字符:
在html页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用特殊字符替代。
更多字符可参考:link
注释:
以"<!–“开头,以”–>"结束,或者使用快捷键Ctrl+/。
2.3:表格标签:
1.<table></table>用于定义表格的标签。
2.<tr></tr>标签用于定义表格中的行,必须嵌套在<table></table>标签中。
3.<td></td>用于定义表格中的单元格,必须嵌套在<tr></tr>标签中。
表头单元格标签:
一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示。<th>标签表示html表格的表头部分。
表格属性:
属性名 | 属性值 | 描述 |
---|---|---|
align | left、center、right | 规定表格相对周围元素的对齐方式。 |
border | 1或"" | 规定单元格是否拥有边框,默认为"",表示没有边框。 |
cellpadding | 像素值 | 规定单元边沿与其内容之间的空白,默认1像素。 |
cellspacing | 像素值 | 规定单元格之间的空白,默认2像素。 |
width | 像素值或百分比 | 规定单元格的宽度。 |
height | 像素值 | 规定单元格的宽度。 |
表格结构标签:
使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主题两大部分。
在表格标签中,分别用:<thead>标签表格的头部区域、<tbody>表示表格的主题区域,这样可以更好的分清表格结构。
特点:
1.thead:用于定义表格的头部就,<thead>内部必须拥有<tr>标签,一般是位于第一行。
2.tbody:用于定义表格的主题,主要用于存放数据本体。
3.以上标签都是放在<table></table>标签中。
合并单元格:
合并方式:
1.跨行合并:rowspan=“合并单元格的个数”。
2.跨列合并:colspan=“合并单元格的个数”。
合并步骤:
1.先确定是跨行还是跨列合并。
2.找到目标单元格(跨行:最上侧单元格为目标单元格;跨列:最左侧为目标单元格),写上合并方式=合并的单元格数量。
3.删除多余的单元格。
2.4:表单标签:
在html中,一个完整的表单通常由表单域、表单控件(也称表单元素)和提示信息3个部分组成。
表单域:
在html标签中,<form>标签用于定义表单域,<form>会把它范围内的表单元素信息提交给服务器。
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接受并处理表单数据的服务器程序的url地址。 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单域。 |
表单控件:
1.<input>表单元素:
在html中,<input>标签用于收集用于信息。在<input>标签中,包含一个type属性,根据不同的type属性,根据不同的type属性值,输入字段拥有更多中形式(可以是文本字段,复选框,掩码后的文本文件、单选按钮、按钮等)。
<input type="属性值" />
- <input />标签为单标签。
- type属性设置不同的属性值用来指定不同的控件类型。
属性值 | 描述 |
---|---|
button | 定义可点击的按钮(多数情况下,用于通过JavaScript启动脚本)。 |
checkbox | 定义复选框 |
file | 定义输入字段和“浏览”按钮,供文件上传。 |
hidden | 定义隐藏的输入字段。 |
image | 定义图像形式的提交按钮。 |
password | 定义密码字段。该字段中的字符被掩码。 |
radio | 定义单选按钮。(name定义表单元素的名字,单选按钮具有相同的名字,才可以实现多选一。) |
reset | 定义重置按钮。重置按钮会清除表单中的所有数据。 |
submit | 定义提交按钮.提交按钮会把表单数据发送到服务器。 |
text | 定义单行的输入字段,用户可在其中输入文本.默认宽度为20个字符。 |
属性 | 属性值 | 描述 |
---|---|---|
type | text、password… | 设置不同的属性值用来指定不同的控件类型。 |
name | 由用户自定义 | 定义input元素的名称。 |
value | 由用户自定义 | 规定input元素的值。 |
checked | checked | 规定此input元素首次加载时应当被选中。 |
maxlength | 正整数 | 规定输入字段中的字符的最大长度。 |
- name和value是每个表单元素都有的属性值。
- name是表单元素的名字,要求单选按钮和复选框要有相同的名字。
- checked属性主要针对单选按钮和复选框,主要作用是一打开页面,就可以默认选中某个表单元素。
- maxlength是用户可以在表单元素输入的最大字符数,一般较少使用。
2.<label>标签:
<label>标签为input元素定义标注。<label>标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
注意:<label>标签的for属性要与相关元素的id属性相同。
3.<select>表单元素:
在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用<select>标签控件定义下拉标签。
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
</select>
- <select>中至少包含一对<option>。
- 在<option>中定义<select>="select"时,当前项即为默认选中项。
<textarea row="3" cols="20">
文本内容
</textarea>
- cols=“每行中的字符数”,rows=”显示的行数“,在实际情况中一般不会使用,都是用css来改变大小。
2.5<div>和<span>标签:
<div>和<span>是没有语义的,它们就是一个盒子,用来装内容的。
<div>这是头部</div>
<span>百度</span>
<span>搜狗</span>
<span>夸克</span>
div是division的缩写,表示分割、分区,span意为跨度、跨区。
特点:
1.<div>是一个大盒子,一行只能放一个。
2.<span>是一个小盒子,一行上可以放多个。
<div>标签的属性值详情:https://blog.csdn.net/shanliangliuxing/article/details/7681007
Chrome调试工具
Chrome浏览器提供了一个风场好用的调试工具,可以用来调试我们的html结构和css样式。
- Ctrl+滚轮可以放大开发者工具代码大小。
- 左边是html元素结构,右边是css样式。
- 右边css样式可以改动数值(左右箭头或者直接输入)和查看颜色。 Ctrl+o复原浏览器大小。
- 如果点击元素,发现右侧没有样式引入,极有可能是类名或者样式引入错误。
- 如果有样式,但是样式前面有黄色叹号提示,则是样式属性书写错误。
Emmet语法
Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法。
1.快速生成html结构语法
- 生成标签:直接输入标签名,按tab键即可。比如:输入div,然后按tab键,就可以生成<div></div>。
- 如果想要生成多个相同的标签,加上*就可以了。比如:div*3就可以快速生成3个div。
- 如果有父子级关系的标签,可以用>。比如:ul>li就可以生成<ul><li></li></ul>。
- 如果有兄弟关系的标签,用+就可以了。比如:div+p就可以生成<div></div><p></p>。
- 如果生成带有类名和id名的标签,可以写.demo或者#two tab键就可以了。(默认生成div标签)
- 如果生成的div类名是有顺序的,可以用自增符号$。
- 如果想要在生成的标签内部写内容可以用{}表示。
2.快速生成css样式语法
css基本采用简写形式即可,即只输入相应单词的首字母。
3.快速格式化代码
1.shift+alt+f
2.也可以设置当我们保存页面的时候自动格式化代码:- 文件---首选项---设置;
- 搜索emmet.include;
- 在setting.json下的【用户】中添加以下语句:
“editor.formatOnType”:true
“editor.formatOnSave”:truesnipaste
snipaste是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上。
常用快捷方式:- f1 可以截图,同时测量大小,设置箭头,书写文字等;
- f3 在桌面置顶显示;
- 点击图片,alt可以取色(按下shift可以切换取色模式);
- 按下esc取消图片显示。