首頁  >  問答  >  主體

css - 这个a标签为什么不能水平居中?

不是一般标签居中都用margin:0 auto;吗 文本一般用text-align:center;为什么这里a标签不能水平居中呢?下面这句话是我百度出来的 为什么我给a标签设置display:block了
用margin:0 auto也不能居中呢?只能加text-align:center才能居中 这是为什么?

1.text-align:center 设置文本或img标签等一些内联对象(或与之类似的元素)的居中。
2.margin:0 auto 设置块元素(或与之类似的元素)的居中。

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>主页</title>
   <style type="text/css">
   body,p,ul,li,a,form{margin: 0;padding: 0;}
   #p1{border: 1px solid black;width: 800px;height: 50px;}
   #p1 a{margin: 0 auto;display:block;}
   </style>
   <script type="text/javascript">
   </script>
</head>
<body>
<p id="p1">
    <a href="#">aaaaaaaaaaaaassssssssssssss</a>
  </p>
</body>
</html>"
PHP中文网PHP中文网2742 天前980

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-17 13:15:43

    block屬性標籤居中的時候需要設定寬度,你修改成這樣就行了

    #p1 a{width:100px;margin: 0 auto;display:block;}
    

    原因其實也很簡單,當沒有設定寬度的時候a標籤設定為block會佔據整個父元素的寬度(串流佈局)那麼

    margin:0 auto == margin:0 0
    

    所以就沒有居中效果,設定了寬度之後,就會感覺你的寬度和父元素的寬度計算marigin

    回覆
    0
  • 取消回覆