HTML5技术

CSS3 基本知识 - 彼岸时光(15)

字号+ 作者:H5之家 来源:H5之家 2016-03-11 17:01 我要评论( )

8、CSS 3D 转换 (1)、3D 转换 2D 转换是元素平面的变化。 而 3D 转换是元素立体的变化。 2D 和 3D 转换都是元素的形状、尺寸和位置变化的一种效果。 注意: IE10+ 以及所有浏览器都支持都支持 3D 转换,IE9 不支持

8、CSS 3D 转换

  (1)、3D 转换

  2D 转换是元素平面的变化。

  而 3D 转换是元素立体的变化。

  2D 和 3D 转换都是元素的形状、尺寸和位置变化的一种效果。

  注意:IE10+ 以及所有浏览器都支持都支持 3D 转换,IE9 不支持。

  (2)、rotateX() 方法

  rotateX()方法,元素围绕其 X 轴以给定的度数进行旋转。

  下面的例子,将 DIV 元素围绕 X 轴旋转 180 度:

3D rotateX()我是 DIV1 元素我是 DIV2 元素

  在 Chrome 中显示如下:

  (3)、rotateY() 方法

  rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转。

  下面的例子,将 DIV 元素围绕 Y 轴旋转 150 度:

3D rotateY()我是 DIV1 元素我是 DIV2 元素

  在 Chrome 中显示如下:

  (4)、转换属性

  下面是所有的转换属性:

属性 说明

transform 向元素应用 2D 或 3D 转换。

transform-origin 允许改变被转换元素的位置。

transform-style 规定被嵌套元素如何在 3D 空间中显示。

perspective 规定 3D 元素的透视效果。

perspective-origin 规定 3D 元素的底部位置。

backface-visibility 定义元素在不面对屏幕时是否可见。

 

  (5)、3D 转换方法

函数 说明

matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。

translate3d(x,y,z) 定义 3D 转化。

translateX(x) 定义 3D 转化,仅使用用于 X 轴的值。

translateY(y) 定义 3D 转化,仅使用用于 Y 轴的值。

translateZ(z) 定义 3D 转化,仅使用用于 Z 轴的值。

rotate3d(x,y,z,angle) 定义 3D 旋转。

rotateX(angle) 定义沿 X 轴的 3D 旋转。

rotateY(angle) 定义沿 Y 轴的 3D 旋转。

rotateZ(angle) 定义沿 Z 轴的 3D 旋转。

scale3d(x,y,z) 定义 3D 缩放转换。

scaleX(x) 定义 3D 缩放转换,通过给定一个 X 轴的值。

scaleX(y) 定义 3D 缩放转换,通过给定一个 Y 轴的值。

scaleX(z) 定义 3D 缩放转换,通过给定一个 Z 轴的值。

perspective(n) 定义 3D 转换元素的透视视图。

9、CSS3 过渡

  (1)、CSS3 过渡

  CSS3 过渡是元素从一种样式逐渐转变为另一种样式时为元素添加的效果。在 CSS3 之前,要做出这样的效果就必需借助 JS 运动框架来完成,或者使用 Flash 动画。

  要使用 CSS 来实现这一效果,必须规定两项内容:

    指定要添加效果的 CSS 属性。

    指定效果的持续时间。

  注意:IE10+ 以及所有浏览器都支持过渡效果,IE9 不支持。在 IE9 下 Duang 一下就变化完了,根本没有说好的过渡,完全就是 hover 效果。

  (2)、过渡应用

  下面的例子,是应用于宽度属性的过渡效果,时常为 2s,当鼠标悬停于 div 元素上时改变样式,当鼠标移出元素时,它会逐渐变回原来的样式:

过渡鼠标你过来,我要变化了

  注意:如果未指定时长,则不会有过渡效果,因为默认值是 0。其实跟 JS 过渡动画 是一个原理。

  (3)、多项过渡

  要添加多个样式的过渡效果,添加的多个属性由逗号隔开。

  下面的例子,添加了宽度、高度、透明度等和旋转的过渡效果:

