(1)渐进增强和优雅降级
渐进增强:一开始只构建站点最少特性,然后不断的对不同的浏览器追加不同的功能;
优雅降级:一开始就构造站点的完整功能,然后针对浏览器进行测试和修复;
(2)新增的一些属性
1、text-shadow(文字阴影,顺序不能变):5px(水*位置) 5px(垂直位置) 5px(阴影度) #666(颜色);
2、box-shadow(盒子阴影,顺序不能变):5px(水*位置) 5px(垂直位置) 5px(阴影度) 40px(模糊半径) #666(颜色);
3、word-break(允许单词内换行):normal/keep-all/break-all;
4、word-wrap(单词内不会换行):normal/break-word;
5、单元格间距:border-spacing
6、合并相邻单元格边框:border-collapse:separate/collapse;
7、无内容时单元格的设置:empty-cells:hide/show;
8、添加组分割线:rules:rows(位于行之间的线条)/cols(位于列之间的线条)/all(全部的线条)/none/group(行组和列组之间的线条);
9、指定背景的显示范围:background-clip
background-clip:border-box/padding-box/content-box;
10、背景图*铺的起点:background-origin
background-origin:border-box/padding-box/content-box;
11、背景图的大小:background-size
background-size:length/percentage/cover/contain
12、设置圆角:border-radius
13、用图片来创建边框:border-image
(3)flex容器属性(添加在父级元素上)
1、display:flex/inline-flex;设为flex布局以后子元素的float,clear和vertical-align属性将失效;
2、flex-direction属性:决定主轴的方向(即项目的排列方向)
flex-direction:row/row-reverse/column/column-reverse
3、flex-wrap属性:定义子元素是否换行显示
flex-wrap:nowrap/wrap/wrap-reverse
4、flex-flow属性:是flex-direction和flex-wrap的简写形式,默认值为row nowrap;
5、justify-content属性:定义了项目在主轴上的对齐方式
justify-content:flex-start/flex-end/center/space-between/space-around
6、align-items属性:定义项目在交叉轴上的对齐方式
align-items:flex-start/flex-end/center/baseline/stretch
7、align-content属性:定义了多根轴线的对齐方式对于单行子元素,该属性不起作用
align-content:flex-start/flex-end/center/space-between/space-around/stretch
(4)flex项目属性(添加子元素上)
1、order属性:定义项目的排列顺序,数值越小,排列越靠前,默认为0;
2、flex-grow属性:定义项目的放大比例,默认为0,即如果存在剩余空间也不放大,如果所有项目的flex-grow的属性都为1,则它们将等分剩余空间,如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他多一倍;
3、flex-shrink属性:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小;如果所有项目的flex-shrink的属性都为1,则它们将等比缩小,如果一个项目的flex-grow属性为0,其他项目都为1,则空间不足时前者缩小;
4、flex-basis属性:定义了在分配多余空间之间项目占据的主轴空间,浏览器根据这个属性,计算主轴是否有多余的空间,它的默认值为auto,即项目的本来大小;
5、flex属性:是flex-grow,flex-shrink和flex-basis的简写,默认值为0,1,auto;
6、align-self属性:align-self:auto/flex-start/flex-end/center/baseline/strectch。
(5)css3多列布局
1、column-count:分栏的个数
2、column-width:分栏的宽度
3、column-gap:分栏的间距
4、column-rule:分栏的边框
5、column-span:all/1;合并分栏,火狐不支持,前面四个加在父元素上,这个属性加在子元素上
(6)css3选择器
1、属性选择器(IE6不支持)
E[attr="value"]:指定属性名,并指定了改属性的属性值;
2、结构伪类选择器
a、first-child
b、last-child
c、nth-child
d、nth-last-child
e、nth-of-style
f、nth-last-of-style
g、first-of-type
h、last-of-type
i、only-child
j、empty
3、否定选择器 :not() IE6-8不支持 可以让你定位不匹配选择器的元素
4、选择文档的根元素 :root
5、:target 选择器可用于选取当前活动的目标元素
6、:lang 和a标签搭配使用 是你有能力为不同语言定义特殊规则
7、层次选择器
a、后代选择器(E F)
b、子元素选择器(E>F)
c、相邻兄弟选择器(E+F)紧接着的下一个兄弟才可以
d、通用兄弟选择器(E~F)
(7)渐变