方法一:对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中的内容这次水平和垂直都居中了,如下图所示
这样:
body{margin:0padding:0width:100%
height:100%
}div{position:absolutetop:50%left:50%margin-top:-250px margin-left:-250px/*此时宽和高都要固定*/width:500pxheight:500px}body{
margin:0
padding:0
width:100%
height:100%
}
div{
position:absolute
top:50%
left:50%
margin-top:-250px
margin-left:-250px
/*此时宽和高都要固定*/
width:500px
height:500px
}
扩展资料:注意事项
一、用两个值就可以了
1、text-align:center
//这是让文字左右居中
2、line-height:100px
//这是让文字垂直居中
vertical-align:middle
//这个属性不能让文字垂直居中,该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
二、多行文本垂直居中分为两种情况,一个是父级元素高度不固定,随着内容变化;另一个是父级元素高度固定。
1、父级元素高度不固定
父级高度不固定的时,高度只能通过内部文本来撑开。可以通过设置内填充(padding)的值来使文本看起来垂直居中,只需设置padding-top和padding-bottom的值相等:
<!--html代码-->
<divid="div1">
这是多行文本垂直居中,
这是多行文本垂直居中,
这是多行文本垂直居中,
这是多行文本垂直居中。
</div>
/*css代码*/
#div1{
width:300px
margin:50pxauto
border:1pxsolidred
text-align:center/*设置文本水平居中*/
padding:50px20px
}
2、父级元素高度固定
只对拥有valign特性的元素才生效,结合display:table,可以使得div模拟table属性。因此可以设置父级div的display属性:display:table;然后再添加一个div包含文本内容,设置其display:table-cell和vertical-align:middle。