CSS未知高度垂直居中的實(shí)現(xiàn)
發(fā)布時(shí)間:2018-11-08 15:44:09 作者:程序員阿宇
我要評(píng)論
這篇文章主要介紹了CSS未知高度垂直居中的實(shí)現(xiàn),詳細(xì)的介紹了幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
本文主要介紹了CSS未知高度垂直居中的實(shí)現(xiàn),分享給大家,具體如下:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title> CSS垂直居中</title>
<style type="text/css">
.container{
width:500px;/*裝飾*/
height:500px;
background:#B9D6FF;
border: 1px solid #CCC;
}
</style>
</head>
<body>
<h1>垂直居中(table)</h1>
<div class='container'>
<table width="100%" height="100%">
<tr>
<td align="center" valign="middle">
<img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
</td>
</tr>
</table>
</div>
</body>
</html>
好了,我們看其CSS實(shí)現(xiàn)。凡是table能做到的,CSS都能做的,但各瀏覽器在CSS的差異比較大,因此要兼容它們難度很大。這涉及許多細(xì)節(jié),各種流啊,display的表現(xiàn)效果與CSS hack,IE早些年搞了大堆的私有屬性,這也有待我們深一步挖掘。我們先看最簡單的實(shí)現(xiàn),背景圖片法
背景圖片法

<!doctype html>
<html>
<head>
<title> CSS垂直居中</title>
<style type="text/css">
.container {
width:500px;
height:500px;
line-height:500px;
background:#B9D6FF url(http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg) no-repeat center center;
border:1px solid #f00;
text-align: center;
}
</style>
</head>
<body>
<h1>垂直居中</h1>
<div class="container">
</div>
</body>
</html>
CSS表達(dá)式法
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title>司徒正美 CSS垂直居中</title>
<style type="text/css">
.container{
/*IE8與標(biāo)準(zhǔn)游覽器垂直對齊*/
display: table-cell;
vertical-align:middle;
width:500px;/*裝飾*/
height:500px;
background:#B9D6FF;
border: 1px solid #CCC;
}
.container img{
display:block;/*讓其具備盒子模型*/
margin:0 auto;
text-align:center;
margin-top:expression((500 - this.height )/2);/*讓IE567垂直對齊 */
}
</style>
</head>
<body>
<h1>垂直居中(CSS表達(dá)式)</h1>
<div class="container">
<img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
</div>
</body>
</html>
絕對定位法
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title>司徒正美 CSS垂直居中</title>
<style type="text/css">
div {
/*IE8與標(biāo)準(zhǔn)游覽器垂直對齊*/
display:table-cell;
vertical-align:middle;
overflow:hidden;
position:relative;
text-align:center;
width:500px;/*裝飾*/
height:500px;
border:1px solid #ccc;
background:#B9D6FF;
}
div p {
+position:absolute;
top:50%
}
img {
+position:relative;
top:-50%;
left:-50%;
}
</style>
</head>
<body>
<h1>垂直居中(絕對定位)</h1>
<div class="container">
<p>
<img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
</p>
</div>
</body>
</html>
display:inline-block法
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title>司徒正美 CSS垂直居中</title>
<style type="text/css">
div {
display:table-cell;
vertical-align:middle;
text-align:center;
width:500px;
height:500px;
background:#B9D6FF;
border: 1px solid #CCC;
}
</style>
<!--[if IE]>
<style type="text/css">
i {
display:inline-block;
height:100%;
vertical-align:middle
}
img {
vertical-align:middle
}
</style>
<![endif]-->
</head>
<body>
<h1>垂直居中(inline-block法)</h1>
<div class="container">
<i></i>
<img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
</div>
</body>
</html>
writing-mode法
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title> CSS垂直居中</title>
<style type="text/css">
div{
width:500px;
height:500px;
line-height:500px;
text-align:center;
background:#B9D6FF;
border:1px solid #f00;
}
div span{
height:100%\9;
writing-mode:tb-rl\9;
}
div img{
vertical-align:middle
}
</style>
</head>
<body>
<h1>垂直居中(writing-mode法)</h1>
<div class="container">
<span>
<img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
</span>
</div>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CSS實(shí)現(xiàn)垂直居中的幾種方法小結(jié)
在前端布局過程中,我們實(shí)現(xiàn)水平居中比較簡單,一般通過margin:0 auto;和父元素 text-align: center;就能實(shí)現(xiàn)。今天小編給大家?guī)砹薈SS實(shí)現(xiàn)垂直居中的幾種方法小結(jié),感興2019-05-14
CSS實(shí)現(xiàn)垂直居中的七個(gè)方法實(shí)例代碼詳解
這篇文章主要介紹了CSS實(shí)現(xiàn)垂直居中的七個(gè)方法實(shí)例代碼詳解,需要的朋友可以參考下2019-05-06- 這篇文章主要介紹了css兩種垂直居中對齊解決方案的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一2019-04-30
css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))
本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-01
利用css樣式實(shí)現(xiàn)表格中字體垂直居中的方法
這篇文章主要介紹了利用css樣式實(shí)現(xiàn)表格中字體垂直居中的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-16



