經(jīng)常會遇到這樣的頁面布局:在一排顯示幾個不同的區(qū)域內(nèi)容,但它們相對于頁面是居中對齊的。注意這些區(qū)域內(nèi)容不只是文字,也許還有圖片或者其它元素混合而成。一般這樣的布局我們很容易想到要用浮動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)">關(guān)于我們/a>em>|/em> /li> li> a href="javascript:void(0)">聯(lián)系我們/a>em>|/em> /li> li> a href="javascript:void(0)">服務(wù)條款/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,寬度自由定義,只要大于內(nèi)容寬度即可。然后.tabs左浮動并且設(shè)置position: relative; left: 50%; 然后為其內(nèi)部元素ul設(shè)置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;哪?原因就是內(nèi)容比較長的話,由于.tabs的left: 50%; 導致其位置超出了.wrap的寬度范圍,當顯示屏稍小的時候頁面會出現(xiàn)橫向滾動條,并且ie7比較頑固,要加*position: relative;才行。有興趣的端友可以去掉overflow: hidden; *position: relative;試一下,或者改變內(nèi)容的多少再來試一下,相信會有不同的感覺!
最后,把ul改成div class="inner">(為.inner寫css:float: left; position: relative; left: -50%;)便可以在.inner里面寫你想要的浮動排版了(比如:來一個二維碼的圖片,再來一個客服電話及圖標,然后再來一個微博的鏈接...等等)。