2012-04-12 132 views
17

我想強調我的導航菜單,但問題是我需要它更厚,所以我使用底部邊框,以便我可以將寬度設置爲6px。使底部邊框更接近文本

我似乎弄清楚如何讓邊框看起來更接近文本。文本和底部邊界之間似乎有大約10px的差距,我不想擁有任何內容。

我試圖定位另一個div,並將它定位爲{{}}的每個{li},但似乎無法使其工作。

這裏就是我有這麼

CODE

<div id="menu"> 
    <ul> 
     <li><a href="#home">home</a></li> 
     <li><a href="#about">About</a></li> 
     <li><a href="#contact">Contact</a></li> 
    </ul> 
</div> 

CSS

#menu { 
position: fixed; 
left: 25%; 
clear: both; 
float: left; 
font-size: 80px; 
z-index: 500; 
filter: alpha(opacity=75); 
opacity: .75; 
} 

#menu ul{ 
text-decoration: none; 
list-style-type: none; 
margin: 0; 
padding: 0; 
line-height: 90px; 
} 

#menu ul li{ 
text-decoration: none; 
list-style-type: none; 
margin: 0; 
} 

#menu ul li a{ 
border-bottom: 6px solid #000; 
text-decoration: none; 
list-style-type: none; 
color: #000; 
} 

#menu ul li a:hover{ 
} 

回答

17

可以使用的line-heightmargin的混合物,以爭取這樣的效果,如下所示:

#menu ul li a { 
    border-bottom: 6px solid #000000; 
    color: #000000; 
    display: block; 
    line-height: 50px; 
    list-style-type: none; 
    margin: 20px 0; 
    text-decoration: none; 
} 
+4

不適合放置2行以上的文本集 – Alexufo 2014-06-14 10:24:56

-2

嘗試添加此:

padding-bottom: 5px; 

#menu ul li a{ 
+0

感謝您的回覆。 我試過你的建議,只是強迫邊界離文本更遠。 – Michael 2012-04-12 21:05:48

+0

嘗試使其成爲負數 – 2012-04-12 21:06:46

+4

負填充什麼都不做。 – 2012-04-12 21:31:52

1

嘗試this(原點俄語http://artgorbunov.ru/bb/soviet/20120510/)製品的方法(背景梯度和http://jsfiddle.net/d3WG6/

<p>Зигварт считал <a><span>критерием истинности необходимость и&nbsp;общезначимость, для&nbsp;которых нет никакой опоры</span></a> в&nbsp;объективном мире.</p> 

a { font-size: 50%; border-bottom: 1px dashed red; } 
a > span { font-size: 200%; line-height: normal; } 
3

如果較長的鏈接包含換行符,請參閱http://jsfiddle.net/PQZ9H/,如果將display: inline-block;border-bottom結合使用,可能會導致一些奇怪的行爲換行符。或者,您可以使用background-imagebackground-position的組合,其優點是不觸摸顯示值。

a { 
    text-decoration: none; 
    position: relative; 
    background-repeat: repeat-x; 
    background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==); 
    background-position: left 15px; 
} 
a:hover { background: none; } 

一個缺點是,您可能必須爲您使用的每種字體大小定義背景位置。

使用這種技術你也可以移除如g或y伸加入

a span.descender { text-shadow: -1px 0px 0px white, 1px 0px 0px white, -2px 0px 0px white, 2px 0px 0px white, -3px 0px 0px white, 3px 0px 0px white; } 

<a href="javascript:void(0)"><span class="descender">A link with descenders like g or y</span></a> 

邊界見http://jsfiddle.net/25XNY/1

0

Margin屬性不能改變border-底位,所以

<a>元素的高度將定義您的border-bottom的位置。

#menu > ul > li > a { 
     height: ; 
}