Forum forumweb.pl Strona Główna  
Oficjalne forum serwisu: kurshtml.boo.pl
Konkurs
Konkurs
   Regulamin
Regulamin
   FAQ
FAQ
   Szukaj
Szukaj
   Użytkownicy
Użytkownicy
   Grupy
Grupy
   IRC/czat
IRC/czat
   Facebook
Facebook
   Rejestracja
Rejestracja
 
Zmień swój profil  ::  Zaloguj się, by sprawdzić wiadomości  ::  Zaloguj



Zobacz następny temat
Zobacz poprzedni temat
Odpowiedz do tematu  Forum forumweb.pl Strona Główna » Porady i tutoriale
Autor Wiadomość
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 22.01.2010 19:18
[CSS] Niestandardowe fonty na stronie
Zacytuj zaznaczone   ^

Jestem w pełni świadomy tego, że jest po części o tym w kursie
Jednak mam zamiar w tym tekście pokazać 2 główne rzeczy:
  • jak zrobić to uniwersalnie
  • jak zrobić to lepiej (związane z: patrz wyżej)


Uniwersalne czcionki dla sieci ograniczają i utrudniają życie
zarówno webdesignerom - jeżeli są świadomi tego, że są zmuszeni do korzystania z nich
jak i webmasterom - jeżeli jakiś webdesigner wymyślił sobie nietypową czcionkę (i co teraz zrobić?)

Dotychczasowe rozwiązania były jednak średnie - image-replacement jest mimo wszystko niewygodny (trzeba wcześniej przygotować pliki z obrazkami - o ile w przypadku stałych elementów jak menu nie stanowi to problemu, to ze zmiennym tekstem, jak np. nagłówki, tak różowo już nie jest), a inne metody wymagały JS lub Flasha (bądź obu jednocześnie)

Na szczęście świat idzie do przodu (chociaż ten akurat feature IE zaproponował dosyć wcześnie, chociaż z nim jest inny problem - o tym potem) i możliwości przeglądarek się rozwijają, trwają prace nad CSS3, te sprawy.

No i CSS3 przyszedł z ratunkiem - pozwala na użycie czcionki, którą przeglądarka musi ściągnąć.

Jak to zrobić? kawałek kodu potrzebny do tego jest prosty i krótki:
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
@font-face {
font-family: 'Niestandardowy font';
src: url(Niestandardowy_font.ttf) format("truetype")
}

a potem w kodzie wystarczy użyć czcionki o nazwie jaką zdefiniowaliśmy w font-family

A jak to zrobić lepiej? Nie zakładać, że użytkownik tej czcionki nie posiada i nie zmuszać go do jej ściągania. Czyli najpierw sprawdzić, czy nie ma tej czcionki:
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
@font-face {
font-family: 'Niestandardowy font';
src: local('Niestandardowy font'), url(Niestandardowy_font.ttf) format("truetype")
}


Polecam zapoznanie się ze specyfikacją ogólnie.

Dobra trójka się rozwija, więc w Firefoksie (od wersji bodajże 3.1), Operze (od 10) czy Safari (od 3?) normalnie radzą sobie z fontami w ttf (raczej najpopularniejszy format). Chrome bazuje na silniku Safari więc też to potrafi.
Tylko wszyscy wiemy, że nie do końca warto coś stosować, jeżeli Internet Explorer tego nie wspiera. A IE fontów ttf odczytywać nie potrafi. Wymaga formatu, który MS sam wymyślił czyli Embedded OpenType (eot).

Jeżeli mamy nasz font w .eot to nie ma problemu - dodajemy jedną linijkę i wszystko działa. Nawet w IE6!
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
@font-face {
font-family: 'Niestandardowy font';
src: url(Niestandardowy_font.eot);
src: local('Niestandardowy font'), url(Niestandardowy_font.ttf) format("truetype")
}


