css3 如何让div里面的元素垂直居中

html-css016

css3 如何让div里面的元素垂直居中,第1张

您好,你要求的是指定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即可

因为“text-align:center”控制的是文本居中,div居中可以用外边距margin来实现。

1、新建html文件,在body标签中添加div标签,div标签中的内容为“演示文本”,添加题目中的css样式,为了方便演示,给div标签添加灰色背景,这时可以发现div靠近浏览器的左侧,文字在div中居中:

2、为div标签添加新的外边距“margin”属性,属性值为“0 auto”,“0”指的是上下外边距为0,“auto”指的是左右外边距为自适应:

3、这时无论浏览器的宽度是多少,div都会在浏览器上水平居中:

一、用margin负值,这种方法适合div的宽高固定。 position:absolute left:50% top:50% margin-left:-宽度的一半 margin-top:-高度的一半; 二、使用css3新属性translate,这个不需要固定宽高。 position:absolute left:50% top:50% transform:translate(-50% -50%) 三、使用flex布局,这个也不需要固定宽高。但是需要在父容器上面设置 display:flex justify-content:center align-items:center 四:将上下左右全设为0. position:absolute top:0 bottom:0 left:0 right:0 margin:auto 这样全部设为0后会拉伸图片充满父容器,然后margin设为auto会自动填充上外边距,就能实现居中。