Sen kullanabilir before
ya da after
sözde elemanı ve ona biraz CSS geçerlidir. Çeşitli yollar var. Her ikisini de ekleyebilir before
ve after
çubuklardan birini oluşturacak şekilde her birini döndürebilir ve konumlandırabilirsiniz. Daha kolay bir çözüm, yalnızca before
öğeye iki kenarlık eklemek ve bunu kullanarak döndürmektir transform: rotate
.
Pseuso öğeleri yerine gerçek bir öğe kullanan farklı bir çözüm için aşağı kaydırın
Bu durumda, okları bir listeye madde imi olarak ekledim ve listenin em
yazı tipiyle uygun şekilde boyutlandırmak için boyutları kullandım .
ul {
list-style: none;
}
ul.big {
list-style: none;
font-size: 300%
}
li::before {
position: relative;
/* top: 3pt; Uncomment this to lower the icons as requested in comments*/
content: "";
display: inline-block;
/* By using an em scale, the arrows will size with the font */
width: 0.4em;
height: 0.4em;
border-right: 0.2em solid black;
border-top: 0.2em solid black;
transform: rotate(45deg);
margin-right: 0.5em;
}
/* Change color */
li:hover {
color: red; /* For the text */
}
li:hover::before {
border-color: red; /* For the arrow (which is a border) */
}
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
<ul class="big">
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
Tabii kullanmak gerekmez before
ya after
siz de normal bir elemana aynı numarayı uygulayabilirsiniz. Yukarıdaki liste için kullanışlıdır, çünkü ek işaretlemeye ihtiyacınız yoktur. Ancak bazen yine de işaretlemeyi isteyebilirsiniz (veya buna ihtiyacınız olabilir). Bunun için bir div
veya kullanabilirsiniz span
ve hatta insanların i
'simgeler' için öğeyi geri dönüştürdüğünü bile gördüm . Böylece bu işaretleme aşağıdaki gibi görünebilir. Bunun için kullanmanın <i>
doğru olup olmadığı tartışmalıdır, ancak bunun için span'ı ve güvenli tarafta olmak için kullanabilirsiniz.
/* Default icon formatting */
i {
display: inline-block;
font-style: normal;
position: relative;
}
/* Additional formatting for arrow icon */
i.arrow {
/* top: 2pt; Uncomment this to lower the icons as requested in comments*/
width: 0.4em;
height: 0.4em;
border-right: 0.2em solid black;
border-top: 0.2em solid black;
transform: rotate(45deg);
}
And so you can have an <i class="arrow" title="arrow icon"></i> in your text.
This arrow is <i class="arrow" title="arrow icon"></i> used to be deliberately lowered slightly on request.
I removed that for the general public <i class="arrow" title="arrow icon"></i> but you can uncomment the line with 'top' <i class="arrow" title="arrow icon"></i> to restore that effect.
Daha fazla ilham arıyorsanız, Nicolas Gallagher'ın bu harika saf CSS simgeleri kitaplığına göz atmayı unutmayın . :)