Jeżeli nie - to mamy pewien problem. Problem, który na szczęście da się w prosty sposób rozwiązać. Jakaś dobra dusza napisała program, który potrafi przekonwertować font z .ttf na .eot
http://code.google.com/p/ttf2eot/
Windowsowcy mają tam nawet gotową binarkę, reszta świata (Linux, Unix) potrafi raczej korzystać z make więc problemów być nie powinno.
Instrukcja użytkowania w README oczywiście.

Jak to wygląda w praktyce? Bardzo dobrze: http://roberto.ovh.org/html-css/fonty.html
Działa w Fx, Operze, Safari, Chrome i IE.
edit: nie działa pod Chrome na Windowsie (a na Linuksie? ktoś sprawdzi?)
Osobiście nie widzę zbytnio powodów, żeby z tego nie korzystać.
Oczywiście nie należy z tym też przesadzać.

I też bardzo ważna rzecz: nie można sobie użyć jakiegokolwiek fontu - one są udostępniane na konkretnych licencjach, więc trzeba sprawdzić, czy możemy je wykorzystać na stronie, zarówno prywatnej jak i komercyjnej.

Na deser - strona ze zbiorem darmowych (nawet do komercyjnego użycia) fontów:
http://www.fontsquirrel.com/
Wisienką na torcie jest fakt, że są tam gotowe pakiety czcionek z przeznaczeniem na strony internetowe, które mają w sobie gotowy kod CSS i font także w formacie .eot dla IE
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie


Ostatnio zmieniony przez Roberto dnia 24.01.2010 22:17, w całości zmieniany 1 raz
Użytkownik otrzymał punkt pomocy za ten post od: cis-moll, Igor, kropek4767, kurshtml, Luke, Puma, Siwy, T4KEDA
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 16:11
Zacytuj zaznaczone   ^

otf to nie jest truetype tylko opentype - to raz
dwa - na localu szukasz po nazwie fonta, nie pliku
trzy - @font-face to osobny selektor importujący dany font - zapis, który przedstawiłeś jest bez sensu, w stylu:
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
html{
    
egle: begle;
    
body{
        
begle: egle;
    }
}


nie wiem też jak nazwy z kropką są interpretowane, ale dałbym po prostu 'Trajan Pro'

specjalnie zrobiłem taką prostą stronę na demo z czytelnym css'em
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
/*
 *
 * The fonts included are copyrighted by the vendor listed below.
 *
 * @vendor:     Dieter Steffmann
 * @vendorurl:  http://www.steffmann.de
 * @licenseurl: http://www.fontsquirrel.com/license/Marketing-Script
 *
 *
 */
@font-face {
font-family: '
Marketing Script'
;
src: url(MarketingScript.eot);
src: local('Marketing Script'), url(MarketingScript.ttf) format("truetype")
}


* {
    
margin: 0;
    
padding: 0
}

body {
    
font: 35px/50px 'Marketing Script';
    
text-align: center;
    
padding: 5em 1em
}

h1 {
    
font-size: 40px;
    
font-weight: 400
}


po to importujesz tego fonta, żeby go potem normalnie używać.
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Soanvig
Użytkownik
Soanvig

Płeć: Mężczyzna
Wiek: 15
Dołączył(a): 29 Mar 2009
Posty: 1422
Pomocy: 22
Skąd: Katowice
Post Wysłany: 24.01.2010 16:28
Zacytuj zaznaczone   ^

Już to rozgryzłem i usunąłem posta, więc sorka, że w zasadzie na marne pisałeś Smile Jednak proponuje to potraktować jako uzupełnienie poprzedniego posta, w którym nie wszystko zamieściłeś. Daję Ci punkt pomocy.

A tak na marginesie jak się zaznacza coś w kodzie?
 

_________________
http://www.webkrytyk.pl/ Zapraszam Smile
 Online! 
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
ChromeWinXP1280x1024
jsmp
Recenzent
jsmp

