一、选择器的优先关系
!important > 行内样式style > #id > .class > 标签div > 元素选择符 > *通用选择器
二、元素选择符有哪些
- 包含选择符:E F(E所有的F包含子代,孙代,子子孙孙等等)
- 子选择符:E > F(与包含不同的是,子选择符仅限于子代)
- 相邻选择符:E + F(和E相邻的F,相隔一个都不算)
- 兄弟选择符:E ~ F(和E同级的F)
三、不知道宽高实现垂直居中
1.display:flex
display: flex;
align-items: center;
justify-content: center;2.绝对定位和transform
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%);
transform: translateY(-50%);3.父级display:flex,子级margin:auto;
4.网格布局display: grid;子级align-self
align-self: center;
justify-self: center;四、css的网站的兼容问题
- Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示,可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决。
- 不同浏览器的标签默认的margin和padding不一样。 *{margin:0;padding:0;} 
-  BFC布局规则(https://blog.csdn.net/sinat_36422236/article/details/88763187) 
 内部的Box会在垂直方向,一个接一个地放置。
 Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠
 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。
 BFC的区域不会与float box重叠,而是紧贴浮动元素。
 BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
 哪些元素会产生BFC
 1、给元素添加浮动,浮动元素就具有BFC特性---float: left/right;
 2、float属性不为none
 3、给元素添加定位---position: absolute,fixed
 4、给元素添加display属性---display: inline-block, flex, inline-flex, table-cell,table-caption;
 5、给元素添加overflow属性----overflow: hidden,auto,scroll(除了visible);在布局中BFC的应用场景 
 使用场景解决了什么问题?① 、自适应两栏布局 ② 、margin 的重合 ③ 、清除浮动 ④ 、margin 的紧急拖拽