Tôi có thành phần <a>
, sau đó tôi muốn hiển thị một dấu hiệu >
, sử dụng phần tử giả :after
.Sử dụng: sau phần tử giả sau phần tử neo - khác biệt trình duyệt
Nội dung của phần tử <a>
là động, do đó, chiều rộng thay đổi và đôi khi sự kiện nội dung kéo dài một vài hàng (vì phần tử <a>
này nằm bên trong một chiều rộng là cố định).
Tôi muốn vị trí ngang của >
bắt đầu ở cuối hàng dài nhất. Đó là, khi tôi cho nó rằng right:0;
quy tắc, nó phải là ở bên phải nhất cạnh của nguyên tố (vị trí dọc không quan trọng ngay bây giờ):
Đó là cách ứng xử trong FF , nhưng trong Chrome và IE, các >
xuất hiện ở cuối của dòng ngắn nhất:
tôi muốn hiểu những gì gây ra sự khác biệt giữa các trình duyệt, nhưng quan trọng hơn, tôi muốn tất cả trình duyệt hoạt động như FF - đặt :after
ở cuối hàng dài nhất. Điều đó có thể không?
tôi đặt the above code trên dabblet
Phần tử 'a' của bạn, là một phần tử nội tuyến tương đối được định vị, là khối chứa cho phần tử giả của': after', được định vị hoàn toàn. Vấn đề là văn bản trong 'a' của bạn là nhiều dòng, và [spec] (http://www.w3.org/TR/CSS21/visudet.html#containing-block-details) nói rằng nó không xác định hình dạng hoặc kích thước của một khối có chứa trong một kịch bản như vậy. Đây là lý do tại sao bạn thấy sự khác biệt trong hành vi của trình duyệt - nói cách khác, các trình duyệt không biết phải làm gì trong kịch bản như vậy để họ làm bất cứ điều gì họ nghĩ là tốt nhất. – BoltClock