zoukankan      html  css  js  c++  java
  • 有趣的居中方式

    古老的center标签已经废弃了,css的text-align取代了它。

    一、text-align 可以使行内元素居中,也可以使块级元素中的文本居中

    如下代码

    <div style="400px;border:1px solid gray;padding:5px;text-align:center;">
        <span style="background:yellow;">使用text-align使行内元素span居中</span>
    </div>
    <br>
    <div style="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="400px;border:1px solid gray;padding:5px;">
        <span style="background:yellow;220px;margin:0 auto">使用margin:auto不能使行内元素居中</span>
    </div>
    <br>
    <div style="400px;border:1px solid gray;padding:5px;">
        <p style="background:red;220px;margin:0 auto">使用margin:auto使块级元素居中</p>
    </div>
    

      

    效果如图

    可见:自动空白边并不能使行内元素SPAN(inline-block也不能)居中,但可以使得块级元素P居中。

    三、绝对定位居中(position, left, right)

    代码如下

    <div style="400px;height:50px;border:1px solid gray;position:relative;">
        <span style="background:yellow;position:absolute;left:60px;right:60px;">使用绝对定位居中行内元素</span>
    </div>
    <br>
    <div style="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退出历史舞台前还得放弃这种居中方式。

  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/snandy/p/3331013.html
Copyright © 2011-2022 走看看