来源于黑马pink老师的视频内容学习,做的文字笔记,方便自己查阅复习,也方便大家一起翻阅查询学习.
文本格式化标签
加粗
<strong>文本</strong>或者<b>文本</b> 推荐使用第一个,语义更强烈
倾斜
<em>文本</em>或者<i>文本</i> 推荐使用第一个,语义更强烈
删除线
<del>文本</del>或者<s>文本</s>推荐使用第一个,语义更强烈
下划线
<ins>文本</ins>或者<u>文本</u>推荐使用第一个,语义更强烈
<div>和<span>标签 这两个标签是没有语义的 类似与盒子,用来装内容:图片,文字等等
<div>内容</div> <span>内容</span>
div是division的缩写,表示分割,分区.span意为跨度,跨距.
特点
<div>一行只允许存在这一个其中的内容,可写多行<div> 大盒子
<span>是一行上显示这个内容 小盒子
图像标签
在HTML标签中,<img>标签用于定义HTML页面的图像
image :图像
格式:<img src="路径" /> src是标签的必须属性,用于指定图像文件的路径和文件名
属性:属于这个图像的特性
alt:替换文本
<img src ="路径" alt="文本" />
alt用于文字说明,解释此处是图片 适用于纯文本浏览器的阅读者 方便其阅读网页内容
title:提示文本 鼠标放到图像上提示的文字
<img src ="路径" alt="文本" title="提示内容" />
width:图像的宽度
height:图像的高度
格式:width="数值" height="数值"
一般情况下,修改其中一个就可以
border:设置图像边框粗细 格式:border="数值" 边框可以修改颜色 ,后面会提到
图像标签注意点:
图像标签可以拥有多个属性,必须写在标签名后面
属性之间不分先后,标签名与属性,属性与属性之间均以空格分开
属性采取键值对的格式 即:属性="属性值"
请思考:
图像标签哪个属性是必须写的?
alt和title的区别
路径
目录文件,根目录
路径可以分为:
相对路径
意:以引用文件所在位置为参考基础,而建立出的目录路径
图片相对于HTML页面的位置
同一级路径:
格式:<img src ="路径" />
下一级路径:
格式:<img src="路径 />
上一级路径:
格式:<img src="../路径" />
绝对路径
意:目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
格式:<img src="D:\web\...\.. /> 或者 完整网络地址 <img src="www.1111.com"/>
链接标签
重点:超链接标签
<a>用于定义超链接标签,作用:从一个页面链接到另一个页面
链接的格式
<a href="跳转目标" target="目标窗口的弹出方式"> 文本或者图像 </a>
href:用于指定链接目标的地址,当属性为href时,就具备了超链接的功能
target:用于连接页面的打开方式,其中_self为默认值 在当前窗口打开方式,_blank为在新窗口打开方式
链接的分类
外部链接
<a href ="www.baidu.com">百度</a>
内部链接
网站内部页面之间的相互链接,直接内部页面名称即可:<a href="地址.html">首页</a>
空链接:<a href="#">内容</a>
下载链接
如果href里面地址是一个文件.exe或者压缩包.zip,会下载这个文件
<a href="地址">内容</a>
网页元素链接
在网页中各种网页元素,如文本,图像,表格,音频,视频等等都可以添加超链接
<a href="地址"<文本,图像,表格,音频,视频等等的链接></a>
锚点链接
点击链接,快速定位到页面中的某个位置
在链接文本属性中,设置属性值为#名字的形式,如:<a href="#t">1</a>
找到目标位置标签,里面添加一个id属性=刚才的名字,如:<h3 id="t">1介绍</h3>
注释标签
以"<!--"开头,"-->"结束
格式:<!-- 注释内容 -->快捷键:ctrl+/ 可自动生成或者取消这个标签
养成良好的注释习惯,便于开发人员的理解与阅读代码,程序不会执行注释内容
特殊标签
在开发页面中,一些特殊符号很难或者不方便直接使用,这里就可以使用字符代替
![](https://i-blog.csdnimg.cn/blog_migrate/c6102d1d26bd4ad563d5fa658f9d4461.png)
表格标签
表格是实际开发中常用的标签
表格主要展示,显示数据,可以让数据规整,可读性好
基本语法:
<table>
<tr>
<td>单元格内的内容</td>
.....
</tr>
..........
</table>
<table></table>是用于定义表格的标签
<tr> </tr>标签用于定义表格中的行,必须在<table></table>标签里面
<td></td>用于定义表格中单元格的内容,必须在<tr> </tr>标签里面
td:table data ,就是单元格的内容
表头单元格标签:一般表头单元格位于表格的第一行或第一列,表头单元格里面的内容加粗居中显示
<th>标签表示HTML表格的表头部分<table head>的缩写
格式:
<table>
<tr>
<th>内容</th>
.....
</tr>
..........
</table>
表格属性
表格标签这部分属性在实际开发中并不常用,后面通过CSS来设置
目的:
记住这些英语单词
直观感受表格的外观形态
![](https://i-blog.csdnimg.cn/blog_migrate/bb632792f10e657159d8b156432433d3.png)
这些属性要写到表格标签table里面去
任务:尝试做一个排行表格
表结构标签
在实际场景中,因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成 表格头部 和 表格主体 两大部分
在表格标签中:分别用:<thead>标签 表示表格的头部区域,<tbody>标签 表示表格的主体区域 这样可以方便分清表格结构
<thead></thead>:用于定义表格的头部。<thead>内部必须拥有<tr>标签,一般位于第一行
<tbody></tbody>:用于定义表格的主体,主要用于放数据本体
以上标签都是放在<table></table>标签中
合并单元格
特殊情况下,可以把多个单元格合并为一个单元格
合并单元格方式
跨行合并:rowspan="合并单元格的个数"
跨列并列:colspan="合并单元格的个数"
目标单元格(写合并代码)
跨行:最上侧单元格为目标单元格,写合并代码
跨列:最左侧单元格为目标单元格,写合并代码
合并单元格步骤
三部曲:1.先确定是跨行还是跨列合并
2.找到目标单元格,写上合并方式=合并的单元格数量.eg:<td rowspan="2"></td>
3.删除多余的单元格
表格总结:三大部分
表格的相关标签
表格的相关属性
合并单元格
列表标签
表格是用来显示数据的,列表就是用来布局的
列表的最大特点:整齐,整洁,有序
列表可以分为三大类:无序列表,有序列表,自定义列表
无序列表(重点)
<ul>标签表示HTML页面的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义
语法:
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
....
</ul>
无序列表各个列表项之间没有顺序级别之分,是并列的
<ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不允许的
<li>和</li>之间相当于一个容器,可以容纳所有元素
无序列表会带有自己的样式属性,但在实际使用时,我们通过CSS来设置
有序列表(理解)
排有顺序的列表,其各个列表项会按照一定的顺序来定义
<ol>标签用于定义有序列表,列表排序以数字显示,并使用<li>标签来定义列表项
语法:
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
....
</ol>
<ol></ol>中只能嵌套<li></li>,直接在<ol></ol>标签中输入其他标签或者文字的做法是不允许的
<li>和</li>之间相当于一个容器,可以容纳所有元素
有序列表会带有自己的样式属性,但在实际使用时,我们通过CSS来设置
自定义标签(重点)
使用场景:通常用于对术语或者名词进行解释或者描述,定义列表项前没有任何项目符号
<dl>标签用于定义描述列表(或定义列表),该标签,会与<dt>(定义项目/名字)和<dd>(描述每一个项目名字)一起使用
语法:
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
<dl></dl>里面只能包含<dt>和<dd>
<dt>和<dd>个数没有限制,经常是一个<dt>对应多个<dd>
列表总结
![](https://i-blog.csdnimg.cn/blog_migrate/f079fce4deb4c03160d6b600204c27bb.png)
注意:
学会什么时候用无序列表,什么时候用自定义列表
无序列表和自定义列表代码怎么写
列表布局在学习完css后再来完成
表单标签
为什么需要表单
使用表单方便收集用户信息
表单的组成
表单域,表单控件(表单元素),提示信息
表单域:包含表单元素的区域 <form>用于定义表单域,以实现用户信息的收集和传递
<form>会把他范围内的表单元素信息提交给服务器
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
常用属性:
![](https://i-blog.csdnimg.cn/blog_migrate/4e5bd53db1ee4f1220d111a941294531.png)
表单控件
在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的控件
input输入表单元素
<input>标签用于收集用户信息
语法:
<input type="属性值" /> 属性值的不同,输入字段拥有很多形式(文本,复选框,文本控件,单选按钮,按钮等等)
这个标签为单标签
type可取的值如下:
![](https://i-blog.csdnimg.cn/blog_migrate/7bfb5960f0de06fcb8c2b099c7586529.png)
eg:
![](https://i-blog.csdnimg.cn/blog_migrate/22e4425dc16ccd5d52d78119f6446c8c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27f05efcc11c856b9bb8c4de649a18fa.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3fe198509f5fb02d24652714c66a3d58.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b20c7052f805916f2b58b36b54be3ae7.png)
radio:单选按钮 实现多选一
注意:name是表单元素名字,实现多选一时,必须拥有相同的name,才可以实现 eg:
![](https://i-blog.csdnimg.cn/blog_migrate/8345c64520819fe343117bfc8be0bc6a.png)
这里的name都是sex
效果图:
![](https://i-blog.csdnimg.cn/blog_migrate/488587237eddcc5a38df326dbec10d95.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3be16a6ad10eea65df5cc2d51541f109.png)
这里只可以在一个圆圈里面进行选择,如果没有相同的name或者没有写name,那么导致的结果就是,两个可以同时选择
所以在实现需要选择的框中,不论是单选或者复选框,最好都加上相同的name="这里面的文字自己随便取",这样代码才算完整
name和value是每个表单元素都有的属性值,主要给后台人员使用
name表单元素的名字,要求单选按钮和复选框要求有同样的name值
checked属性主要针对单选按钮和复选框,主要作用于一打开页面,就可以默认选中某个表单元素
maxlenghts用户在表单元素输入的最大字符数
任务:把属性都敲一遍,感受一下
label标签
<label>标签为input元素定义标注
此标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用于增加用户体验
语法:
<label for="sex">男</label>
<input type="radio" name="sex" id="sex" />
核心:<label>标签的for属性应当与id属性相同
select下拉表单元素
使用场景:在页面中,如果有多个选择让用户选择,并且想要节约页面空间时,我们可以使用这个标签空间定义下拉列表
语法:
<select>
<option>选项一</option>
<option>选项二</option>
<option>选项三</option>
......
</select>
<select>中至少包含一对<option>
在<option>中定义selected="selected"时,默认选中项
textarea文本域表单元素
使用场景:当用户输入内容过多时,就不能使用文本框表单了,此时用这个控件
在表单元素中,此标签用于定义多行文本输入的控件
语法:
<textarea rows="5" cols="20">
文本内容
</textarea>
通过<textarea>标签可以轻松的创建多行文本输入框
cols="每行中的字符数",rows="显示的行数",在我们的开发中不会使用,都是通过css来改变大小
综合案例
所用知识:
表格标签
列表标签
表单标签
查阅文档
css
css简介
CSS是层叠样式表(Cassadading Style Sheets)的简称或者称为CSS样式表或者级联样式表
CSS也是一种标记语言
CSS主要用于设置HTML页面中的文本内容(字体大小,内容大小,对齐方式等)、图片的外形(宽高、边框样式、边距)等等以及页面的排版布局和外观显示样式.
CSS最大的价值:由HTML专注去做架构呈现,样式交给CSS,即结构和样式相互分离
CSS语法规范
![](https://i-blog.csdnimg.cn/blog_migrate/618b93f35e9295fb958e9f816c16ae19.png)
规范书写:
通常CSS是写在<head></head>的里面
在<head></head>里面加上<style></style>,在这里面书写
eg:
修改颜色
![](https://i-blog.csdnimg.cn/blog_migrate/6c1e43802a746bd3d7443ccca82f85a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65e8dc96be1a409e2607f9669e4f7c95.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96ecd2f9ede9fbff41b3767bdbe7b084.png)
![](https://i-blog.csdnimg.cn/blog_migrate/94ebb4722866f09a620dc9482971ea88.png)
选择器是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式
属性和属性值以"键值对"的形式出现
属性是指指定对象设置的样式属性,如字体颜色,文本颜色,字体大小等等
属性和属性值之间以英文的 ":" 分开
多个"键值对"之间用英文的 ";" 区分
CSS代码风格
样式格式书写
![](https://i-blog.csdnimg.cn/blog_migrate/9fd7dde3a2ed33aa791e0d56c52f40a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/34a36b1fbeb26ef140bfd1903e8d4d94.png)
推荐第二种,更直观
2.样式大小写
![](https://i-blog.csdnimg.cn/blog_migrate/979dcfeee12c84343a17a0b29da931c0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bed026f76d7b547db84aad847f29e519.png)
推荐选择器,属性名,属性值关键字全部使用小写字母,特殊情况除外
3.空格规范
![](https://i-blog.csdnimg.cn/blog_migrate/ee7b8860d3253a0a22991e7bfcdf85fd.png)
属性值前面,冒号后面,保留一个空格
选择器(标签)和大括号中间保留空格
css基础选择器
作用:
选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用,简单来说,就是选择标签用的
![](https://i-blog.csdnimg.cn/blog_migrate/7be2f630e64ea66228d81dab606174a4.png)
选择器分类
选择器分为基础选择器和复合选择器两个大类
基础选择器:是由单个选择器构成的
基础选择器又包括:标签选择器,类选择器,id选择器和通配符选择器
标签选择器
标签选择器(元素选择器)是指用HTML名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式
![](https://i-blog.csdnimg.cn/blog_migrate/1d82d1b53343284fd85686592028dfc4.png)
作用:标签选择器可以把某一类标签全部选择出来,比如所有的<div>标签和所有的<span>标签
优点:能快速为页面中同类型的标签统一设置样式
缺点:不能设计差异化样式,只能选择全部的当前标签
类选择器
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以只用类选择器
![](https://i-blog.csdnimg.cn/blog_migrate/2fc9c8237a6f15c23a3bac8185d7bab3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/943deb159f0949b6727698ff653a6781.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5f249dcb3e4cb768ce1fb2cc785b0b5d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0732a1143a5fa16826cc8a91b36aece9.png)
类选择器在HTML中以class属性表示,在CSS中,类选择器以一个"."号显示
注意:1.类选择器使用"."(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)
2.可以理解为给这个标签起了一个名字,来表示
3.长名称或词组可以使用横线来为选择器命名
4.不要使用纯数字,中午等命名,尽量使用英文字母来表示
5.命名要有意义,尽量使别人一眼就能知道这个类名的目的
类选择器在开发中是较为常用的
案例:
![](https://i-blog.csdnimg.cn/blog_migrate/9a183d797d89d43470fa4e800f53c586.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c3dc9c6981f1dba4f7f587a6d0fd965c.png)
多类名
我们可以给一个标签指定多个类名,从而达到更多的选择目的.这些类名都可以选出这个标签.简单理解就是一个标签有多个名字.
多类名使用方式
![](https://i-blog.csdnimg.cn/blog_migrate/98c11eaa55701107459dd9562e996083.png)
在标签class属性中写多个类名.多个类名中间必须用空格分开.这个标签就可以分别具有这些类名的样式
![](https://i-blog.csdnimg.cn/blog_migrate/f68124f0f7aa5ad7949d02d1b95e3dea.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4910c076c0c097479569336a5631026c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2aa30a1ad6ca2f472a1c0830fe5f1a78.png)
4.id选择器
id选择器可以为标有特定id的HTML元素指定特定的样式
HTML元素以id属性来设置id选择器,CSS中id选择器以"#"来定义
![](https://i-blog.csdnimg.cn/blog_migrate/4bb2cc7fdc8bde3ab42f286d136d9b73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73c5137452574a6600636459d91fb9d6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/86e913f4688298eb24f1aee20d106ef1.png)
id选择器和类选择器的区别
类选择器(class)好比人的名字,一个人可以有很多名字,同一个名字也可以被多个人使用
id选择器好比人的身份证号码,全国是唯一的,不得重复
id选择器和类选择器最大的不同在于使用次数上
类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和javaScript搭配使用
5.通配符选择器
在CSS中,通配符选择器用"*"定义,他表示选取页面中所有元素(标签)
![](https://i-blog.csdnimg.cn/blog_migrate/962c3c8141f4cb9a0df06a6c7eac5a6f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/58bad66f98d674cbeab601e6cededd89.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4625da5dc0195d41ad23840c9a2f9a6f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c6796c3e1670ff59030e69546eae45fc.png)
选择器总结
![](https://i-blog.csdnimg.cn/blog_migrate/b7f738527e9d205621a12c2df2352a63.png)
css字体属性
CSS Fonts(字体)属性用于定义字体系列,大小,粗细和文字样式
字体系列
CSS使用font-family属性定义文本的字体系列
![](https://i-blog.csdnimg.cn/blog_migrate/0b73dae2cbdda416e2849f25bcfc8f63.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b879a39af26b13d7f26cebf93794238b.png)
字体大小
CSS使用font-size属性定义字体大小
![](https://i-blog.csdnimg.cn/blog_migrate/f43da9c320e7680be1653d09e3b30d86.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a976b002f2d1951865fa5c6b645cfc47.png)
标题比较特殊,可以单独设置大小,即使是处于整个页面中,也可以设置,不受整体影响
字体粗细
CSS使用font-weight属性设置文本字体的粗细
实际开发中,提倡使用数字进行表示加粗或者变细
![](https://i-blog.csdnimg.cn/blog_migrate/bb7a889555ea28f6f82055c610995a81.png)
文字样式
CSS中使用font-style属性设置文本的风格
![](https://i-blog.csdnimg.cn/blog_migrate/5741a8696e0fc5ad5b488d1943c05f4d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/133e6c1a004bc1f170fda90148a81037.png)
![](https://i-blog.csdnimg.cn/blog_migrate/16467f7e5176ae72c5f3938352c30e16.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fca8737ea95a13071400c57e2d415c71.png)
字体复合属性
![](https://i-blog.csdnimg.cn/blog_migrate/3f31b56ca2b99eadbdfec4daf5abfb8e.png)
字体属性总结
![](https://i-blog.csdnimg.cn/blog_migrate/5325502c11bf289f3dd1d197cbeb7488.png)
文本属性
文本颜色
![](https://i-blog.csdnimg.cn/blog_migrate/5ef85de6cc1323e4219e26f8219986bb.png)
开发中最常用的是十六进制
对齐文本
![](https://i-blog.csdnimg.cn/blog_migrate/1fb2099a5eaa0fbf5d4a6b32a2a63307.png)
装饰文本
![](https://i-blog.csdnimg.cn/blog_migrate/8afd40ea1b0a6b6a980f6f5c7ec5df4f.png)
重点记住下划线
文本缩进
![](https://i-blog.csdnimg.cn/blog_migrate/3a4a99ef8ef2a498478061b0d6d8979f.png)
行间距
![](https://i-blog.csdnimg.cn/blog_migrate/73d8699dad58347c1143b4cdbe407fef.png)
CSS文本属性总结
![](https://i-blog.csdnimg.cn/blog_migrate/2db3fae31caf452336c2054df1673f16.png)
css的三种样式表
按照css样式书写的位置(或者引入的方式),css样式表可以分为3大类:
行内样式表(行内式)
![](https://i-blog.csdnimg.cn/blog_migrate/8fa0c2d07b138eb10186646731d87bfd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3a0688aee519d2806d5447f5c4f9d9c7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7d05b1574937166ed695bb690d4fb40c.png)
内部样式表(嵌入式)
内部样式表(内嵌样式表)是写到html页面内部.是将所有的css代码抽取出来,单独放到一个<style>标签中
![](https://i-blog.csdnimg.cn/blog_migrate/e0579fd54ec0dcf9302e15c0a8a92caa.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f86aac6d640fa9bb298ef0fa10707dd3.png)
外部样式表(链接式)
![](https://i-blog.csdnimg.cn/blog_migrate/935fc78c6a9f41d7adc9764aae52b40a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cd41ce7564b92dcba8fe684cdb9ddbd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/12cdd6d0811ff8eda170fa186e577628.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a7fdda28faf066db8c727dfb1d6acfc5.png)
css引入方式总结
![](https://i-blog.csdnimg.cn/blog_migrate/5e345d65e55137f3dc63ffcf9864edd2.png)
Chrome调试工具
![](https://i-blog.csdnimg.cn/blog_migrate/d8791ae8691cf3d95a819ba2e424b343.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c55f55e5db086f6611a2ff215d4337bf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4ec68fd8eb195622315e6bc1845882ba.png)
Emmet语法
Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法
快速生成HTML结构语法
![](https://i-blog.csdnimg.cn/blog_migrate/35912d65f317466de2c0499acacf1976.png)
快速生成CSS样式语法
![](https://i-blog.csdnimg.cn/blog_migrate/a7fb53f9269ab9ee1fd966fed050999e.png)
自动格式化代码
保存的时候自动格式化代码
因为工具不同,所以设置不一样,自行百度即可
CSS的复合选择器
什么是复合选择器
![](https://i-blog.csdnimg.cn/blog_migrate/6129517f7fecbd12d7d60cff3370c7a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/18c060ae8941429bf935678a905fd363.png)
后代选择器(重要)
![](https://i-blog.csdnimg.cn/blog_migrate/aafe6eff44c58340e67b6d3a9f0b22f5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6449095db5e7b9c031eeeae76993f9f0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c161f493f2d648a5c5eb3cd904e0d9b.png)
子选择器(重要)
![](https://i-blog.csdnimg.cn/blog_migrate/47c4dc12cab78f22aae9efd1a74ea8ae.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a763cef17687f413a8fe9cc01a9c87d5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/77af5fe7ef83f873c56a2af440da43b1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/860651ae2b9d5cc568b24b737cf4832b.png)
并集选择器(重要)
![](https://i-blog.csdnimg.cn/blog_migrate/0165efdb3ce6b205ba8582e8251994f3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/69204fde8c949efc29ecc3bb07bc965b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db65ad216842eec864462e9d0fe96f82.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27fb3e3e192f08a75fdb700fac01844d.png)
伪类选择器
![](https://i-blog.csdnimg.cn/blog_migrate/6a0334c248b8a1ca6eab3b6f14bb954a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/85f07e8c26be59885a089b8f82d7aa45.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3a104eff2668326f553ae6fc82917c9e.png)
链接伪类选择器
![](https://i-blog.csdnimg.cn/blog_migrate/9e1cbb6241020767b773478790489749.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ec4d46b66de563a57e15f30676364e05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b4b3e2e3fe2b9ea8f3a4888558cf12cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c7b8d8624893126d450c7b0388cbc2d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4db95cda9c8a44da03ab866f31cf9210.png)
focus伪类选择器
![](https://i-blog.csdnimg.cn/blog_migrate/7051a3df24769d8c7a5cd8d640ff0241.png)
![](https://i-blog.csdnimg.cn/blog_migrate/23c4af3a69a118962f9d9f939ca8bda1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/799e95408539ece4fb721e9ed8291f2e.png)
b.复合选择器总结
![](https://i-blog.csdnimg.cn/blog_migrate/53e94cbff27362c078956a246bfb0506.png)
CSS的元素显示模式
什么是元素的显示模式
![](https://i-blog.csdnimg.cn/blog_migrate/c02419ab5090f0e6763bb3bb04049dd5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ac4e3d890a07e57c37c057286b60de05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2ed08de293df29a793fa3d81f23450c.png)
元素显示模式的分类
a.块元素
![](https://i-blog.csdnimg.cn/blog_migrate/577fa883af8c645ea7cb1beeac5a4124.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e635e4d673c10c94835f61d2eff4cb6f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ac5e5638c79a3f5a7401bbf56b742d8.png)
b.行内元素
![](https://i-blog.csdnimg.cn/blog_migrate/21368c2c01580831e6b7e758ec829c1c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/21535b56e757b881c3636d431985dec1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b7951bc54118306057af8319e3d41ee3.png)
c.行内块元素
![](https://i-blog.csdnimg.cn/blog_migrate/4d82ac5766f3312ed6cac5349d228e69.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cc3af449335a9fcd8bf063a6b845737a.png)
总结
![](https://i-blog.csdnimg.cn/blog_migrate/99b0215b55ed24ea187dc963cbccaef8.png)
3.元素显示模式的转换
![](https://i-blog.csdnimg.cn/blog_migrate/d7a2c19019b659690410173a4031ab65.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ecfcf1dccdbccad0a381d512cbdcf6ec.png)
单行文字垂直居中
css没有提供居中代码,但我们可以自己实现
![](https://i-blog.csdnimg.cn/blog_migrate/b1d0a58eead76f1c761a550f833e4cf8.png)
单行文字垂直居中的原理
![](https://i-blog.csdnimg.cn/blog_migrate/5be32388c50b22dd6f085af2e3be4b78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cff7e43b4c788abcf39d9f8565b20e06.png)
css的背景
通过css背景属性,可以给页面元素添加背景样式
![](https://i-blog.csdnimg.cn/blog_migrate/885338f38769585cd85fe87e10f17014.png)
背景颜色
![](https://i-blog.csdnimg.cn/blog_migrate/5ce084c465a258a3354c05b7849b9d51.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7ed3c75212ea536ae5c06a392e6ffc71.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f3ce54aa9cbfd7002484c0270d5fefb0.png)
背景图片
![](https://i-blog.csdnimg.cn/blog_migrate/6db3299de33bb3bf554501cb0d495743.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6e690a7163dc79d8bf9a44078fdfa2ac.png)
背景平铺
![](https://i-blog.csdnimg.cn/blog_migrate/3e4389352a566ed6c7e285b6e1e8eab2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dedbcdba958b4d175b15814f5137446.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6c99a34e56fc429322702422d2215709.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a9344a2bf85b1b38810c828009b21765.png)
背景图片位置
![](https://i-blog.csdnimg.cn/blog_migrate/5b2b79eef70fa1fdcf3de7948018a9cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7cafd42ca80ef36c932794c4d9f58c75.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cc3d752250d7134d6d2af60f9b18a8fb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ce63955770b6e4e2c9ff2f82e7ecce9f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2d0a1d3f2c928d2866718e2e3ccfe6a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e1dcdb8c277e445df37490e784a28be4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ae5ed77d546a2699537ed59f39d792a1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/237b53d3edd561c8b64e90c183c891ca.png)
背景图像固定(背景附着)
![](https://i-blog.csdnimg.cn/blog_migrate/84b6574997550c67a5f948a7d4e2e50a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8adbb960074dc4ea75126a06577c33a1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9a0157a2280d599cd8a00760a1947bab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/18189186c6976b2f60b3ea4339942a74.png)
背景复合性写法
![](https://i-blog.csdnimg.cn/blog_migrate/c4fd0b085ffcc3e50c7f6f41679b9003.png)
背景颜色半透明
![](https://i-blog.csdnimg.cn/blog_migrate/b57e89866bfc2e9f40b5fe8dae9c26d0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e845eed88c4d18201709e9429f47fee4.png)
背景总结
![](https://i-blog.csdnimg.cn/blog_migrate/9ac1e165b2faa70f8fa8a06b15920736.png)
CSS三大特性
层叠性
![](https://i-blog.csdnimg.cn/blog_migrate/e72b13ba9fced3cc0a6c06f903fc1f07.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b2523539243132b5eaca7bea2d386fc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/528656adbe012e38ddb5cd2dc813c53e.png)
上面代码中,会选择pink属性
![](https://i-blog.csdnimg.cn/blog_migrate/fafeff16ebee600e8613d5f06e31eee1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7f949923be490a6f41d4e3112c822707.png)
颜色依旧是pink属性,但是大小咩有冲突,会正常执行,大小是12px
继承性
![](https://i-blog.csdnimg.cn/blog_migrate/86401bc0542d6d18cb3a737ea01f6a7d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8ddbc3bd39ce70481ff3e58c70969920.png)
测试文字的颜色为red 大小为:14px
![](https://i-blog.csdnimg.cn/blog_migrate/8aeed7f3dfe7a420e974d016511fee6b.png)
注意:不是所有元素都可以继承
行高的继承
![](https://i-blog.csdnimg.cn/blog_migrate/13f9f3c7b0bd63ba3a89caa6625872c0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ac760cc32aa12332ff3bbc458b7e0387.png)
优先级
![](https://i-blog.csdnimg.cn/blog_migrate/18c8df12560f58670a40202fa3bf9f03.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a44b9b5f3593ed8d04d4a6b3860df990.png)
权重叠加
![](https://i-blog.csdnimg.cn/blog_migrate/471e0dc85da1bcd9a3b8e3278561b9e5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7fca48c7b6d9b957ae6a262c15547f35.png)
css盒子模型
![](https://i-blog.csdnimg.cn/blog_migrate/5bdde29f4254ac6df27578908a573e76.png)
看透页面布局的本质
![](https://i-blog.csdnimg.cn/blog_migrate/a08baa4dc94eee0ca0b7965811bb25c4.png)
盒子模型(Box Model)组成
![](https://i-blog.csdnimg.cn/blog_migrate/11723df5e24d4c4f963904aa3b074692.png)
![](https://i-blog.csdnimg.cn/blog_migrate/06dca887d46f7c99404585c805d047c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8d0f152cf61b1234675a0d9eb22cd985.png)
边框(border)
![](https://i-blog.csdnimg.cn/blog_migrate/bed6cdf506990a4b2df12b4ce4b6151b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/91084328847c22a3f9cb86d2323f552f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a30a09c8068b0b29a585317d76e0a959.png)
边框简写
![](https://i-blog.csdnimg.cn/blog_migrate/16febeb9ed9cca0d62670b6998ce972e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1b7d90b9ddeef0d1319ed895dab31053.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6129294762bbb15d8338d2396fb9c611.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f10f742333b01c353e1faad380f673fa.png)
表格的细线边框
![](https://i-blog.csdnimg.cn/blog_migrate/ab7e3b17e3600814f5fa5473f5cb8955.png)
边框会影响盒子的实际大小
![](https://i-blog.csdnimg.cn/blog_migrate/3cdaa4efd1fd72f2fb2d6294a28d2b93.png)
内边距(padding)
![](https://i-blog.csdnimg.cn/blog_migrate/030b2211fdac8bf557d551852057f80b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/160444f4cee057f56e2bfe284df6bf2f.png)
内边距复合写法
![](https://i-blog.csdnimg.cn/blog_migrate/bfd2de73eb9bebad674740034babf1bd.png)
以上的几种复合写法,开发中都会使用到
![](https://i-blog.csdnimg.cn/blog_migrate/ddbf4499e87f4659f10a02f486ce1e21.png)
![](https://i-blog.csdnimg.cn/blog_migrate/91147aae97b903fcc1aed4add89c458e.png)
外边距(margin)
![](https://i-blog.csdnimg.cn/blog_migrate/53df21d8b16bf6b2966205bf9759645d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ea88b775aa293fc46537abbe29ec388e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3822bc52f52f4c7700a65338d4db12f7.png)
外边距合并
![](https://i-blog.csdnimg.cn/blog_migrate/5caec3551d40340de11b7bd95b24cdbb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/56fcdfd1c7b9ba66d8266c614ca7155a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/26f2f69656cb310724058a6d5623b9d9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/392edb0d73a1b43bc248875350085d91.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a23f92b799385bd87718bc4affb9b5ab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/603412347f65464a157468d7a74faeda.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7ea5e7103ca2dd9e39d0af28cbb2a5c0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/155d4730d4af8ee5cc92d8d1dae8e1fa.png)
清除内外边距
![](https://i-blog.csdnimg.cn/blog_migrate/e3c2ae1b07fef565d6c403ed26e95f09.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8d87cdaaf4740f8785cccd28a3d9405c.png)
*:通配符
![](https://i-blog.csdnimg.cn/blog_migrate/5e9c23d4de5c1ed173761c7a84ca1a52.png)
ps的基本操作
![](https://i-blog.csdnimg.cn/blog_migrate/94ec114c8f1b9e807a6ecf292ba2fa5c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/feaf6e13135d1c9c54a97c4516d2c8a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7e2de2e2f3bcbb8ebb7d156d19dcdfff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8b82b33ea22dbb30269ae2f6f9b7cfbf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/21948a19e4b373f81bdb1d39e6b288f8.png)
圆角边框(重点)
![](https://i-blog.csdnimg.cn/blog_migrate/6b33fda65cb6fd8cb9911fe96c9e2bc1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b670262e69b4dcb0b42fdce671ac533.png)
![](https://i-blog.csdnimg.cn/blog_migrate/93289df294d75ef1275a3f3f8dc877e8.png)
盒子阴影(重点)
![](https://i-blog.csdnimg.cn/blog_migrate/a63bf3bc84946ad306cb6f47e45215ad.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bfa8e31c89b108aaa7a0fff6e0f936a3.png)
文字阴影
![](https://i-blog.csdnimg.cn/blog_migrate/a6d48a8cab6cada48ef0eb06ab20ac2f.png)
CSS浮动
![](https://i-blog.csdnimg.cn/blog_migrate/cb8a3d4c41327311a0a856fbb9b278a8.png)
浮动(float)
![](https://i-blog.csdnimg.cn/blog_migrate/eaeacb694fd19cf9d7a6827388b4c3db.png)
标准流(普通流/文档流)
![](https://i-blog.csdnimg.cn/blog_migrate/87896eb2a201a7a8cefe077e591e70cd.png)
为什么需要浮动?
![](https://i-blog.csdnimg.cn/blog_migrate/a674375c0754799b7a41b3e53c56d2b5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/92c2488e4a907caa6379031781c165c0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/223beb13af9a133ade2dccb195c99d84.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b72bce1d0b676d51959c53495fdc7b9e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a1064498ae9d43d98433a2f7db3eba3f.png)
什么是浮动?
![](https://i-blog.csdnimg.cn/blog_migrate/1614310d085353c28cf78944b4a83bde.png)
浮动特性(重难点)
![](https://i-blog.csdnimg.cn/blog_migrate/a43bb8c62615e3c09beae27ebf0dc78e.png)
特性:脱标
![](https://i-blog.csdnimg.cn/blog_migrate/47b136fdfc90b262c313f2a4677c4467.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f4633b82d960136e9bb1e79c90e878d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6db9db4db9755ad48103a06af3a28de.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7d4cd1d2c518966c304aa2c91fe361f0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/08b47d5d4ed6e4f88d3534ed28a02709.png)
浮动元素经常和标准父类元素搭配使用
![](https://i-blog.csdnimg.cn/blog_migrate/5fc496fa97e39460a82dc38e23101cd3.png)
常见的网页布局
![](https://i-blog.csdnimg.cn/blog_migrate/c5d38e7ba2a19dcd94de0522e6bca563.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b92cca83026669134e5bfbfa5c6350f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b815adf42d7291ed2778686c0f3c272e.png)
第三图代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin:0;
padding: 0;
}
.top{
height: 50px;
background-color: gray;
}
.banner{
width: 980px;
height: 150px;
background-color:gray;
margin: 10px auto;
}
.box{
width: 980px;
margin: 0 auto;
height: 300px;
background-color: pink;
}
li{
list-style: none;
}
.box li{
width: 237px;
height: 300px;
background-color: gray;
float: left;
margin-right: 10px;
}
.box .last{
margin-right: 0;
}
.footer{
height: 200px;
background-color: gray;
margin-top: 10px;
}
</style>
</head>
<body>
<div class="top">top</div>
<div class="banner">banner</div>
<div class="box">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li class="last">4</li>
</ul>
</div>
<div class="footer">footer</div>
</body>
</html>
浮动布局注意点
![](https://i-blog.csdnimg.cn/blog_migrate/2aaa55a13f0b2a5c75a28ec72548e738.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1bd86ff89268fbb1a12d587c4ba62fb1.png)