經常會遇到這樣的頁面布局:在一排顯示幾個不同的區域內容,但它們相對于頁面是居中對齊的。注意這些區域內容不只是文字,也許還有圖片或者其它元素混合而成。一般這樣的布局我們很容易想到要用浮動float,但是怎么樣居中對齊而又兼容低端瀏覽器哪?請接著往下看。
首先看html代碼:
div class="webFooter">
div class="wrap">
div class="tabs">
ul>
li>
a href="javascript:void(0)">高大上平臺/a>em>|/em>
/li>
li>
a href="javascript:void(0)">關于我們/a>em>|/em>
/li>
li>
a href="javascript:void(0)">聯系我們/a>em>|/em>
/li>
li>
a href="javascript:void(0)">服務條款/a>em>|/em>
/li>
li>
a href="javascript:void(0)">人才招聘/a>em>|/em>
/li>
li>
a href="javascript:void(0)">幫助中心/a>em>|/em>
/li>
li>
a href="javascript:void(0)">幫助中心/a>em>|/em>
/li>
li>
a href="javascript:void(0)">幫助中心/a>em>|/em>
/li>
li>
a href="javascript:void(0)">幫助中心/a>em>|/em>
/li>
li>
a href="javascript:void(0)">客服中心/a>
/li>
/ul>
/div>
/div>
/div>
有人會說這些item都是文本,其實把ul換成其它元素(比如div)也是可行的。原理就是.wrap相對于頁面居中,寬度是1200px,當然也可以是1000px,寬度自由定義,只要大于內容寬度即可。然后.tabs左浮動并且設置position: relative; left: 50%; 然后為其內部元素ul設置float: left; position: relative; left: -50%; 最后要給.wrap加上overflow: hidden; *position: relative;
css代碼如下:
style type="text/css">
body, ul, li, ol, dl, dt, dd {padding: 0; margin: 0; list-style: none;}
.webFooter {height: 100px; font-size: 12px; background: #278ed1; font-family: Microsoft YaHei; color: #fff;}
.webFooter a,
.webFooter a:hover {color: #fff;}
.webFooter .wrap {width: 1200px; margin-left: auto; margin-right: auto; background: red; overflow: hidden; *position: relative;}
.webFooter .tabs {float: left; position: relative; left: 50%; margin-top: 25px;}
.webFooter .tabs ul {float: left; position: relative; left: -50%;}
.webFooter .tabs li {float: left; line-height: 17px;}
.webFooter .tabs a {float: left; font-size: 14px;}
.webFooter .tabs em {float: left; width: 20px; height: 15px; *line-height: 15px; text-align: center;}
/style>
解釋一下為什么要給.wrap加上overflow: hidden; *position: relative;哪?原因就是內容比較長的話,由于.tabs的left: 50%; 導致其位置超出了.wrap的寬度范圍,當顯示屏稍小的時候頁面會出現橫向滾動條,并且ie7比較頑固,要加*position: relative;才行。有興趣的端友可以去掉overflow: hidden; *position: relative;試一下,或者改變內容的多少再來試一下,相信會有不同的感覺!
最后,把ul改成div class="inner">(為.inner寫css:float: left; position: relative; left: -50%;)便可以在.inner里面寫你想要的浮動排版了(比如:來一個二維碼的圖片,再來一個客服電話及圖標,然后再來一個微博的鏈接...等等)。
您可能感興趣的文章:- 文字或圖片元素在DIV中垂直居中
- CSS如何使DIV層居中
- 讓2個DIV居中并排顯示
- Div上下居中
- 用js 讓圖片在 div或dl里 居中,底部對齊
- JS彈出居中的DIV的代碼
- 基于jQuery實現的水平和垂直居中的div窗口
- jquery div 居中技巧應用介紹
- Js制作簡單彈出層DIV在頁面居中 中間顯示遮罩的具體方法
- 浮動的div自適應居中顯示的js代碼
- JS實現div居中示例