Unicode qua CSS: trước đây


81

Tôi đang sử dụng Font Awesome trên trang web của mình và tôi muốn hiển thị một biểu tượng bên trong :beforephần tử giả.

Theo tài liệu / cheatsheet , tôi phải nhập để có được phông chữ này, nhưng nó không hoạt động. Tôi tin rằng điều đó là bình thường vì các thực thể HTML không được hỗ trợ trong :before.
Vì vậy, tôi đã truy cập một chút và phát hiện ra rằng nếu bạn muốn hiển thị các thực thể HTML :before, bạn phải sử dụng tham chiếu hex thoát.
Vì vậy, tôi đã tìm kiếm tham chiếu hex đến nhưng tôi không tìm thấy gì. Tôi tin rằng đó là bởi vì đây là những giá trị "sử dụng cá nhân", bất kể điều đó có nghĩa là gì.

Có cách nào để làm cho nó hoạt động :beforekhông?


Vì liên kết là 404, bạn có thể đang nói về các phần tử pseduo? Bạn đã thử thêm content: "";CSS cho :beforephần tử của mình chưa?
Jordan

khá chắc chắn điều này: fortawesome.github.com/Font-Awesome
Stuart Burrows

Vâng, xin lỗi các bạn! Liên kết đã được sửa ngay bây giờ! @tsujp Trên thực tế, biểu tượng sẽ được hiển thị bên trong phần tử giả.
Sven

Nói một cách chính xác, bạn không thể hiển thị các thực thể HTML trong :before. Bạn có thể hiển thị các ký tự Unicode được đại diện bởi các tham chiếu thực thể trong HTML, nhưng bạn không làm điều đó bằng cách sử dụng cú pháp thực thể HTML.
BoltClock

Câu trả lời:


118

Tham chiếu hex thoát ra của \f066.

content: "\f066";

24
Mọi người hãy xem câu trả lời từ super_ton rằng bạn sẽ cần phải khai báo font-family với FontAwesome. Nếu không, bạn sẽ chỉ nhận được một biểu tượng đặc biệt chứ không phải biểu tượng chính xác!
lorem khỉ

2
Đối với bất kỳ ai đang sử dụng CSS được phân tích cú pháp bằng PHP, bạn sẽ cần phải thoát hai lần tham chiếu hex như sau: content: "\\ f066";
ramijames

1
Lưu ý rằng nếu sử dụng Font Awesome 5, họ phông chữ đã thay đổi. Xem ở đây: stackoverflow.com/a/48004111/83542
Kildareflare

140

Trong CSS, FontAwesome unicode chỉ hoạt động khi họ phông chữ chính xác được khai báo (phiên bản 4 trở xuống):

font-family: "FontAwesome";
content: "\f066";

Cập nhật - Phiên bản 5 có các tên khác nhau:

Miễn phí

font-family: "Font Awesome 5 Free"

Pro

font-family: "Font Awesome 5 Pro"

Nhãn hiệu

font-family: "Font Awesome 5 Brands"

Xem câu trả lời liên quan này: https://stackoverflow.com/a/48004111/2575724


8
Tôi giống như cách bạn thêm phần font-family vì đó là chìa khóa khiến công việc của tôi
ajk4550

1
Lưu ý rằng nếu sử dụng Font Awesome 5, họ phông chữ đã thay đổi. Xem ở đây: stackoverflow.com/a/48004111/83542
Kildareflare

1
chỉ font-family: FontAwesome phù hợp với tôi. không phải font-family: "FontAwesome"
Sameera R.

Đáng ngạc nhiên là không có gì hiệu quả với tôi ngoại trừ những gì @Sameera đã nói. Có thể xác nhận rằng, kể từ ngày 23/10/19, chỉ có font-family: FontAwesome là phù hợp với tôi. Tôi muốn sử dụng biểu tượng mũi tên của FA . Đây là mã của tôi:a:last-child:after { font-family: FontAwesome; content: '\f061'; }
sansae

11

Fileformat.info là một tài liệu tham khảo khá tốt cho công cụ này. Trong trường hợp của bạn, nó đã ở dạng hex, vì vậy giá trị hex là f066. Vì vậy, bạn sẽ làm:

content: "\f066";

Cảm ơn vì câu trả lời này. Tôi không nhận ra các biểu tượng ở dạng hex vì lý do nào đó. Vì vậy, tôi tiếp tục đặt '#' trong chuỗi và nó sẽ không hoạt động. Bây giờ nó hoạt động.
shell

3

Các điểm mã được sử dụng trong thủ thuật phông chữ biểu tượng thường là các điểm mã Sử dụng Riêng tư, có nghĩa là chúng không có ý nghĩa được xác định chung và không được sử dụng trong trao đổi thông tin mở, chỉ theo thỏa thuận riêng giữa các bên quan tâm. Tuy nhiên, các điểm mã Sử dụng Riêng có thể được biểu diễn dưới dạng bất kỳ giá trị Unicode nào khác, ví dụ như trong CSS bằng cách sử dụng ký hiệu như \f066, như những người khác đã trả lời. Bạn thậm chí có thể nhập điểm mã như vậy, nếu tài liệu của bạn được mã hóa UTF-8 và bạn biết cách nhập giá trị Unicode tùy ý theo số của nó trong môi trường tác giả của bạn (nhưng tất nhiên nó thường được hiển thị bằng cách sử dụng một ký hiệu không xác định tính cách).

Tuy nhiên, đây không phải là cách sử dụng phông chữ biểu tượng thông thường. Thông thường, bạn sử dụng tệp CSS được cung cấp cùng với phông chữ và sử dụng các cấu trúc như <span class="icon-resize-small">foo</span>. Sau đó, mã CSS sẽ đảm nhận việc chèn ký hiệu vào đầu phần tử và bạn không cần biết số điểm mã.


1

Lúc đầu, hãy liên kết tệp CSS fontwaesome trong tệp HTML của bạn, sau đó tạo một lớp giả sau hoặc trước như "font-family:" FontAwesome "; content:" \ f101 ";" sau đó lưu. Tôi hy vọng công việc này tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.