方法一:对div使用绝对布局position:absolute并设置top,left,right,bottom的值相等,但不一定都等于0;并且设置margin:auto。
方法二:这个方法要知道div的宽度和高度。对div使用绝对布局position:absolute并把top和left的值都设置为50%;50%就是指页面窗口的宽度和高度的50%;最后将div左移和上移,左移和上移的大小为div宽度和高度的一半。
其中 margin-left:-100px 和 margin-top:-100px 可以写成 margin:-100px 0px 0px -100px
方法三:div使用绝对定位position:absolute,并且设置left和top的值都为50%。使用css3的transform属性。transform:translate(-50%,-50%)。
以上3种方法的效果如下显示
若有两个div,里面小的div相对于外面大的div水平垂直居中对齐,有以下几种方法。
方法一:利用position和margin:auto实现。父元素设置position:relative;子元素设置position:absolute,并设置top,left,right,bottom值相等。
方法二:使用position。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%,并设置左移和上移为子元素的大小的一半。
方法三:使用display:flex。这种方法需要设置浏览器的兼容性。
方法四:使用transform:translate()。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%。最后设置transform:translate(-50%,-50%)。
以上四种方法的效果图如下显示
今天就跟大家分享这么多~如果你有更好的方法,请在下方留言
实现垂直居中,基本上都是给父元素加相对定位,给自己加绝对定位,然后top:50%和 left:50%,然后元素再向上移动自身一半的高度,向左移动自身一半的宽度,这样一来就可以实现元素的水平居中和垂直居中。在还没有css3的时候,要给出确定的left和top值,需要经过较多的计算,而在css3中,就不需要这么麻烦了,top和left直接设置成50%,然后利用css3的transform属性。这个属性有一个translate值,表示移动元素,只需给元素加上transform:translate(-50%,-50%)这句css即可。
需要注意的是,在给元素绝对定位的时候写的50%,表示父元素的宽高,而这里transform中的50%,表示元素自身的宽高,加上负号表示反向。
您好,你要求的是指定css3盒子布局的垂直居中1.首先是要使盒子为display:box
|
-webkit-box
|
-moz-box
2.设置元素的box-pack和box-align即可,这两个属性当前只有webkit和moz支持。
3.box-pack控制的是水平的左和右,取值有:start(居左),center(居中),end(居右)。
4.box-align的取值有:start(居上),center(居中),end(居下)。
如果我们要设置垂直居中的话只需要将这两个属性的值都设置为center即可