层叠样式表(Cascading Style Sheets)css
盒模型包含四部分:margin、border、padding、content。若是不使用doctype声明,浏览器默认使用本身的模式解析。如IE使用IE盒模型,firefo则使用标准盒子模型等。html
标准盒子模型css3
IE盒子模型的区别是,content区域包含border和padding浏览器
选择器分类:bash
h1[class^=bar]
匹配class以bar开头的h1元素-
前的整个单词h1 span
,匹配h1后的全部span标签h1 > span
,匹配h1后的全部span子标签h1 + .bother
h1 ~ .bother
:link
和:visited
放在最后,那全部的元素都会是已访问或者未访问的状态,设置好的:focus
:hover
:active
失效,因此 :link
和:visited
最好放置在前面。:link
:visited
:focus
:hover
:active
:first-child
等伪类与伪元素区分dom
伪类:用于向某些选择器添加特殊的效果,如::link :active,(在原有的元素上添加类别)伪类的效果能够经过添加一个实际的类来达到布局
伪元素:用于将特殊的效果添加到某些选择器,如::after :before,(添加新元素后加以标识)伪元素的效果须要经过添加一个实际的元素才能达到字体
权重等级flex
优先级计算动画
继承均是沿着dom树向下继承,只有一个特殊状况,即body的背景内容会向上传播到html。
不可继承的属性(与盒模型、position�相关�的):
可继承属性(与基本样式设计有关的):
四、居中
普通元素水平居中(已知宽):
margin: 0 auto;
绝对定位absolute元素居中:
一、(已知宽高)借助 left/top 和 margin-left/margin-top
二、使用 top:50%, left:50%, transform: translate(-50%, -50%) translate百分比是相对于自身宽度高度
三、flex布局
四、display:table与display:table-cell
table-cell:让标签元素以表格单元格的形式呈现,相似于td标签
<div class="toast-container">
<div class="toast-box">
<div class="box"></div>
</div>
</div>
<style>
.toast-container {
position: fixed;
width: 100%;
height: 100%;
display: table;
}
.toast-box {
display: table-cell;
vertical-align: middle;
}
.box {
margin: auto;
width: 100px;
height: 100px;
background: #dd0000;
}
</style>
复制代码
五、position各个值的定位原点
absolute:绝对定位,相对第一个值不是static的元素定位
relative:相对定位,相对其正常位置定位
fiexd:固定定位,相对浏览器窗口
static:默认值,无定位
inherit:继承父级position值
复制代码
六、display值介绍
block:块类型,可设置宽高,换行展现
inline:行内类型,不可设置宽高,同行展现
inline-block:默认宽度为元素宽度,可设置宽高,同行展现
none:像行内元素类型同样显示
table:块级表格
list-item:像块类型元素同样显示,并添加样式列表标记
inherit:继承父级
复制代码
七、动画的最小时间间隔最好是多少
多数显示器默认频率是60Hz,即1秒刷新60次,因此理论上最小间隔为1/60*1000ms = 16.7ms
复制代码
八、关于line-height
1)normal 默认值,跟随用户浏览器,与元素字体关联
2)<number> 如line-height:1.5,假设文字大小20像素,实际行高为 20*1.5
3)<length> 如line-height:15px;line-height:1.5em [px/pt/em/rem]
4)<percent>如line-height:150,假设文字大小20像素,实际行高为 20*150%
5)继承 inherit[IE8+]
注意:
line-height:1.5,子元素能够继承,根据本身的字体大小进行计算;
而line-height:150或者line-height:1.5rem,子元素继承,可是不会根据自身字体大小进行计算。
复制代码
九、元素被设置为float后,display属性的值会自动变成block。
十、:after和:before
以后添加用after;以前用before;
复制代码
十一、BFC 块级格式化上下文[block formatting context]
一、BFC是什么
块级格式化上下文
样式上:与普通容器无异;
功能上:能够看做是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素
二、触发BFC的条件(如下任意一个便可)
浮动元素,float 除none之外的值;
绝对定位元素,position(absolute,fixed);
display为inline-blocks,table-cells,table-captions,table-caption(css3);
overflow为hidden,auto,scroll;
三、BFC的特性
1)可包含浮动元素
内部有浮动元素,父容器设置overflow为hidden,auto,scroll便可清除浮动,只有ie7+支持
清除浮动[兼容IE6]:
{
.clearfix{zoom:1;}
.clearfix:after{content: ‘’ ; display:table; clear: both;}
}
只是局部可以使用.clearfix{_zoom:1;overflow: hidden;} 注意反作用
2)可阻止元素被浮动元素覆盖等
复制代码
十二、浮动元素致使高度塌陷的解决方法
父级设置 overflow:hidden/scroll/auto
父级元素为 BFC
父级元素设置height
复制代码
1三、外边距合并
即垂直方向上设置margin会合并,若是margin值不同则选高度大的那一个。
复制代码
1四、浏览器兼容性问题
一、各个浏览器的默认设置不一样,可选择初始化CSS样式,重现设置;
二、background-position-x/background-position-x在版本稍低的firefox中不支持,可选择使用background-position
复制代码