Niesamowita czcionka nie wyświetla ikony


99

Używam Font Awesome i nie chcę dodawać CSS z HTTP. Pobrałem Font Awesome i umieściłem go w swoim kodzie, ale Font Awesome pokazuje obramowane kwadratowe pole zamiast ikony. Oto mój kod:

<html>
<head>
<link rel="stylesheet" href="../css/font-awesome.css">
    <link rel="stylesheet" href="../css/font-awesome.min.css">
</head>
<body>
<div style="font-size: 44px;">
   <i class="fa fa-camera-retro fa-lg"></i> fa-lg
<i class="fa fa-camera-retro fa-2x"></i> fa-2x
</div>
</body>
</html>

Chciałbym wiedzieć, jak wyświetlić ikonę zamiast obramowanego kwadratowego pola.


5
Pytano o to wiele razy. Upewnij się, że jesteś w tym plików czcionek zbyt .. nie tylko CSS stackoverflow.com/questions/14366158/...
Zim

tutaj jest link do przewodnika po font-awesome tourbleshooting na git github.com/FortAwesome/Font-Awesome/wiki/Troubleshooting
Mehavel

zaktualizuj pytanie o strukturę folderów, w której masz folder font-awesome, abyśmy mogli stwierdzić, że „font-awesome.min.css” poprawnie pobiera ścieżkę ttf, czy nie. Tylko css nie zadziała.
Ajit Hogade

Odpowiedzi:


84

W moim przypadku popełniłem następujący błąd w moim kodzie CSS.

*{
    font-family: 'Open Sans', sans-serif !important;
}

Spowoduje to zastąpienie wszystkich reguł dotyczących rodzin czcionek na całej stronie. Moim rozwiązaniem było przeniesienie kodu do treści w ten sposób.

body{
    font-family: 'Open Sans', sans-serif;
}

Uwaga: za każdym razem, gdy użyjesz !importantflagi w css, każda inna reguła css zadeklarowana tego samego typu w tym samym elemencie zostanie nadpisana.


4
To było dla mnie rozwiązanie. Miałem *{font-family: Raleway}i zmieniłem to na*.not(i) {font-family: Raleway}
fungusanthrax

Ja też miałem ten problem, ale nie zdawałem sobie z tego sprawy przez wieki, ponieważ w DevTools wyglądało to tak, jakby używano FontAwesome. Zobacz moją odpowiedź, aby uzyskać więcej informacji.
Dagmar,

59

Po otwarciu font-awesome.min.cssmożesz zobaczyć następującą ścieżkę:

'Fonts/fontawesome-webfont.ttf?v=4.2.0' ...

Oznacza to, że musisz utworzyć katalog, Fontsa następnie skopiować pliki fontawesome-webfont.ttf( fontawesome-webfont.woff, fontawesome-webfont.eot) do tego folderu. Potem wszystko powinno działać dobrze.


Ponieważ co najmniej 0.8.1 font-awesome nie jest przywoływany. Istnieją trzy summernotepliki w folderze czcionki z rozszerzeniem eot, ttfi woffktóre muszą być rozdzielone.
ficuscr

2
Uważaj, w 4.6.3 (jeśli nie wcześniej) tak fontsnie jest Fontsi na systemie uwzględniającym wielkość liter, który powoduje problemy ...
Jason

1
dlaczego font awesome nie podaje tego na swojej stronie internetowej? to naprawdę nie jest wyraźne.
Matt

Niesamowite! Myślałem, że czcionki musiały znajdować się w tym samym folderze co css, musiały być o jeden folder wyżej.
Giovani Vercauteren

Upewnij się też, że Twoja biblioteka jest aktualna. Miałem wszystkie swoje logo oprócz logo bandcamp. Po pobraniu zaktualizowanej wersji 4.7 i zastąpieniu plików zadziałało.
Ryan Walker

45

Należy pamiętać, że nowa wersja (5) niesamowitych czcionek używa "fas"lub "fab"zamiast "fa"prefiksu.

Cytowane z ich strony internetowej:

Przedrostek fa został wycofany w wersji 5. Nowym domyślnym stylem jest styl fas solid i styl fab dla marek.

Dlatego moje czcionki pokazywały puste kwadraty. Teraz naprawione.

Przykładowy kod:

<a class="nav-link" href="//www.facebook.com/xxx" target="_blank"><i class="fab fa-facebook-f"></i></a>

Zobacz: https://fontawesome.com/icons/facebook-f?style=brands


Zrobiło to dla mnie! Dziwne, że nie zostało zaktualizowane w dokumentacji
GroomedGorilla

To była jedyna rzecz, która działała. Jeśli używasz nowoczesnej wersji, użyj tego.
samurdhilbk

