Ben bir CSS-acemi yaşıyorum. Temelde aşağıdaki html var:CSS: Kalınlaştırmak için doğru yol <a:hover> Büyük descenders yazı tipleri için alt çizgi
: Benima
etiketlerini gelindiğinde kalın altını olmasını istiyorum, ama büyük kuyruklu özel bir yazı tipi kullanmak
<ul>
<li><a href="news.html">О нас</a></li>
<li><a href="#">Галерея</a></li>
</ul>
Bunun için ortak hile kullanmak eğer öyleyse Ama böyle bakmak istiyorum:
a:hover {
text-decoration: none;
border-bottom: 2px solid;
padding: 0;
margin: 0;
}
altı çizili kadar baz sınırının altında olduğunu
:böyle yapmayı denedi
Sonra .over
için display: inline-block;
ekledi:
<ul>
<li class="over"><a href="news.html">О нас</a></li>
<li class="over"><a href="#">Галерея</a></li>
</ul>
.over{
font-size: 30px;
height:30px; // makes the text overlap this element
overflow:visible;
}
.over:hover {
border-bottom: 2px solid #ec6713;
}
Ama altı çizili genişliği artık tüm dizeleri için aynıdır. Ben table
için inline-block
değişti Sonra
ancak altı çizili yine çok aşağıda olduğu: Ama bu var Fazladan span
ekleyerek sona erdi
, şimdi de var:
<ul>
<li><span class="over"><a href="news.html">О нас</a></span></li>
<li><span class="over"><a href="#">Галерея</a></span></li>
</ul>
.over{
font-size: 30px;
height:30px; // makes the text overlap this element
overflow:visible;
display:inline-block;
}
.over:hover {
border-bottom: 2px solid #ec6713;
}
Ve bu bana nihayet istenen davranışı verir (alt çizgi genişlik dizgisi genişliğine ayarlanır ve taban çizgisine yakın konumlandırılır). Ancak bu amaç için fazladan bir span
eklemek iyi bir uygulamadır mı? Bu hacky görünmüyor mu?
Bu üç yol da eşit olarak kullanılıyor mu, yoksa CSS uzmanları bir sebepten birini tercih ediyor mu? – netimen
Eh, bir seçenek 1 tercih, diğeri seçenek 2 tercih ediyor. Bu yüzden benim seçenek 1 benim [tüm tarayıcılarda desteklenir] değil (http://css-tricks.com/browser-support-pseudo-elements /). O zaman kendi seçeneğiniz, benim 2 seçeneğimden daha iyi bir çözüm. – LinkinTED