css盒子模型:内容、内边矩、边框和外边距。
link和@import的区别:
1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。
CSS3的新特性:
1、边框:(Borders)
border-color:控制边框颜色,并且有了更大的灵活性,可以产生渐变效果。
border-image:控制边框图象。
border-corner-image:控制边框边角的图象。
border-radius:能产生类似圆角矩形的效果。
box-shadow:能生成阴影效果。
2、背景(Backgrounds)
background-origin:决定了背景在盒模型中的初始位置,提供了3个值,border, padding和content。
border:控制背景起始于左上角的边框。
padding:控制背景起始于左上角的留白。
content:控制背景起始于左上角的内容。
background-clip:决定边框是否覆盖住背景(默认是不覆盖),提供了两个值,border和padding。
border:会覆盖住背景。
padding:不会覆盖背景。
background-size:可以指定背景大小,以象素或百分比显示。当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的位置决定。
multiple backgrounds:多重背景图象,可以把不同背景图象只放到一个块元素里。
3、文字效果:(Text effects)
text-shadow:文字投影,可能是因为MAC OSX的Safari浏览器开始支持投影才特意增加的。
text -overflow:当文字溢出时,用"..."提示。包括ellipsis、clip、ellipsis-word、inherit,前两个CSS2就有了,目前还是部分支持,但有趣的是IE6居然也支持。ellipsis-word可以省略掉最后一个单词,对中文意义不大,inherit可以继承父级元素。
4、颜色:(Color)
HSL colors:除了支持RGB眼色外,还支持HSL(色相、饱和度、亮度)。以前一般都是作图的时候用HSL色谱,但这样一来会包括更多的颜色。H用度表示,S和L用百分比表示,比如hsl(0,100%, 50%)。
HSLA colors:加了个不透明度(Apacity),用0到1之间的数来表示,比如hsla(0,100%,50%,0.2)。
opacity:直接控制不透明度,用0到1之间的数来表示。
RGBA colors:和HSLA colors类似,加了个不透明度。
5、用户界面(User-interface)
resize:可以由用户自己调整div的大小,有horizontal(水平)vertical(垂直)或者both(同时),或者同时调整。如果再加上max-width或min-width的话还可以防止破坏布局。
6、选择器:(Selectors)
Attribute selectors:在属性中可以加入通配符,包括^,$,*
[att^=val]:表示开始字符是val的att属性。
[att$=val]:表示结束字符是val的att属性。
[att*=val]:表示包含至少有一个val的att属性。
8、其它模块:(Other modules)
media queries:感觉叫媒体选择比较合适,可以为网页中不同的对象设置不同的浏览设备。比如可以为某一块分别设置屏幕浏览样式和手机浏览样式,以前则只能设置整个网页。
multi-column layout:多列布局,让文字以多列显示,包括column-width、column-count、column-gap三个值。
column-width:指定每列宽度
column-count:指定列数
column-gap:指定每列之间的间距
column-rule-color:控制列间的颜色
column-rule-style:控制列间的样式
column-rule-width:控制列间的宽度
column-space-distribution:平均分配列间距
9.CSS3 的 Transition, Transforms 和 Animation
transition-property:用于指定过渡的性质,比如 transition-property:backgrond 就是指 backgound 参与这个过渡
transition-duration:用于指定这个过渡的持续时间
transition-delay:用于制定延迟过渡的时间
transition-timing-function:用于指定过渡类型,有 ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier
ransform: skew(50deg);
transform: scale(2, 0.5);
transform: rotate(30deg);
animation: myfirst 5s linear 2s infinite alternate;
@keyframes myfirst {from{} to{}}