LIVE SAVER! zmiana na "fa fa-bars" borked
paskudny

Dziękuję, dla mnie kilka ikonek z fas, a inne z fab, na przykład fab fa-twitter jest w porządku, ale fas fa-twitter pokazuje biały kwadrat, idź rysunek!
user1620090

Jeśli więc nowa wersja to fas, to dlaczego muszę zmienić moje zajęcia z „fas” na „fa”
Sam.

22

Najpierw sprawdź, czy masz class = "fa", a także jakąkolwiek klasę ikony. Więc nie tylko

<i class="fa-pencil" title="Edit"></i>

Ale również

<i class="fa fa-pencil" title="Edit"></i> 

Wtedy działa zgodnie z oczekiwaniami. To rozwiązało mój problem.


1
To zadziałało dla mnie. Dla mnie fab fa-wrap nie działało, ale wtedy fa fa-wrapop działało. Bardzo dziwne, ale rozwiązałem mój problem.
Jordan Schuetz

@JordanSchuetz „fab” jest charakterystyczny dla ikon marek, takich jak „fab fa-facebook-f”. W nowszych wersjach znajdziesz „fas” dla „solidnej” odmiany, więc twoja zostanie naprawiona jako „fas fa-obwiednia” w nowszych wersjach lub „fa fa-koperta” w starszej.
Tessa

20

Otwórz swój font-awesome.css tam kod taki jak:

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

musisz mieć folder taki jak:

font awesome -> css
 -> fonts

lub najłatwiej:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">

11

Sprawdź, czy ścieżka do CSSpliku jest poprawna. Wolą raczej linki bezwzględne, są łatwiejsze do zrozumienia, ponieważ wiemy, od czego zaczynamy, a wyszukiwarki będą również preferować je niż linki względne. Aby zmniejszyć przepustowość, użyj raczej łącza z serwerów niesamowitych czcionek:

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" type="text/css">

Co więcej, jeśli go użyjesz, nie będzie potrzeby przesyłania dodatkowych czcionek na serwer i będziesz mieć pewność, że wskażesz właściwy CSSplik, a także natychmiast skorzystasz z najnowszych aktualizacji.


10
Zrobiłem to samo i nadal mam tylko kwadratowe pudełko
Vipul Hadiya

5

miałem do czynienia z tym samym problemem, a potem zorientowałem się, że muszę użyć nowej wersji (5 i plus)

użyj tego CDN, będzie działać.

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css" rel="stylesheet">

4

Na początek nie powinieneś mieć obu font-awesome.css i font-awesome.min.css

Ogólnie rzecz biorąc, używaj font-awesome.csspodczas programowania, a następnie przełącz się na, font-awesome.min.cssgdy będziesz zadowolony z witryny.

Takie problemy są często powodowane przez względne ścieżki i lokalizacje, więc sprawdź, gdzie znajduje się twój plik HTML w stosunku do css.

Jeśli twój plik html znajduje się w katalogu podstawowym, a css w podfolderze poza katalogiem głównym, potrzebujesz: href="./css/font-awesome.css"(pojedyncza kropka)


4

Wszystkie powyższe są poprawne, ale oprócz tego moim problemem było to, że pobrałem bezpłatną wersję FA5, która nie ma:

font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0')

Nie mogłem uruchomić wersji 5, więc powróciłem do wersji 4.7.0 z pomocą powyższych postów i rozwiązałem mój problem.


1
Miałem również problemy z uruchomieniem wersji 5 + FontAwesome. Zmienił folder „webfonts” na „fonts” w css i umieścił go w ten sam sposób, ale nie działał poprawnie. Zastąpiłem pliki wersją 4.7.0 i działa jak urok. Hrm.
Lisa Cerilli

1
W wersji 5 rodzina czcionek ikon nie jest już „FontAwesome”. W wersji bezpłatnej jest to teraz „Font Awesome 5 Free” i „Font Awesome 5 Pro” w wersji pro. Miałem ten problem, gdy ręcznie korzystałem z kodów znaków w kilku miejscach i przestały działać, ponieważ rodzina czcionek nie została ustawiona.
Tessa,

4

miałem ten sam problem ... więc zamiast pobierać niesamowite czcionki, dodałem link do mojego kodu HTML i zadziałało.

<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.js" integrity="sha256-2JRzNxMJiS0aHOJjG+liqsEOuBb6++9cY4dSOyiijX4=" crossorigin="anonymous"></script>


Dziękuję bardzo, poświęcam 24 godziny na naprawienie tego niesamowitego
Mathew Magante

2