Płeć: Mężczyzna
Wiek: 20
Dołączył(a): 15 Paź 2006
Posty: 3895
Pomocy: 135
Post Wysłany: 24.01.2010 16:31
Zacytuj zaznaczone   ^

rem (//)

Co do kodów powyżej, to jak byś mógł dodać prosty kod HTML do sprawdzenia bo będzie łatwiej sprawdzać efekty niedowiarkom przez podgląd Smile
 

_________________
Kurs pozycjonowania stron - jak zdobyć najlepsze pozycje w wyszukiwarkach!

Specjalista ds. marketingu internetowego [zobacz certyfikat]
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
5103910
 
 
 
 
 
Skype
 
FirefoxWinXP1024x768
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 20:29
Zacytuj zaznaczone   ^

jsmp - dlatego dałem linka do html'owego dema u mnie ( http://roberto.ovh.org/html-css/fonty.html )

teoretycznie też mógłbym dać do podglądu ale:
musiałbym i tak gdzieś wrzucić te czcionki, także w formacie .eot (o ile jeszcze w internecie jakiegoś .otf czy .ttf znajdę niespakowanego) czyli najpewniej... do siebie Wink i efekt byłby praktycznie ten sam
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Soanvig
Użytkownik
Soanvig

Płeć: Mężczyzna
Wiek: 15
Dołączył(a): 29 Mar 2009
Posty: 1422
Pomocy: 22
Skąd: Katowice
Post Wysłany: 24.01.2010 21:44
Zacytuj zaznaczone   ^

Wrzuć jakąś naprawdę niezwykłą czcionkę (jak chcesz mogę ci jakąś podesłać), aby można było na pierwszy rzut oka stwierdzić, że jest niestandardowa. Co do tej równe dobrze mogę pomyśleć, że jest to Times New Roman
 

_________________
http://www.webkrytyk.pl/ Zapraszam Smile
 Online! 
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
ChromeWinXP1280x1024
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 22:19
Zacytuj zaznaczone   ^

hm, wygląda że wersje Chrome różnią się mocniej w działaniu pod różnymi systemami niż sądziłem. A myślałem, że to makowa wersja jest okrojona

w dev 4 działa. Nawet pod windowsem ;]
trzeba więc trochę poczekać, aż Chrome się w końcu zaktualizuje i dogoni resztę...
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Man1ek
Użytkownik
Man1ek

Płeć: Mężczyzna
Dołączył(a): 06 Gru 2009
Posty: 67
Pomocy: 2
Post Wysłany: 24.01.2010 23:02
Zacytuj zaznaczone   ^

Hmmmmm ciekawe rozwiązanie; mam pytanie czy spowalnia to pracę serwera? czas wczytywania strony, bo na smashingmagazine czytałem kiedyś, że niestandardowe czcionki przez css są nie użytecznie. Dokładnie nie pamiętam wszystkich argumentów ale było, że użycie tego spowalnia znacznie stronę. Pisali, że o wiele lepiej użyć obrazków, bo one zawsze działają, szybciej się one załadują, nie sprawiają problemów albo najlepiej flasha. W sumie to się zgadza bo jeszcze nigdy nie widziałem rozwiązania tego z css na konkretnej stronie, portofolio, blogu. Znaczy się to widziałęm raz, dawno temu ale długo się ładowało, tylko nie wiem czy dlatego, że strona była oblegana (link na głownej w SM) czy przez te fonty.
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
FirefoxWinXP1680x1050
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 23:15
Zacytuj zaznaczone   ^

