CSS div居中的几种方法

html-css012

CSS div居中的几种方法,第1张

CSS实现div垂直居中的方法有很多,下面div居中的几种方法是自己平时写网页中经常用到的,最常见的例子就是登录注册弹出框。

方法一:对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%)。

以上四种方法的效果图如下显示

今天就跟大家分享这么多~如果你有更好的方法,请在下方留言

我们进行页面开发的时候,最经常用的就是div标签了,那么div中的内容如何居中显示呢,下面我给大家分享一下。

工具/材料

SublimeText

首先我们用sublime先创建一个html,并且在html里面加入div,如下图所示

然后我们在div中加入一些文字,如下图所示,文字用span包裹起来

运行页面程序以后我们会看到文字在div的左上角,并没有居中的效果,如下图所示

接下来我们就需要用CSS给div中的内容设置居中了,如下图所示,通过text-align和line-height实现

最后运行界面程序,我们看到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会自动填充上外边距,就能实现居中。