1.选择器
1)基本选择器
(1)*通配符
(2)class选择器:必须要在元素中定义class属性.class值
(3)id选择器:必须在元素中定义id属性#id值
(4)群组选择器:选择器之问用逗号分隔,有相同属性的元素可以放到一起,减少代码量
2)层次选择器
(1)包含选择器(后代选择器) :E F选择匹配的元素,且匹配的F元素被包含在匹配的元素内选择所有【空格前面元素包含的】的带有空格之后的元素的标签
(2)子选择器 E>F 选择匹配的f元素,且匹配的F元素是所匹配的E元素的子元素――选择的仅仅只是自己的孩子【儿子,女儿]【下一级】
(3) 相邻兄弟选择器E+F选择匹配的F元素,且匹配的F元素紧位于匹配的E元素后面。相邻的后一个元素
(4) 通用选择器E波浪号F 选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素。后面所有的
3)伪类选择器
(1)动态伪类选择器【E:link E:visited E:active E:hover E:focus选择匹配的E元素、且匹配的元素获取焦点】连接伪类选择器全部使用的话需要注意书写的顺序:l v h a
(2)目标伪类选择器: target选择匹配E的所有元素,且匹配元素被相关的url指向。手风琴效果,:前面只能为被操作的元素的选择器
(3)UI元素状态伪类选择器:
E:checked 匹配选中的复选或者是单选按钮的表单元素 E: enabled 匹配所有启用的表单元素E:disabledo匹配所有禁用的表单元素 E:disabled 匹配所有禁用的表单元素
(4)结构伪类选择器
1.:first-child[选择第一个元素]/:last-child[选择最后一个元素]/:nth-child()[第n个元素,或者是奇数odd偶数even]/:nth-last-child()[倒着来]
2.:first-of-type[选择第一类元素]/:last-of-type[选择最后一类元素]/
:nth-of-type[第n个元素,或者是奇数odd偶数even][
1.BFC
BFC 即 Block Formatting Contexts (块级格式化上下文),通俗一点来讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。
2.BFC的特性与应用
1.BFC内部的Box会在垂直方向,一个接一个的放置。 2.Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻box的margin会发生重叠(应用:防止marin重叠) 3.BFC的区域不会与float box发生重叠(应用:自适应两栏布局)
4、计算BFC的高度时,浮动元素也参与计算(应用:清除内部浮动)
5、每个元素的margin box的左边会与包含块border box的左边相接触(对于从左到右的格式化,否则相反),即使存在浮动也会如此。
6、BFC就是页面上的一个独立容器,容器里面的元素不会影响到外面的元素
3.BFC的触发条件
1.根元素 html默认就是一个BFC 2.float的值不为none 单纯的div不是BFC,如果添加了浮动就是BFC 3.overflow的值不为visible 单纯的div不是BFC,如果添加了overflow:hidden等就是BFC 4.display的值为 inline-block/ table-cell/ table-caption/ flex/ inline-flex 5.position的值为absolute或fixed