Bạn có thể sử dụng phần tử before
hoặc after
giả và áp dụng một số CSS cho nó. Có nhiều cách khác nhau. Bạn có thể thêm cả hai before
và after
, và xoay và định vị từng cái để tạo thành một trong các thanh. Một giải pháp dễ dàng hơn là thêm hai đường viền vào chỉ before
phần tử và xoay nó bằng cách sử dụng transform: rotate
.
Cuộn xuống để tìm một giải pháp khác sử dụng một phần tử thực thay vì các phần tử pseuso
Trong trường hợp này, tôi đã thêm các mũi tên làm dấu đầu dòng trong danh sách và sử dụng các em
kích thước để làm cho chúng có kích thước phù hợp với phông chữ của danh sách.
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>
Tất nhiên bạn không cần phải sử dụng before
hoặc after
, bạn cũng có thể áp dụng thủ thuật tương tự cho một phần tử bình thường. Đối với danh sách trên, nó là thuận tiện, vì bạn không cần đánh dấu bổ sung. Nhưng đôi khi bạn có thể muốn (hoặc cần) đánh dấu. Bạn có thể sử dụng một div
hoặc span
cho điều đó, và tôi thậm chí đã thấy mọi người thậm chí tái chế i
phần tử cho 'biểu tượng'. Vì vậy, đánh dấu đó có thể trông giống như bên dưới. Việc sử dụng <i>
cho điều này có đúng hay không còn phải bàn cãi, nhưng bạn cũng có thể sử dụng span cho điều này để an toàn.
/* 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.
Nếu bạn tìm kiếm thêm cảm hứng, hãy nhớ xem thư viện tuyệt vời gồm các biểu tượng CSS thuần túy của Nicolas Gallagher . :)