本文要跟大家分享的是完美實現相容各大瀏覽器的浮動元素橫排居中顯示的程式碼,十分的簡單實用,有需要的小夥伴可以參考下。
經常會遇到這樣的頁面佈局:在一排顯示幾個不同的區域內容,但它們相對於頁面是居中對齊的。注意這些區域內容不只是文字,也許還有圖片或其它元素混合而成。一般這樣的版面我們很容易想到要用浮動float,但是怎麼樣居中對齊而又相容於低階瀏覽器哪?請接著往下看。
首先看html程式碼:
<p class="webFooter"> <p class="wrap"> <p 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> </p> </p> </p>
有人會說這些item都是文本,其實把ul換成其它元素(例如p)也是可行的。原理就是.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改成bb4ef53b7bbe8f6e1c529c7052ab1904(為.inner寫css:float: left; position: relative; left: -50%;)便可以在.inner裡面寫你想要的浮動排版了(例如:來一個二維碼的圖片,再來一個客服電話及圖標,然後再來一個微博的連結...等等)。
以上是浮動元素橫排居中顯示實例教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!