水平居中方式
- 1.margig:0 auto;(不能受到float影響)
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border: 3px solid red;
/*text-align: center;*/
}
img{
display: block;
width: 100px;
height: 100px;
margin: 0 auto;
}
</style>
<!--html-->
<body>
<div class="box">
![](..)
</div>
</body>
-
2.text-align: center;(文本水平居中)
設(shè)置在父元素上
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border: 5px solid red;
text-align: center;
}
img{
display: block;
width: 100px;
height: 100px;
/*margin: 0 auto;*/
}
</style>
<body>
<div class="box">
![](images/1.jpg)
<p>文本內(nèi)容</p>
</div>
</body>
水平垂直居中方式
- 1.子絕父相定位居中
- 子絕父相定位到top值50%,left值50%。需要定位的元素的margin-top/margin-left減去寬高的一半静暂。
- 這種方法的局限性在于需要知道需要垂直居中的寬高才能實(shí)現(xiàn)坯台,經(jīng)常使用這種方法
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border:5px solid red;
position: relative; //父相
}
img{
width: 100px;
height: 100px;
position: absolute; //子絕
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -50px;
}
</style>
<body>
<div class="box" >
![](images/2.jpg)
</div>
</body>
-
2.子絕父相定位和margin:auto;
這個(gè)方法也很實(shí)用坐桩,不用受到寬高的限制,也很好用
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border:5px solid red;
position: relative;
}
img{
width: 100px;
height: 100px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
</style>
<body>
<div class="box" >
![](images/3.jpeg)
</div>
</body>
-
3.子絕父相定位和transfrom
這個(gè)方法比較高級(jí)滞磺,用到了形變,據(jù)我所知很多大神喜歡使用這個(gè)方法進(jìn)行定位膏秫,逼格很高的方法侮措。
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border:5px solid red;
position: relative;
}
img{
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%); //平移(水平值懈叹,垂直值)
}
</style>
<body>
<div class="box" >
![](images/4.jpg)
</div>
</body>
-
4.diplay:table-cell
其實(shí)這個(gè)就是把其變成表格樣式,再利用表格的樣式來(lái)進(jìn)行居中分扎,很方便
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border:5px solid red;
display: table-cell;
vertical-align: middle; //垂直居中
text-align: center; //水平居中
/*margin: 100px auto;*/ //受影響
}
img{
width: 100px;
height: 100px;
}
</style>
<body>
<div class="box" >
![](images/5.jpg)
</div>
</body>
-
5.display:flex;居中
這個(gè)用了C3新特性flex,非常方便快捷澄成,在移動(dòng)端使用完美,pc端有兼容性問題畏吓。
<style>
*{
padding: 0;
margin: 0;
}
.box{
width: 300px;
height: 300px;
border:5px solid red;
display: flex;
justify-content: center;
align-items:center;
/*margin: 100px auto;*/ //不受影響
}
img{
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<div class="box" >
![](images/4.jpg)
</div>
</body>
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者