pracę serwera? nie
czas wczytania strony - tam samo jak obrazek zwiększa ten czas tak samo czcionka zwiększy. nie ma różnicy, czy ściągane dane to obrazek, css, skrypt js, html, font czy jeszcze coś innego
czy spowalnia znacznie stronę? hm, zanim się czcionka nie ściągnie to jest zamiast niej chyba standardowa (nie wiem, nie zauważam - za szybko), a jak się ściągnie - to działa niczym lokalna, ale bez instalowania
obrazki będą ściągane z taką samą prędkością jak inne pliki, więc nie rozumiem za bardzo tego argumentu. ale Mozilla wprowadza kolejny format czcionek (...), który jest właśnie nastawiony na optymalizację ich wagi
w tym rozwiązaniu piękne jest to, ze nie sprawia problemów Wink w bardzo prosty sposób można kontrolować 'co jeśli nie zadziała' tak jak normalnie przy ustawianiu czcionek - dając ich listę.
flash? z armatą na muchę i jest wkurzający, jest blokowany, obciąża przeglądarkę

trudno było szukać takich rozwiązań, skoro od kiedy IE zaczął wspierać .eot sporo czasu minęło, .eot nie zdobył popularności, a CSS3 dopiero wchodzi i całkiem niedawno przeglądarki zaczęły importowanie czcionek wspierać (a niektóre jak Chrome nadal nie), a do tworzenia .eot'ów nie było sensownego softu
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Man1ek
Użytkownik
Man1ek

Płeć: Mężczyzna
Dołączył(a): 06 Gru 2009
Posty: 67
Pomocy: 2
Post Wysłany: 24.01.2010 23:26
Zacytuj zaznaczone   ^

to fakt; o wiele wygodniej by było dla wszystkich gdyby to rozwiązanie działało dla wszystkich przeglądarek, nie trzeba by było kroić tekstu w .gify, .pngi Najlepszym rozwiązaniem było by chyba coś w stylu "biblioteki czcionek" tak jak w przypadku bibliotek php. No jest coś w tym rodzaju ale trzeba js wtedy... Razz Hmmm rozwiązanie z css to ma jeszcze 1 wielki - rozwój mobilny, itp Masa osób teraz z iphonów, telefonów z dot. wyświetlaczem no i zwykłych korzysta z sieci wchodząc w pierwsza lepsza darmowa sieć miejska. Jeśli czcionka w rozmiarze np. 20px trochę różniła od Ariala (który by za nią wszedł, gdyby ta się nie wyświetliła) to wszystko by padło. Chyba, że mnie coś ominęło i telefon poradził by sobie z czcionka niestandardowa?

Czy czcionki który zostaną włączone Twoją metodą idą do folderu czcionek systemowych??
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
FirefoxWinXP1680x1050
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 23:42
Zacytuj zaznaczone   ^

nie za bardzo rozumiem to o bibliotekach czcionek i potrzebnego do tego JS

nie wiem czemu wszystko by miało 'paść' jakby się zmieniła czcionka?

i fakt, że w urządzeniu z małym wyświetlaczem będzie jakaś inna (jednak czytelna) czcionka jakoś by mnie niespecjalnie martwił - teraz korzysta się tylko z czcionek standardowych jak się chce wpisać tekst. Tak zyskuje ktoś (mając przeglądarkę, która to wspiera), a ktoś inny nic nie traci.

nie, te czcionki nie są instalowane w systemie
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Man1ek
Użytkownik
Man1ek

Płeć: Mężczyzna
Dołączył(a): 06 Gru 2009
Posty: 67
Pomocy: 2
Post Wysłany: 24.01.2010 23:51
Zacytuj zaznaczone   ^

Cytat:
nie za bardzo rozumiem to o bibliotekach czcionek i potrzebnego do tego JS


Chodziło mi o tą metodą na niestandardowe czcionki przez JS a na myśli miałem, że dobre by było coś co działało by wszędzie nie sprawiając problemów (czym na pewno jest element tak ważny jak typografia zależny od JS)

Cytat:
nie wiem czemu wszystko by miało 'paść' jakby się zmieniła czcionka?

