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

查看:464
本文介绍了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,div,ul,li,a,form{margin: 0;padding: 0;}
   #div1{border: 1px solid black;width: 800px;height: 50px;}
   #div1 a{margin: 0 auto;display:block;}
   </style>
   <script type="text/javascript">
   </script>
</head>
<body>
<div id="div1">
    <a href="#">aaaaaaaaaaaaassssssssssssss</a>
  </div>
</body>
</html>```

解决方案

block属性标签居中的时候需要设置宽度,你修改成这样就行了

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

原因其实也很简单,当没有设置宽度的时候a标签设置为block会占据整个父元素的宽度(流式布局)那么

margin:0 auto == margin:0 0

所以就没有居中效果,设置了宽度之后,就会感觉你的宽度和父元素的宽度计算marigin

这篇关于css - 这个a标签为什么不能水平居中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