web-dev-qa-db-ja.com

下ボーダーをテキストに近づける

ナビゲーションメニューに下線を付けたいのですが、問題は、太くする必要があるため、代わりに下の境界線を使用して、幅を6pxに設定できるようにすることです。

ボーダーをテキストの近くに表示する方法を理解しているように見えます。現時点では、テキストと下ボーダーの間に約10pxのギャップがあるようです。

別のdivを配置し、各{li}を基準にして{bottom:10px}で配置しようとしましたが、機能しないようです。

これが私が持っているものです

コード

    <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{
}
19
Michael

次のように、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;
}
17
Andres Ilich

display: inline-block;border-bottomと組み合わせて使用​​すると、長いリンクに改行が含まれている場合、奇妙な動作の改行が発生する可能性があります。 http://jsfiddle.net/PQZ9H/を参照してください 。または、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 を参照してください

5

this (Originロシア語 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; }
1

Marginプロパティは境界の下の位置を変更できないため、

高さ<a>要素は、ボーダーボトムの位置を定義します。

 #menu > ul > li > a {
      height: ;
 }
0
Carlos Rafael