国产AV无码专区亚洲精品,亚洲精品无码Av人在线观看国产,国产亚洲精品看片在线观看 http://www.tkk7.com/goodlyts/category/32550.htmlzh-cnFri, 17 Apr 2009 16:38:44 GMTFri, 17 Apr 2009 16:38:44 GMT60CSS實(shí)現(xiàn)完美垂直居中 http://www.tkk7.com/goodlyts/archive/2009/04/17/266217.html流腥魚流腥魚Fri, 17 Apr 2009 11:59:00 GMThttp://www.tkk7.com/goodlyts/archive/2009/04/17/266217.htmlhttp://www.tkk7.com/goodlyts/comments/266217.htmlhttp://www.tkk7.com/goodlyts/archive/2009/04/17/266217.html#Feedback0http://www.tkk7.com/goodlyts/comments/commentRss/266217.htmlhttp://www.tkk7.com/goodlyts/services/trackbacks/266217.html之前看到很多人一直都問這個(gè)問題,不過當(dāng)時(shí)我沒當(dāng)一回事,因?yàn)樵?CSS 中要垂直居中,多數(shù)是在有高度的情況下,或者容器高度不定的情況下才用,看上去比較舒服,而且實(shí)現(xiàn)的方法也不少,不一定要拘泥于和 table 布局一樣。不過最近有人問了幾個(gè)例子,看來對(duì)此的需求還不少。現(xiàn)在就把我經(jīng)驗(yàn)?zāi)贸鰜矸窒硪幌拢M蠹夜墓恼啤?/p>

首先,要有一個(gè)概念:凡是 table 布局可以實(shí)現(xiàn)的,CSS 一定可以實(shí)現(xiàn)。CSS 可以實(shí)現(xiàn)的,table 未必能做到。

現(xiàn)在來幾個(gè)例子:

一、單行內(nèi)容的居中
只考慮單行是最簡(jiǎn)單的,無論是否給容器固定高度,只要給容器設(shè)置 line-heightheight,并使兩值相等,再加上 over-flow: hidden 就可以了

.middle-demo-1{
height: 4em;
line-height: 4em;
overflow: hidden;
}

優(yōu)點(diǎn):
1. 同時(shí)支持塊級(jí)和內(nèi)聯(lián)極元素
2. 支持所有瀏覽器
缺點(diǎn):
1. 只能顯示一行
2. IE中不支持<img>等的居中
要注意的是:
1. 使用相對(duì)高度定義你的 height 和 line-height
2. 不想毀了你的布局的話,overflow: hidden 一定要
為什么?
請(qǐng)比較以下兩個(gè)例子:


[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]

上一個(gè)高度是用的絕對(duì)單位px,并且沒有隱藏溢出,下一個(gè)高度用的單位是相對(duì)單位em,并且隱藏了溢出。如果你的瀏覽器支持放大字體,那么盡情地放大字體,看看會(huì)出現(xiàn)什么效果。

二、多行內(nèi)容居中,且容器高度可變
也很簡(jiǎn)單,給出一致的 padding-bottom 和 padding-top 就行

.middle-demo-2{
padding-top: 24px;
padding-bottom: 24px;
}

優(yōu)點(diǎn):
1. 同時(shí)支持塊級(jí)和內(nèi)聯(lián)極元素
2. 支持非文本內(nèi)容
3. 支持所有瀏覽器
缺點(diǎn):
容器不能固定高度

三、把容器當(dāng)作表格單元
CSS 提供一系列diplay屬性值,包括 display: table, display: table-row, display: table-cell 等,能把元素當(dāng)作表格單元來顯示。這是再加上 vertical-align: middle, 就和表格中的 valign="middle" 一樣了。

.middle-demo-3{
display: table-cell;
height: 300px;
vertical-align: middle;
}

可惜IE不支持這些屬性,不過在其他瀏覽器上顯示效果非常完美。
要注意的是:和一個(gè)合法的<td>元素必須在<table>里一樣,display: table-cell 元素必須作為 display: table 的元素的子孫出現(xiàn)。

優(yōu)點(diǎn):
不用說了吧,就是表格,效果和表格一模一樣
缺點(diǎn):
IE下無效

四、以毒攻毒!用 IE 的 bug 解決 IE 中的絕對(duì)居中
先不得不說一句,IE 真的是個(gè)很爛的瀏覽器,CSS1中的定義都不支持,害得要我們轉(zhuǎn)個(gè)大圈子來造居中。不過就像我說的,凡是 table 布局可以實(shí)現(xiàn)的,CSS 一定可以實(shí)現(xiàn),即使在 IE 里也不例外。我研究 IE layout 模式多年,還是找出了一個(gè)可以在 IE 中絕對(duì)居中的方法。這個(gè)方法就是基于 IE layout 的 bug,也可以算以毒攻毒。至于原理,不要問我,這是獨(dú)門秘學(xué),何況三言兩語也講不清楚,只要好用就行

.middle-demo-4{
height: 300px;
position: relative;
}
.middle-demo-4 div{
position: absolute;
top: 50%;
left: 0;
}
.middle-demo-4 div div{
position: relative;
top: -50%;
left: 0;
}

五、整合三和四,寫出支持所有瀏覽器的垂直居中容器!
思路是利用 IE 和 非IE 瀏覽器的 CSS hack, 整合三和四的CSS,寫出兼容主流瀏覽器的垂直居中容器。具體代碼就不給出了,大家權(quán)當(dāng)作練習(xí)練習(xí)。例子可以在下面的附錄中找到。
最終實(shí)測(cè)支持的瀏覽器:IE6+, Mozilla 1.7, Netscape Navigator 8, Opera 8.0+, Firefox 1.0+ 和 Safari 1.0+IE5 下需要加上對(duì)合適模型的補(bǔ)正。
推測(cè)支持的瀏覽器:Mozilla 1.5+, Netscape Navigator 7+, Opera 7+
未測(cè)試瀏覽器:Konqueror

最后附上自己寫的,所有居中布局的范例網(wǎng)頁,大家不明白可以參考。


[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]


]]>
主站蜘蛛池模板: 亚洲国产综合自在线另类| 国产亚洲av片在线观看16女人| 亚洲国产精品狼友中文久久久| 国产亚洲精品a在线观看| 亚洲福利视频一区| 亚洲一级毛片中文字幕| 豆国产96在线|亚洲| 国产精品免费久久久久电影网| 久草视频在线免费看| 67194熟妇在线永久免费观看| 国产精品免费看久久久久| 久久亚洲中文字幕精品一区四| 久久99亚洲网美利坚合众国| 亚洲欧美日韩中文字幕在线一区| 免费播放国产性色生活片| 免费h视频在线观看| 国产免费不卡v片在线观看| 免费成人在线观看| 久久亚洲AV无码精品色午夜麻| 亚洲毛片基地4455ww| 免费中文字幕视频| 在线a免费观看最新网站| 国产禁女女网站免费看| 亚洲国产精品无码专区影院| 亚洲va久久久久| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 天天摸天天碰成人免费视频| 国产精品亚洲αv天堂无码 | 亚洲色爱图小说专区| 亚洲人6666成人观看| 一出一进一爽一粗一大视频免费的| 91精品国产免费久久国语蜜臀| 国产精品麻豆免费版| 久久精品国产亚洲AV高清热| 欧洲亚洲综合一区二区三区| 最近2019免费中文字幕6| 亚洲AV无码不卡在线观看下载| 精品亚洲麻豆1区2区3区| yellow视频免费在线观看| 精品福利一区二区三区免费视频| 亚洲国产成人久久综合一区77|