本文轉自:http://hi.baidu.com/feiji123/blog/item/899499192cf7254743a9ad9c.html

          我們設置某個對象水平方向居中的時候,常常將左右的外邊距設置為auto來實現。如:div { margin: 0 auto; }

          body{text-align:center}與margin:0 auto的區別如下:

          1.text-align:center設置文本或img標簽等一些內聯對象(或與之類似的元素)的居中。

          2.margin:0 auto設置塊元素(或與之類似的元素)的居中。

          這兩個屬性IE與FF的理解也有所不同。我們設置一個段落P,在段落內存在一個圖片img標簽。  
          1.當設置body{text-align:center;}。得到下面的圖片:

          IE中,段落P,圖片img同時實現了居中對齊,也就是說text-align:center;同時作用于元素p與元素img
          FF中,段落P,沒有能實現居中對齊,而圖片img實現了居中對齊,也就是說text-align:center;作用于img標簽,而段落p標簽沒有起到居中的作用。
          2.當設置段落 p {margin:0 auto;}。得到下面的圖片

          在IE與FF中,段落P均實現了居中對齊。圖片img由于不是作用對象,所以不會居中對齊。

          有三種情況需要說明:
          1.margin:0 auto;的選擇器是作用對象,如div,p,而不是body。如果設置:body { margin:0 auto; }將不會達到任何效果,除非你定義body的寬度,那將會讓body內的元素產生位置變化。如我們設置body寬度為500px。對p段落不作任何設置,我們最大化窗口將會看到段落并非處于窗口的最左上角。
          2.設置段落 p {text-align:center;} 將要實現的并不是段落本身的對齊方式,而是段落內元素居中對齊。
          3.設置圖片標簽img {margin:0 auto;} ,就犯了一個小錯誤,img類于內聯對象,不可以設置圖片img標簽的margin屬性,如果一定要設置,那么先將它的屬性轉變為塊元素,如下面的代碼:img {display:block; margin:0 auto;}
          如何使用:
          1.如果頁面中的元素,均位于div標簽或其它塊元素內,進行了合理的嵌套,我們不必設置body{text-align:center}。只需要設置相應的div元素margin:0 auto;即可。如上面的代碼所講述,頁面中的元素均位于段落p標簽中,只需要將段落居中即可。
          2.如果頁面中的元素,有一部分不是在div標簽或其它塊元素內,我們需要設置body{text-align:center}。但也會遇到問題,這樣設置以后,大部分內聯元素,都居中對齊了,包括頁面中其它的一些文本,還需要進行相應的調整才能適應設計的需要。如:我們設置body內有一個段落P,在段落內有一個圖片img及一段文本,在body內還存在一個獨立的圖片img,看下面的圖片

          我們實現了段落p的居中,同時也讓位于段落外的圖片實現了居中,但段落中的圖片與文本居中對齊了


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 40, comments - 9, trackbacks - 0, articles - 9

          Copyright © 希

          主站蜘蛛池模板: 南郑县| 达拉特旗| 禹城市| 昌黎县| 社会| 邵阳县| 崇仁县| 长武县| 靖安县| 新野县| 聂拉木县| 乐东| 青海省| 赤峰市| 芜湖市| 利川市| 佛冈县| 盐津县| 剑川县| 茂名市| 根河市| 汉沽区| 花莲县| 托克逊县| 留坝县| 沙坪坝区| 长沙市| 多伦县| 祥云县| 保德县| 宜兰县| 丹寨县| 长葛市| 富蕴县| 临沭县| 洱源县| 天水市| 兴山县| 洛南县| 吉木萨尔县| 剑河县|