CSS3
●背景
CSS3 中包含几个新的背景属性,提供更大背景元素控制:
•background-image:添加背景图片。不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张。
•background-size:指定背景图像的大小。CSS3以前,背景图像大小由图像的实际大小决定。
CSS3中可以指定背景图片,在不同的环境中指定背景图片的大小。
可以指定像素或百分比大小。指定的大小是相对于父元素的宽度和高度的百分比的大小。
•background-origin:指定了背景图像的位置区域。content-box, padding-box,和 border-box区域内可以放置背景图像。
•background-clip:背景剪裁属性是从指定位置开始绘制。
• 多重背景(multiple backgrounds)
也就是CSS2里background的属性外加origin、clip和size组成的新background的多次叠加,缩写时为用逗号隔开的每组值;用分解写法时,如果有多个背景图片,而其他属性只有一个(例如background-repeat只有一个),表明所有背景图片应用该属性值。
注意:
如果有 size 值,需要紧跟 position 并且用 "/" 隔开;
background-color 只能设置一个。
●动画
动画是使元素从一种样式逐渐变化为另一种样式的效果。
可以改变任意多的样式任意多的次数。
用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
•@keyframes 规则是创建动画
指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。
当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。
•指定至少这两个CSS3的动画属性绑定向一个选择器:
①规定动画的名称
②规定动画的时长
注意: 必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。
•CSS动画属性:
①animation 所有动画属性的简写属性。
②animation-name 规定 @keyframes 动画的名称。
③animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。
④animation-timing-function 规定动画的速度曲线。默认是 "ease"。
⑤animation-fill-mode 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
⑥animation-delay 规定动画何时开始。默认是 0。
⑦animation-iteration-count 规定动画被播放的次数。默认是 1。
⑧animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。
⑨animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。
●用户界面
在 CSS3 中, 增加了一些新的用户界面特性来调整元素尺寸,框尺寸和外边框。
用户界面属性:
•resize 属性,规定用户可以通过拉伸元素尺寸来显示溢出隐藏的内容。效果类似 文本域标签。
•溢出形式的设置:
① 当 overflow: hidden; 时,无论是否拉伸尺寸,超出尺寸的内容都会被隐藏裁剪;
②当 overflow: scroll; 时,无论是否拉伸尺寸,元素始终显示滚动条;
③当 overflow: auto; 时,仅尺寸小于内容显示时,才会出现滚动条。(
•outline-offset 属性用来设置轮廓(外边框)与边框(内边框)之间的间隔,或 “填充”,默认情况下,轮廓是紧贴着边框的,所以需要通过该属性来使它们分开。
outline 不会破坏元素宽高,同样的 outline-offset 设置的间隔,也不会影响元素的宽高。
•轮廓与边框不同:
轮廓不占用空间
轮廓可能是非矩形
•box-sizing 用来告诉浏览器该使用哪种盒模型来渲染文档。
•content-box 是默认的盒子模型,即 W3C 标准盒子模型,
在这模型下,border与padding的设置会破坏元素的尺寸,导致最终展现出来的布局效果并不符合理想效果,而如果想要达到理想效果,又需要去计算宽高,非常麻烦。
•border-box 则指 IE盒子模型,也称为“怪异盒子模型”。此模型下,边框和填充并不会影响元素的宽高,相当于是将元素的空间霸占成自己的空间,元素总体大小不变,内容空间变小,边框、填充则霸占着原本属于内容空间的地方。
在指定元素尺寸并设置该属性值后,元素尺寸不会因被破坏而又得重新计算了。
●2D 转换
•translate():根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动
•rotate():在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转
•scale():该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数
•skew():
语法
transform:skew(
包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
skewX(
skewY(
•matrix():和2D变换方法合并成一个。
●3D 转换
CSS3 允许使用 3D 转换来对元素进行格式化。
•rotateX():围绕其在一个给定度数X轴旋转的元素。
•rotateY():围绕其在一个给定度数Y轴旋转的元素