Saya ingin menggunakan ikon Font Awesome sebagai konten CSS, yaitu,
a:before {
content: "<i class='fa...'>...</i>";
}
Saya tahu saya tidak dapat menggunakan kode HTML content
, jadi apakah hanya gambar yang tersisa?
Saya ingin menggunakan ikon Font Awesome sebagai konten CSS, yaitu,
a:before {
content: "<i class='fa...'>...</i>";
}
Saya tahu saya tidak dapat menggunakan kode HTML content
, jadi apakah hanya gambar yang tersisa?
Jawaban:
Pembaruan untuk FontAwesome 5 Terima kasih kepada Aurelien
Anda perlu mengubah font-family
ke Font Awesome 5 Brands
ATAU Font Awesome 5 Free
, berdasarkan jenis ikon yang Anda coba render. Juga, jangan lupa untuk mendeklarasikanfont-weight: 900;
a:before {
font-family: "Font Awesome 5 Free";
content: "\f095";
display: inline-block;
padding-right: 3px;
vertical-align: middle;
font-weight: 900;
}
Anda dapat membaca sisa jawaban di bawah ini untuk memahami cara kerjanya dan mengetahui beberapa solusi untuk jarak antara ikon dan teks.
FontAwesome 4 ke bawah
Itu cara yang salah untuk menggunakannya. Buka font gaya mengagumkan lembar, pergi ke class
font yang ingin Anda gunakan katakan fa-phone
, salin properti konten di bawah kelas itu dengan entitas, dan gunakan seperti:
a:before {
font-family: FontAwesome;
content: "\f095";
}
Pastikan bahwa jika Anda mencari untuk menargetkan a
tag tertentu , maka pertimbangkan untuk menggunakan tag class
untuk membuatnya lebih spesifik seperti:
a.class_name:before {
font-family: FontAwesome;
content: "\f095";
}
Menggunakan cara di atas akan menempel ikon dengan teks Anda yang tersisa, jadi jika Anda ingin memiliki sedikit ruang di antara keduanya, buat display: inline-block;
dan gunakan beberapa padding-right
:
a:before {
font-family: FontAwesome;
content: "\f095";
display: inline-block;
padding-right: 3px;
vertical-align: middle;
}
Memperluas jawaban ini lebih lanjut, karena banyak yang mungkin memiliki persyaratan untuk mengubah ikon pada hover, jadi untuk itu, kita dapat menulis pemilih terpisah dan aturan untuk :hover
tindakan:
a:hover:before {
content: "\f099"; /* Code of the icon you want to change on hover */
}
Sekarang dalam contoh di atas, ikon menyikut karena ukuran yang berbeda dan Anda pasti tidak menginginkannya, sehingga Anda dapat menetapkan fix width
pada deklarasi dasar seperti
a:before {
/* Other properties here, look in the above code snippets */
width: 12px; /* add some desired width here to prevent nudge */
}
font-family: FontAwesome;
itu mengubah font untuk tag jangkar juga. Bagaimana kita bisa mengatasinya?
font-family
misalkan dipanggil :before
pseudo dan bukan jangkar tag
content
kode yang benar untuk penyalinan langsung (yaitu no-brainer). PS: Saya masih bertanya-tanya mengapa orang-orang FontAwesome tidak memasukkan kode konten ke setiap halaman ikon ?!
Solusi lain tanpa Anda harus secara manual dipusingkan dengan karakter Unicode dapat ditemukan di Making Font Awesome awesome - Menggunakan ikon tanpa tag-i ( disclaimer: Saya menulis artikel ini ).
Singkatnya, Anda bisa membuat kelas baru seperti ini:
.icon::before {
display: inline-block;
margin-right: .5em;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0);
}
Dan kemudian menggunakannya dengan ikon apa saja, misalnya:
<a class="icon fa-car" href="#">This is a link</a>
Jika Anda memiliki akses ke file SCSS dari font-mengagumkan, Anda dapat menggunakan solusi sederhana ini:
.a:after {
// Import mixin from font-awesome/scss/mixins.scss
@include fa-icon();
// Use icon variable from font-awesome/scss/variables.scss
content: $fa-var-exclamation-triangle;
}
a:before {
content: "\f055";
font-family: FontAwesome;
left:0;
position:absolute;
top:0;
}
Contoh Tautan: https://codepen.io/bungeedesign/pen/XqeLQg
Dapatkan kode Ikon dari: https://fontawesome.com/cheatsheet?from=io
Anda harus menetapkan font-weight 900 untuk Font Awesome 5 Gratis font-family untuk bekerja.
Ini yang berfungsi:
.css-selector::before {
font-family: 'Font Awesome 5 Free';
content: "\f101";
font-weight: 900;
}
Seperti yang tertulis di situs web FontAwesome FontAwesome =>
HTML:
<span class="icon login"></span> Login</li>
CSS:
.icon::before {
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
}
.login::before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f007";
}
Di .login::before
-> edit content:'';
sesuai dengan unicode Anda.
Perbarui untuk Font Awesome 5 menggunakan SCSS
.icon {
@extend %fa-icon;
@extend .fas;
&:before {
content: fa-content($fa-var-user);
}
}
Inilah solusi webpack 4 + font awesome 5 saya:
Plugin webpack:
new CopyWebpackPlugin([
{ from: 'node_modules/font-awesome/fonts', to: 'font-awesome' }
]),
gaya css global:
@font-face {
font-family: 'FontAwesome';
src: url('/font-awesome/fontawesome-webfont.eot');
src: url('/font-awesome/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
url('/font-awesome/fontawesome-webfont.woff2') format('woff2'),
url('/font-awesome/fontawesome-webfont.woff') format('woff'),
url('/font-awesome/fontawesome-webfont.ttf') format('truetype'),
url('/font-awesome/fontawesome-webfont.svgfontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
i {
font-family: "FontAwesome";
}