如何运用CSS3把元素从一种样式变换为另一种样式

html-css023

如何运用CSS3把元素从一种样式变换为另一种样式,第1张

<div class="box1"></div>

<style type="text/css">

    body{margin:0padding:0}

    .box1{height:300pxwidth:300pxbackground:#3695d5}

    .box1{/*过渡效果*/

    transition: width 2s

    -moz-transition: width 2s /* Firefox 4 */

    -webkit-transition: width 2s /* Safari 和 Chrome */

    -o-transition: width 2s /* Opera */

    }

    .box1:hover{background:#dcdcdcheight:400pxwidth:400px}/*使用伪类hover,鼠标悬浮选取元素,改变样式*/

</style>

px像素。绝对单位,像素px是相对于显示器屏幕分辨率而言的,是一个虚拟单位。是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI。

2、em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对浏览器的默认字体尺寸。它会继承父级元素的字体大小,因此并不是一个固定的值。

rem是CSS3新增的一个相对单位(root em,根em),使用rem为元素设定字体大小事,仍然是相对大小但相对的只是HTML根元素。

4、区别:IE无法调用那些使用px作为单位的字体大小,而em和rem可以缩放,rem相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器已支持rem。

1.定位

2.尺寸

3.浮动

4.最初的布局——table

5.两栏布局(浮动和定位)

6.三栏布局(flex,圣杯和双飞翼: https://www.jianshu.com/p/f9bcddb0e8b4 )

7.移动端的布局(媒体查询,flex弹性盒子( https://github.com/laizimo/zimo-article/issues/13 ),rem适配( http://www.cnblogs.com/lyzg/p/4877277.html ))

8.grid布局

摘自: https://segmentfault.com/a/1190000011358507

1.flex方式(适用于居中元素元素宽高未知),但是这种方式仅限于body里面只有一个子元素,如果body里面有多个div不行

2.绝对定位和负边距(适用于居中元素的宽高是固定的)

3.CSS3的transform属性(适用于居中元素元素宽高未知)

4.margin:auto

1.transform

transform属性是静态属性。它其实只是一个静态属性,需要配合transition和animation才能展现出动画效果。你可以把它看成是跟left、top等属性一样,只是一个静态样式而已。它可以让元素偏移、伸缩、变形、旋转等。

2.transition,它属性是一个简单的动画属性,非常简单非常容易用。可以说它是animation的简化版本,是给普通做简单网页特效用的。

3.Animation

https://www.jianshu.com/p/f9bcddb0e8b4