Bir menü öğesi öğesinin sağ tarafında sözde bir :after
öğe 30 piksel konumlandırmaya çalışıyorum.Bir sözdizimi konumlandır: bir öğe öğesinin sağ tarafındaki öğe
Öğenin metninin uzunluğu ne olursa olsun öğenin 30 piksel sağda olmasını istiyorum.
Aşağıdaki kodu, bu sorun için gerekli olduğunu düşündüğüm en düşük değere çıkardım.
Bunun bir mobil menü olduğunu unutmayın. Menü ve a
etiket bağlantısı, tarayıcının (telefonun) genişliğini genişletir.
ben gitmek için eleman almak için sol 150p için konumlandırmak gerekiyor görebileceğiniz gibi:
#menu-main-menu-1 li {
position: relative;
list-style: none;
}
#menu-main-menu-1 li a {
padding: 18px 0;
display: block;
text-align: center;
}
#menu-main-menu-1 a:after {
content: "\25CF";
position: absolute;
right: 0;
left: 150px;
top: 20px;
}
<ul id="menu-main-menu-1">
<li class="menu-item">
<a href="#">Menu Item</a>
</li>
<li class="menu-item">
<a href="#">Long Menu Item Text</a>
</li>
</ul>
Yukarıdaki kod aşağıdaki sonucu üretir Öğenin sağında 30 piksel. Çalışıyor, ancak menü öğesinin çok fazla metin içeriyorsa, 150px değerini aşacağı ve öğenin metinde yer alacağı bir sorun görebiliyorum. Örneğin:
olursa olsun uzunluk metninin sağında 30px edilecek eleman gerekiyor. Yani olmazdı gibi:
JSFiddle link: JSFiddle
I (rengini bu soruya işlevselliğini etkilemeyen gereksiz stilleri birçok elimden bildirmek isteriz, yazı tipleri, vb.)
Herhangi bir yardım çok takdir edilecektir!
Teşekkür
evet çok yakın! Kodun beni aradığım cevaplara yönlendirdi. Tek sorun, satır içi bloğa dönüştürülmesi, metni ortalanmış yerine sola itti. Onu ortalamak için biraz css yapabildim ve soldaki sol fikriniz mükemmel çalıştı. Teşekkürler. bunu # main-menu-1 li a'ya ekleyin ve cevabınızı kabul edeceğim! genişlik:% 100; marj: 0 otomatik; –