Pomyślnie zainstalowałem Font Awesome przy użyciu ich CDN i dołączenia javascript (jak opisano na tej stronie ). Następnie próbowałem skopiować HTML i CSS na kilka starszych stron i nagle zamiast ikon zobaczyłem puste kwadratowe pola.

Widziałem odpowiedź Daniela (powyżej), a ponieważ mój starszy plik CSS był ogromny (i miał wiele lat), podejrzewałem, że to jest problem. Jednak kiedy zajrzałem do Chrome DevTools, naprawdę wyglądało na to, że załadowano Font Awesome:

Zrzut ekranu CSS dla Font Awesome Icon

Spodziewałem się, że czcionka zostanie przekreślona, ​​jeśli wystąpi problem ... Jednak naprawdę wyczerpałem wszystkie moje opcje, więc sprawdziłem obliczone style i wyraźnie zobaczyłem, że czcionka Font Awesome zdecydowanie nie była używana. (Zobacz renderowaną czcionkę na dole)

Font Awesome nie jest używany

Mój starszy plik CSS był bałaganem i wolałem go nie dotykać, więc oszukałem, robiąc to - proszę nikomu nie mówić :)

<a class="nav-link fa fa-instagram" style="font-family:FontAwesome;" href="//www.instagram.com/xxxx/" target="_blank"></a>

Warto również zauważyć, że po uaktualnieniu z wersji 4.7.0 Font Awesome do wersji 5.4.1 ten problem zniknął! Użyłem tego przewodnika konfiguracji i tego kodu HTML

<a class="nav-link" href="//www.instagram.com/xxxx/" target="_blank"><i class="fab fa-instagram"></i></a>

2

Dla tych z Was, którzy używają SCSS i pakietu NPM, oto moje rozwiązanie:

npm i --save @fortawesome/fontawesome-free

Następnie u góry pliku SCSS (najlepiej pliku SCSS zaimportowanego w katalogu głównym aplikacji):

@import '@fortawesome/fontawesome-free/css/fontawesome.css';
@import '@fortawesome/fontawesome-free/css/all.css';

Ciekawe dodanie @fortawesome/fontawesome-free/css/all.cssnaprawiło to
Andy Braham

1

W moim przypadku: musisz skopiować cały folder font-awesome do folderu css swojego projektu, a nie tylko plik font-awesome.min.css .


1

Wygląda więc na to, że dodanie style='font-weight:normal;'lub zmiana czcionki bezpośrednio w elemencie zastępuje .fas{font-weight:900}definicję w pliku CSS Font Awesome. Domyślam się, że czcionka ma określone definicje w pliku czcionki, z którym działa. Wygląda na to, że font-weightmusi być ustawiony między 501 a 1000, w przeciwnym razie czcionka może wyglądać jak kwadratowy blok.


1

moim problemem była ta, która zdobyła większość głosów

*{
font-family: xxxxx
}

zmiana na to rozwiązała problem

body{
font-family: xxxx
}

0

Być może użyłeś VCS (git lub coś takiego) do przesłania plików ikon na serwer. git mówi:

warning: CRLF will be replaced by LF in webroot/fonts/FontAwesome.otf.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.eot.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.ttf.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.woff.
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in webroot/fonts/fontawesome-webfont.woff2.
The file will have its original line endings in your working directory.

Prawdopodobnie musisz naprawić swoje czcionki.


0

Myślę, że nie masz folderu czcionek w folderze głównym, takim jak folder gdzie pozostaje css.

Próbny

wprowadź opis obrazu tutaj

A folder css jest podobny

wprowadź opis obrazu tutaj

I folder czcionek, taki jak

wprowadź opis obrazu tutaj

Mam nadzieję, że to zadziała.

Dzięki Ci.


0

Na MacOS Mojave miałem ten problem w Safari. Niesamowite obrazy działały w Chrome, ale nie w Safari, więc byłem pewien, że to nie była strona.

Muszę je renderować, przechodząc do Preferencji w menu Safari i wyłączając / odznaczając opcję „Zapobiegaj śledzeniu w wielu witrynach” na karcie Prywatność.

Nie wiem, dlaczego to naprawiło, ale tak się stało.


0

Oparty na wersji 5.10.1.

Moje rozwiązanie (lokalnie):

  1. Jeśli używasz „fontawesome.css” lub „fontawesome.min.css”, spróbuj zamiast tego użyć „all.css” (znajdującego się w folderze css).

  2. Foldery „css” i „webfonts” z pobranego pakietu fontawesome muszą znajdować się na tym samym poziomie co inne.

W moim przypadku miałem już folder css, więc właśnie zmieniłem nazwę folderu fontawesome css na „css-fa”.

