利用CSS3的transform属性让元素在页面居中

今天学到让元素在页面中水平居中的新写法,利用了CSS3的transform属性,通过设置translate的值来改变元素的位置。

1.先来看看怎么实现的

页面中放一个div,width和height随便设置大小和背景色,以便查看效果:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>利用CSS3的transform属性让元素在页面居中</title>
 6 <style>
 7 .box{
 8     width: 100px;
 9     height: 100px;
10     background: red;
11 }
12 </style>
13 </head>
14 <body>
15     <div class="box"></div>
16 </body>
17 </html>

给元素绝对定位,让它距离上面50%,距离左边50%:

1 .box{
2     width: 100px;
3     height: 100px;
4     background: red;
5     position: absolute;
6     top: 50%;
7     left: 50%;
8 }

这时候轮到transform上场了,设置一下它的转换值translate,让它距离X轴和Y轴都为-50%,完整代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>利用CSS3的transform属性让元素在页面居中</title>
 6 <style>
 7 .box{
 8     width: 100px;
 9     height: 100px;
10     background: red;
11     position: absolute;
12     top: 50%;
13     left: 50%;
14     transform: translate(-50%, -50%);
15 }
16 </style>
17 </head>
18 <body>
19     <div class="box"></div>
20 </body>
21 </html>

一个元素就这么简单的在页面中间显示了,无论元素大小如何,都可以,so easy~

时间: 2024-11-25 14:27:36

利用CSS3的transform属性让元素在页面居中的相关文章

CSS3的transform属性

CSS3的一些属性可能比较新,有一些书从国外翻译到国内的时间上会延缓1-2年.所以有一些东西还需要及时整理. 下面说一下CSS3的一个属性:transform 其实字面上的意思已经很明显了就是变化,变幻的意思. 那到底怎么个变法? transform可以选下面几个值: 旋转-rotate(rotatex,rotatey) 倾斜-skew 缩放-scale 移动-translate 下面给出的例子可能都非常简单,真正详细的还是看W3School毕竟是定期更新的 1.rotate a.rotate{

使用CSS3的appearance属性改变元素的外观

大家都知道每个浏览器对HTML元素渲染都不一样,比如说"button",在chrome和ff中,渲染出来的效果都是不尽相同的.这样一来就有了今天这个思路,利用浏览器的对元素的默认渲染风格,我们可以使用"appearance"属性对任何元素的渲染风格改变,最简单的来说,我要把"a"链接默认显示成"按钮"风格,那么我们可以使用"appearance"设置为"button". "ap

CSS3的appearance属性--改变元素的外观

CSS3 appearance 属性 CSS 参考手册 实例 使 div 元素看上去像一个按钮: div { appearance:button; -moz-appearance:button; /* Firefox */ -webkit-appearance:button; /* Safari 和 Chrome */ } 亲自试一试 页面底部有更多实例. 浏览器支持 所有主流浏览器都不支持 appearance 属性. Firefox 支持替代的 -moz-appearance 属性. Saf

使用 CSS3 的 box-sizing 属性设置元素大小包含 border 与 padding

?  默认情况下,内部元素(如:input)的宽度或高度,是不会包含元素的边框和内边距的,这是就需要使用 box-sizing 属性设置该元素. ?  box-sizing 是 CSS3 的属性,可以设置以上值: 1.   content-box: 元素 size 不包含 border 和 padding,默认值. 2.   border-box: 元素 size 包含 border 和 padding. 3.   inherit: 指定box-sizing属性的值,应该从父元素继承. 1)  

CSS3的 transform属性,怎么才能让他同时执行多个不同动画(属性)效果

#div{ width: 100px; height: 100px; transition: all 1s; background: red;} #div:hover{ transform: rotate(360deg) scale(2,2) skew(10deg,5deg);} 注:在transform:动画类型中间用[空格]隔开 旋转 缩放 扭曲 等就可以同时执行多个不同的动画效果啦!

css3使用transform属性制作js弹性运动

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>用css3仿制js的弹力效果</title> </head> <body> <style type="text/css"> *{margin:0;padding:0px;} body{backgr

CSS3 transform属性 附上demo

参考http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/ 用法 实例 刚开始使用这个属性是因为工作的需要,制作H5动画页面,通过查具体用法也可以制作出各种小动画,比如平移,缩放,翻动,刚开始看到这些动画都很惊奇,居然短短写一小段东西就就可以完成js写一堆代码的动画了,然后看到别人家的CSS3动画,再次被教育做人了. 下面说说怎么使用 transform 定义 :t

简单粗暴的解释css3中的transform属性

事先说明,本文范畴尚限制在2D的transform中. 对于css3的transform属性,真是爱不释手,有了这个特性,各种特效轻松搞定.引用一句歌词"旋转,跳跃,我不停歇".transform就是这么时尚,就是这么任性.当然他任性的地方不只是在功能方面,还有在使用方面.我们看一下W3C官网中关于transform 2D的使用介绍. 看着有点多,首先先来分类一下:一个matrix,三个translate,三个scale,三个skew,一个rotate.而三个translate中又分为

认识CSS3 transform 属性

定义和属性 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜. 注:opela不支持3D转换    IE9以上浏览器支持支持 translate3d(x,y,z)  3d平移变化       x y  z  是指平移的像素 rotate3d(x,y,z,angle)    3d 旋转    X Y Z取值是在0-1之间  angle=45deg  实际旋转的角度 scale3d(x,y,z,) 3d缩放     x y z取值也是0-1之间