浮動元素橫排置中顯示執行個體教程

來源:互聯網
上載者:User
本文給大家分享的是完美實現相容各大瀏覽器的浮動元素橫排置中顯示的代碼,十分的簡單實用,有需要的小夥伴可以參考下。

經常會遇到這樣的頁面配置:在一排顯示幾個不同的地區內容,但它們相對於頁面是置中對齊的。注意這些地區內容不只是文字,也許還有圖片或者其它元素混合而成。一般這樣的布局我們很容易想到要用浮動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改成<p class="inner">(為.inner寫css:float: left; position: relative; left: -50%;)便可以在.inner裡面寫你想要的浮動排版了(比如:來一個二維碼的圖片,再來一個客服電話及表徵圖,然後再來一個微博的連結...等等)。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.