2016-09-27 70 views
0

爲什麼自動寬度定義的元素不會居中當我嘗試爲它分配邊距(左和右)自動?是否有任何技巧,除了邊距以自動寬度爲中心的元素?寬度自動不居中

下面是代碼:

<div style="width:auto; margin:0 auto 50px;"> 
<a href="#">Dummy link</a> 
</div> 

回答

1

display: inline-block添加到,並從您當前的<div>中刪除width:auto。然後,創建一個外部<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/

+0

完美的作品 – AndrewMk

0

你可以給text-align:center於母公司的股利(如有)。

要使用margin-auto我們需要指定div的寬度。對於div和p標籤,auto將佔用100%的寬度。

如果你能找到,並給特定寬度DIV,這樣,其他基於瀏覽器suppport您使用屬性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>

+0

這工作,但我真的想做到的是創建一個包含「虛擬鏈接」字框,該框應該是這個詞的確切寬度。當我給它一個寬度自動和背景色時,它橫向延伸。 – AndrewMk

+0

@AndrewMk:將屬性'display:inline-block'賦予你的div,然後它的寬度不會超過其內容的寬度。那是你要的嗎? –

+0

現在是否包含錨的div不居中,儘管我有餘量:0 auto 50px; – AndrewMk