当我尝试为其分配自动边距(左和右)时,为什么定义了自动宽度的元素不会居中?除了使用自动宽度居中元素的边距之外是否还有其他技巧?
以下是代码:
<div style="width:auto; margin:0 auto 50px;">
<a href="#">Dummy link</a>
</div>
答案 0 :(得分:1)
向您当前的display: inline-block
添加width:auto
并删除<div>
。然后,创建一个外部<div>
,如果您还没有,请添加text-align: center
。
<div style="text-align:center;">
<div style="display:inline-block; margin:0 auto 50px;">
<a href="#">Dummy link</a>
</div>
</div>
的jsfiddle: https://jsfiddle.net/uLp7qj3e/
答案 1 :(得分:0)
如果有的话,您可以将text-align:center
提供给父级。
要使用margin-auto
,我们需要指定div的宽度。对于div和p标签,auto
将占用100%的宽度。
如果您能找到并给出div的特定宽度,那么根据您的浏览器支持您使用属性width:max-content;
,请阅读here
您可以将浏览器黑客用作:
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
示例摘录:
<div style="background:red;margin:auto;width:intrinsic;width:-moz-max-content;width:-webkit-max-content;">
<a href="#">Dummy link</a>
</div>