2015-09-08 45 views
2

如果我从锚元素中删除position: relative;,则所有元素具有相同的宽度,但其位置为:relative;他们是不同的大小?为什么元素宽度与位置不同:相对?

前2个元素~48px,第三个元素~44px。 我该如何解决它?

@import "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"; 
 

 
a { 
 
    -moz-box-sizing: border-box; 
 
    -webkit-box-sizing: border-box; 
 
    background-color: #000; 
 
    border: none; 
 
    box-sizing: border-box; 
 
    color: #fff; 
 
    font-size: 16px; 
 
    margin-right: 20px; 
 
    outline: none; 
 
    padding: 0.75em 0.75em 0.75em 0.75em; 
 
    text-decoration: none; 
 
    position: relative; 
 
}
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a> 
 

 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a> 
 

 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a>

+0

“我怎样才能解决这个问题” 还有什么解决?什么是你打的标志?他们需要宽度吗?这可以设置在CSS和行内块他们? – atmd

+1

对我来说(Firefox)'position:relative'没有区别。但是当你删除''和''之间(之前和之后)的空白时,问题就没有了。 – Boldewyn

+1

这不是因为“位置:相对” - 你在元素之间有空格,这就是说 - [jsfiddle](http://jsfiddle.net/np3av855/1) – Vucko

回答

2

我总是发现内联元素出现异常将填充添加到他们的时候,如果你只是做锚inline-block的,它也将解决你的问题:

@import "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"; 
 

 
a { 
 
    display:inline-block; 
 
    -moz-box-sizing: border-box; 
 
    -webkit-box-sizing: border-box; 
 
    background-color: #000; 
 
    border: none; 
 
    box-sizing: border-box; 
 
    color: #fff; 
 
    font-size: 16px; 
 
    margin-right: 20px; 
 
    outline: none; 
 
    padding: 0.75em 0.75em 0.75em 0.75em; 
 
    text-decoration: none; 
 
    position: relative; 
 
}
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a> 
 

 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a> 
 

 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i> 
 
</a>

1

position:relative不是一个引起问题,但HTML的格式。试着这样写的:

@import "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"; 
 
a { 
 
    -moz-box-sizing: border-box; 
 
    -webkit-box-sizing: border-box; 
 
    background-color: #000; 
 
    border: none; 
 
    box-sizing: border-box; 
 
    color: #fff; 
 
    font-size: 16px; 
 
    margin-right: 20px; 
 
    outline: none; 
 
    padding: 0.75em 0.75em 0.75em 0.75em; 
 
    text-decoration: none; 
 
    position: relative; 
 
}
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i></a> 
 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i></a> 
 
<a href="#"> 
 
    <i class="fa fa-fw fa-anchor"></i></a>

+1

你的变体也很棒,但是在将来这个标记将由php生成,所以我无法控制格式。 – kovalevsky

相关问题