Mając zarówno "css-fa", jak i "webfonts" w moim folderze css, po prostu połącz je poprawnie w edytorze tekstu i powinno działać.

Np. Link rel = "stylesheet" href = "css / css-fa / all.css"


0

rozwiązano zmieniając docelowy! importantized selektor rodziny czcionek z * { ... } na *:not(i) { ... }

(z preprocesorem scss); Mam nadzieję, że rozwiązałeś


0

Poniższy kod to font-awesome 4.70.0. Aby przejść do niesamowitej czcionki 5.11.2, kliknij tutaj .

<!DOCTYPE html>

<html>

<head>

<link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font- 
awesome/4.7.0/css/font-awesome.min.css">

</head>

<body>

<i class="fa fa-camera-retro" aria-hidden="true"></i>

</html>

0

Używam FontAwesome Pro i rozwiązaniem dla mnie było osadzenie all.min.csszamiast fontawesome.min.css.


0

Postępowałem zgodnie z tym samouczkiem, aby samodzielnie hostować Font Awesome Pro 5.13.

https://fontawesome.com/how-to-use/on-the-web/setup/hosting-font-awesome-yourself

Z jakiegoś powodu nie mogłem <link href="%PUBLIC_URL%/font-awesome/all.min.css" rel="stylesheet">załadować, webfontsco z kolei spowodowało, że pojawiały się tylko kwadraty. Ale kiedy użyłem, <script defer src="%PUBLIC_URL%/font-awesome/all.min.js"></script>wszystko zaczęło działać. Oba linki zostały dodane w formacie HTML <head>.


problem z tym jsem polega na tym, że plik jest
zbyt

0

Próbowałem dodać fa 5.0.13 do drupal 8 za pomocą scss. Style nie są dołączane domyślnie w głównym fa.scss, który musiał dodać je ręcznie.

@import "libraries/fontawesome/fa-brands";
@import "libraries/fontawesome/fa-light";
@import "libraries/fontawesome/fa-regular";
@import "libraries/fontawesome/fa-solid";

0

musisz umieścić plik font-awesome w folderze css i zmienić

href = "../ css / font-awesome.css" do href = "css / font-awesome.css"

Jeszcze jedno, możesz zastąpić ten niesamowity plik css i spróbować tego

.social-media{
  list-style-type: none;
  padding: 0px;
  margin: 0px;
}

.social-media li .fa{ 
  background: #fff;
  color: #262626;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-align:center;
  line-height:50px; 
}

.social-media .fa:hover { 
  box-shadow: 5px 5px 5px #000; 
}

.social-media .fa.fa-twitter:hover{
  background:#55acee;
  color:#fff;
 
}

.social-media .fa.fa-facebook:hover{
  background:#3b5998;
  color:#fff;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<ul class="social-media">
  <li><i class="fa fa-twitter fa-2x"></i></li>
  <li><i class="fa fa-facebook fa-2x"></i></li>
 
</ul>


0

<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.js" integrity="sha256-2JRzNxMJiS0aHOJjG+liqsEOuBb6++9cY4dSOyiijX4=" crossorigin="anonymous"></script>


Działa bardzo dobrze z tym
De Zin Htang

-1
You needed to close your `<link />` 
As you can see in your <head></head> tag. This will solve your problem

<head>
    <link rel="stylesheet" href="../css/font-awesome.css" />
    <link rel="stylesheet" href="../css/font-awesome.min.css" />
</head>

-1

Uważaj na Bootstrap! Bootstrap nadpisze klasy .fa. Jeśli przynosisz oba pakiety oddzielnie, myśląc „Użyję Bootstrap do obsługi responsywnych bloków i Font-Awesome do ikon”, musisz zająć się klasami .fa wewnątrz Bootstrap, aby nie kolidowały z podstawą Font-Awesome. sama implementacja.

np. rodzina czcionek „FontAwesome” w Bootstrap będzie kolidować z rodziną czcionek „Font Awesome 5 Free” w Font-Awesome, a zamiast ikony, którą chcesz, otrzymasz białe pole.

Mogą istnieć bardziej przejrzyste sposoby rozwiązania tego problemu, ale jeśli przejrzałeś listę kontrolną, próbując rozwiązać problem „białego pola” i nadal nie możesz go rozgryźć (tak jak ja), może to być odpowiedź, której szukasz dla.


Dlaczego głosowanie przeciw? To skrajny przypadek, ale jest to przyczyna trudna do znalezienia gdzie indziej.
jtubre

-1

W moim przypadku problem był spowodowany użyciem zwykłych stylów ( far), które nie są zawarte w darmowym zestawie. Zmiana, aby fasto naprawić.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.