有趣的居中方式


古老的center標簽已經廢棄了,css的text-align取代了它。

 

一、text-align 可以使行內元素居中,也可以使塊級元素中的文本居中

如下代碼

<div style="width:400px;border:1px solid gray;padding:5px;text-align:center;">
    <span style="background:yellow;">使用text-align使行內元素span居中</span>
</div>
<br>
<div style="width:400px;border:1px solid gray;padding:5px;text-align:center;">
    <p style="background:red;">使用text-align使行內元素span居中</p>
</div>

  

  

效果如圖

可見:第一個text-align使得文本和SPAN都居中,第二個text-align則只能使文本居中,塊級元素P則沒有居中。關於text-align的演變及瀏覽器兼容性參考 RT8003

 

二、margin 自動空白邊僅能使塊級元素居中

如下代碼

<div style="width:400px;border:1px solid gray;padding:5px;">
    <span style="background:yellow;width:220px;margin:0 auto">使用margin:auto不能使行內元素居中</span>
</div>
<br>
<div style="width:400px;border:1px solid gray;padding:5px;">
    <p style="background:red;width:220px;margin:0 auto">使用margin:auto使塊級元素居中</p>
</div>

  

效果如圖

可見:自動空白邊並不能使行內元素SPAN(inline-block也不能)居中,但可以使得塊級元素P居中。

 

三、絕對定位居中(position, left, right)

代碼如下

<div style="width:400px;height:50px;border:1px solid gray;position:relative;">
    <span style="background:yellow;position:absolute;left:60px;right:60px;">使用絕對定位居中行內元素</span>
</div>
<br>
<div style="width:400px;height:50px;border:1px solid gray;position:relative;">
    <p style="background:red;position:absolute;left:50px;right:50px;">使用絕對定位方式居中塊級元素</p>
</div>

  

效果如圖

父元素使用relative,子元素SPAN和P絕對定位后無需設置width,它會根據left,right值自動計算元素的寬度。這種居中方式很有意思,也很實用。可惜IE6不能正確解析,它忽略了right的值。因此在IE6退出歷史舞台前還得放棄這種居中方式。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM