CSS Transform让百分比宽高布局元素水平垂直居中
2014-07-31 14:57
477 查看
很早以前了解过当元素是固定宽度和高度的时候,水平垂直高居中的方法可以设置margin的负值来使其居中,这个负值是元素的宽和高的一半,比如宽高是100px,那么就用margin-left:-50px;margin-top:-50px这样的写法。但如果这个元素的宽高是用百分比表示呢?
如果使用百分比来设置宽高的话,以前哪个负值方法已经用不上了,这个我们发现在一个小的窍门,就是使用CSS3中的transform的translate转换属性。下面来看代码实例:
HTML代码
<div class="center">您可以尝试改变浏览器大小,这个元素依然是水平垂直居中的哦!</div>
CSS代码
.center{ position: absolute; top: 50%; left: 50%; width:50%; height:30%; padding:20px; text-align:center; background:#393; color:#fff; transform: translate(-50%, -50%); }
查看演示
如果你直接复制代码无法使用,请添加-webkit-transform或-moz-transform前缀,案例中我使用了-prefix-free这个插件,插件作用就是不需要输入-moz-和-webkit-这些前缀。
相关文章推荐
- HTML中,不固定宽高的元素在DIV中水平并且垂直居中
- 如何实现固定宽高的DOM元素的水平垂直居中
- 纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
- 编写css让一个已知宽高的div元素水平居中?垂直居中
- 已知/未知宽高的浮动元素水平垂直居中对齐
- css元素的垂直水平居中;flex 已知元素宽高 未知元素宽高
- 使不知宽高的元素水平垂直居中的方法
- css系列(布局):实现一个元素在浏览器中水平、垂直居中的几个方案
- 如何在页面布局中实现元素水平+垂直居中
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
- 如何让不固定元素宽高的元素垂直水平居中
- css中已知宽高的子元素水平垂直居中的三种方法
- 根据HTML+CSS完成一个三列布局,左右侧栏宽为180px,高为300px;中间栏自适应,高为300px;中间栏子元素(宽高不确定)实现水平、垂直居中。
- css中已知宽高的子元素水平垂直居中的三种方法
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
- css中已知宽高的子元素水平垂直居中的三种方法
- 元素水平垂直居中【弹性布局 || Translate】
- 未知宽高的img元素水平垂直居中显示