no, że się rozjedzie, divy, coś zacznie wykraczać szczególnie, że jeśli ktoś już się decyduje na niestandardowa czcionkę to raczej nie będzie miał zwykłego jednolitego tła, tylko raczej coś bardziej skomplikowane. Gdy czcionka się zmieni tekst i będzie np. o kilka linijek dłuższy/krótszy to nici z tła obrazkowego bo tekst za nie wyjedzie, jeszcze pewnie obniży inne divy.
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
FirefoxWinXP1680x1050
Roberto
Moderator
Roberto

Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 07 Paź 2005
Posty: 11827
Pomocy: 692
Skąd: Wrocław Pod
Post Wysłany: 24.01.2010 23:57
Zacytuj zaznaczone   ^

strony robione co do pixela dla danej czcionki i danego rozmiaru to kiepski pomysł
przede wszystkim - użytkownik taki rozmiar może zmienić - jeżeli wtedy rozpadnie mu się strona, to znaczy że coś jest nie tak z tą stroną i autor tego nie przemyślał
a urządzenia mobilne często blokują pewien minimalny rozmiar czcionki (z racji małego ekranu)
no i w różnych systemach operacyjnych różne czcionki inaczej się zachowują, wygładzanie jest inaczej robione - więc tutaj też nie ma co liczyć pixeli
 

_________________
"im więcej wolno - tym mniej wypada"
dopieść swój kod ;] | float i clearowanie
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Adres AIM  
 
 
Jabber
 
 
 
 
SafariMacOSX1280x800
Igor
Użytkownik
Igor


Płeć: Mężczyzna
Wiek: 19
Dołączył(a): 31 Sty 2009
Posty: 1452
Pomocy: 51
Skąd: Warszawa
Post Wysłany: 25.01.2010 12:58
Zacytuj zaznaczone   ^

Linuksowy Chrome sobie całkiem dobrze radzi Smile (nie widzę problemów) Smile Smile
Man1ek, jak masz takie wątpliwości to poczytaj sobie jakie są różnice nawet w standardowej czcionce:
http://www.forumweb.pl/viewtopic.php?t=51087

i już będziesz wiedział dlaczego układ strony nie powinien zależeć od rozmiaru czcionki ...
 

_________________
Phasmida.pl - straszyki! | Forum - straszyki! |
http://igor.phasmida.pl - moje strony w jednym miejscu!
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
ChromeUbuntu1280x1024
Puma
Użytkownik
Puma

Płeć: Mężczyzna
Wiek: 42
Dołączył(a): 06 Lis 2005
Posty: 7622
Pomocy: 234
Skąd: Chojnice
Post Wysłany: 25.01.2010 13:19
Zacytuj zaznaczone   ^

---------- 12:13 25.01.2010 ----------

Nie wiem dlaczego piszesz że na chrome pod windows to nie działa, mam chrome 4x i działa dobrze. Ta wersja jest chyba beta a oficjalna 3x ale polecam wersje 4x z uwagi na możliwość instalacji wtyczek.

---------- 12:19 ----------

Nie zauważyłem że w v.4 już sprawdziłeś Wink
 

_________________
Moje komentarze
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
FirefoxWinXP1440x900
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Szybka odpowiedź
Kod potwierdzający
Użytkownik
Temat
Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very sad Evil or Very Mad Twisted Evil Rolling Eyes Wink Exclamation Question Idea Arrow Neutral Mr. Green + - *
  

  Zamknij Tagi
 
 

Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

RSS Przełącz do wersji mobilnej

Zdobywca I miejsca w konkursie WWW
[www.moskat.pl] [eaw.abajt.pl]
Powered by phpBB © 2001, 2005 phpBB Group
Uruchamianie kodu dzięki Sphere Research Labs w ramach ideone.com
Style created freely by Cyber-MX :: Modified by logeen :: Sponsor: Biuro Rachunkowe
katalog stron
katalog stron
kbkteam.net
bajkar

www.bajkar.sitpchem…
Klimatyzacja
Clima Cool
www.climacool.pl
systemy CMS
Profesjonalne systemy CMS !
www.govern.pl
Sklep odżywki
Sklep odżywki
www.megapower.pl