DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS進階教程 >> CSS基礎教程:CSS網頁布局Page Layout
CSS基礎教程:CSS網頁布局Page Layout
編輯:CSS進階教程     
使用CSS布局非常簡單,如果你習慣使用tables布局,可能開始時有點困難,但其實很容易,事實上只是觀念的不同。
  你需要把網頁的每個部分看成獨立的塊,你可以絕對或相對定位塊。

Positioning 定位

  positon屬性可以指定元素為absolute,relative,static或是fixed。
  static是元素默認屬性,按HTML出現的先後順序。
  relative比較像static,但元素可以使用top,right,bottom和left設定初始屬性。
  absolute把元素從HTML裡面拉出,一切由它自己決定,在這裡,絕對定位元素可以使用top,right,bottom,left定位在任何地方。
  fixed行為像absolute,但它絕對定位的元素參照浏覽器窗口與網頁沒有關系。所以,理論上,fixed元素可以固定在屏幕上當頁面滾動時。為什麼說是理論上的?因為IE7以下的浏覽器不支持。

  使用絕對定位布局
  可以使用絕對定位創建傳統的兩列布局,如下:

<div id="navigation">
    <ul>
        <li><a href="this.html">This</a></li>

        <li><a href="that.html">That</a></li>
        <li><a href="theOther.html">The Other</a></li>
    </ul>

</div>
<div id="content">
    <h1>Ra ra banjo banjo</h1>
    <p>Welcome to the Ra ra banjo banjo page. Ra ra banjo banjo. Ra ra banjo banjo. Ra ra banjo banjo.</p>
    <p>(Ra ra banjo banjo)</p>

</div>
  上面加上CSS:

#navigation {
    position: absolute;
    top: 0;
    left: 0;

    width: 10em;
}
#content {
    margin-left: 10em;
}
  上面導航條設定在左邊,寬度是10em。因為導航條是絕對定位,所以流動的頁面上什麼也不動,需要設定內容的左邊margin等於導航條的寬度。

  真是簡單。你沒有限制這兩列的距離,使用聰明的布局,你可以隨心所欲安排許多塊。如果你想添加第三列,比如:

#navigation {
    position: absolute;
    top: 0;
    left: 0;
    width: 10em;
}
#navigation2 {
    position: absolute;
    top: 0;
    right: 0;
    width: 10em;
}
#content {
    margin: 0 10em; /* setting top and bottom margin to 0 and right and left margin to 10em */
}
  最後階段去絕對定位元素,因為它們獨立存在,無法正確了解它們哪裡結束。如果你使用上面的例子,所有的頁面有小的導航條和大的內容區域到可以,但是,特別是寬度和大小使用相對值,你必須經常放棄定位的希望,比如位於元素最下面的底部布局。如果你想定位底部,采用浮動模式比絕對定位好。

Floating 浮動

  浮動元素可以在一條線上移動。
  浮動一般使用在定位頁面裡的小型元素,但也可使用在大塊裡,比如導航。
  上面的HTML例子使用下面CSS:

#navigation {
    float: left;
    width: 10em;
}
#navigation2 {
    float: right;
    width: 10em;
}
#content {
    margin: 0 10em;
}
  如果你不希望接下來的元素包圍浮動對象,可以使用clear屬性。clear:left清除浮動在左邊的元素,clear:right清除浮動在右邊的元素,clear:both清除所有。如果你想添加底部footer,可以像下面:

#footer {
    clear: both;
}
  footer將在所有列下面,不管它們的長度如何。
  這篇介紹了定位和浮動的基本情況,強調頁面的大塊,但記住,上面方法可以運用到塊裡面的任何元素。通過組合使用position,floating,margins,padding和border,你可以表現出任何網頁設計,table布局能做的CSS沒有什麼不能做。
  使用表格布局的理由就是考慮古老的浏覽器。CSS的優勢在於擁有很高的可用性,而且體積上只有使用table布局的部分大小。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved