有趣的居中方式

古老的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退出历史舞台前还得放弃这种居中方式。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值