多项过渡鼠标你过来,我要变化了

  (3)、过渡属性

  下表是所有的过渡属性:

属性 说明

transition 简写属性,用于在一个属性中设置四个过渡属性。

transition-property 规定应用过渡的 CSS 属性的名称。

transition-duration 规定过渡效果花费的时间。默认是 0。

transition-timing-function 规定过渡效果的时间曲线,即开始和结束的速度快慢,默认是 "ease"。

transition-delay 规定过渡效果何时开始。默认是 0。

  (4)、简写属性的使用

  下面的例子,使用了所有的过渡属性:

多项过渡鼠标你先过来,我准备变化

  下面的代码,使用了 transition 简写属性,将四个过渡属性写在一个简写属性中:

1 #transit{ 2 transition: width 1s linear 2s; 3 }

 

10、CSS3 动画

  CSS3 赋予了我们创建动画的能力,他可以取代很多网页动画图片、Flash 动画以及 JavaScript。

  在 CSS 中一些属性是可以有动画效果的,可用于创建动画和过渡效果。

  动画属性可以逐渐地从一个值变化到另一个值,比如尺寸大小、数量、百分比和颜色。

  (1)、CSS3 @keyframes 规则

  @keyframes 规则用于创建动画,在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。

  当在 @keyframe 中创建动画时,必须把它绑定到一个选择器,否则动画不会有任何效果。

  通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

    规定动画的名称。

    规定动画的时长。

  注意:IE10+ 以及所有浏览器都支持 @keyframe 规则和 animation 属性。IE9 不支持。

  下面的例子,把 “myflash” 动画捆绑到 DIV 元素,时长 5s,当动画完成时,会变回初始样式:

动画 from{ }

  注意:必须定义动画的名称和动画的持续时间,如果省略了动画时长,动画则无法运行,因为默认值是 0。

  (2)、CSS3 动画

  动画是使元素从一种样式逐渐变化为另一种样式的效果。

  可以改变任意多的样式,以及任意多的次数。

  可以使用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

  0% 是动画的开始,100% 是动画的完成。

  为了得到最佳的浏览器支持,所以应该始终定义 0% 和 100% 选择器。

  下面的例子,当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

动画}

  下面的例子,改变背景色和位置:

动画}

  (3)、CSS3 动画属性

  下面是 CSS3  的所有动画属性:

属性 说明

@keyframes 规定动画。

animation 所有动画属性的简写属性,除了 animation-play-state 属性。

animation-name 规定 @keyframes 动画的名称。

animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。

animation-timing-function 规定动画的速度曲线。默认是 "ease"。

animation-delay 规定动画何时开始。默认是 0。

animation-iteration-count 规定动画被播放的次数。默认是 1。

animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。

animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。

  (4)、使用简写属性

  下面的例子,使用了所有动画属性:

动画}

  下面的代码,使用了简写的 animation 动画属性:

1 #move{ 2 animation:myflash 5s linear 2s infinite alternate; 3 }

 

11、CSS3 多列

  通过 CSS3,可以创建多个列来对文本进行布局,就像报纸那样。

  注意:目前只有 IE10+ 和 Opera 支持多列属性,IE9 不支持。

  Chrome 和 Safari 需要添加前缀 -webkit-。

  Firefox 需要添加前缀 -moz-。

  (1)、创建多列

  column-count 属性可用于规定元素应该被分隔的列数。

  下面的例子,把 DIV 元素中的文本分隔为三列:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • CSS3 选择器 - Glunefish

    CSS3 选择器 - Glunefish

    2017-04-22 09:00

  • HTML5和CSS3 - 奔跑在起跑线佼佼者

    HTML5和CSS3 - 奔跑在起跑线佼佼者

    2017-04-20 13:00

  • 【CSS3】精美横向滚动菜单按钮 - Glunefish

    【CSS3】精美横向滚动菜单按钮 - Glunefish

    2017-04-14 14:00

  • 【CSS3动画】下拉菜单模拟 - Glunefish

    【CSS3动画】下拉菜单模拟 - Glunefish

    2017-04-12 13:00

网友点评