方法一:对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%)。
以上四种方法的效果图如下显示
今天就跟大家分享这么多~如果你有更好的方法,请在下方留言
1、实现div下只有一个子div的水平居中办法如下:
.continer{
height:100px
width:100px
background-color:aqua
text-align: center//内联元素,使用text-align属性,可以修改对齐方式
}
.child{
display: inline//将子div设置为内联元素
}
<div class="continer">
<div class="child">我是子div</div>
</div>
2、实现div下只有多个子div的水平居中,思路是在多个子div外面再加一个div(假设命名为inner),同时inner设置为水平居中margin:0 auto,然后将多个子div设置在同一行,同时水平居中。代码如下:
.continer{
height:100px
width:500px
background-color:aqua
text-align: center
}
.inner{
margin:0 auto
text-align: center
background-color:chartreuse
}
.child{
display: inline-block
vertical-align: top
background-color: coral
}
<div class="continer">
<div class="inner">
<div class="child">我是子div1</div>
<div class="child">我是子div2</div>
<div class="child">我是子div3</div>
</div>
</div>
扩展资料:
使元素水平居中的几种方法:
1、如果是内联元素,比如span,img,a,input等,直接使用text-align:center
2、如果是块级元素,比如h1-h6标题元素,div,p,form,section等,方法如下:
1)父元素使用margin:0 auto
2)将块级元素设置为内联元素,使用display:inline或者disply:inline-block
3、使用flex布局,代码如下:
.box {
display: flex
justify-content: center/* 水平居中 */
align-items: center /* 垂直居中 */
width: 1000px
height: 600px
border: 1px solid red
}
.inner {
width: 300px
height: 200px
background-color: red
}
<div class="box">
<section class="inner"></section>
</div>