Nieinwazyjne inicjały nagłówków
20 lipca 2006
Zastanawiało mnie jak zrobić ładne zdobienia pierwszych liter nagłówków bez dokładania dodatkowego spana z klasą. Wystarczyłby mi id albo klasa nagłówka - aby użyć odpowiedniej litery. Udało mi się osiągnąć wynik na trzy sposoby - z czego tylko jeden jest warty czegoś więcej niż kiwnięcia głową.
Sposób 1 - styl retro maszyny do pisania
Pomyślałem sobie, że jeśli każdy znak miałby tą samą szerokość dałoby się użyć jednostek ex aby odsunąć tekst o jeden znak w lewo. Przy foncie monospace oraz odpowiednim kolorze tekstu osiągniemy odpowiedni efekt. Uładnić nagłówek można przez zwiększenie odstępów między znakami. Nieudolne, ale czasem działa.
#afirmation {font-family: Monaco, Consolas, "Courier New", monospace;font-weight: normal;line-height: 68px;text-indent: -1.25ex;letter-spacing: 0.5ex;padding-left: 63px;background: url(a.gif) 0 50% no-repeat;}
Sposób 2 - popękanie first-letter
Pseudoelement first-letter odnosi się do pierwszej litery, to chyba jest jasne. Nie da się go jednak zniknąć przez visibility albo display - to tylko pseudoelement.
Można jednak zmodyfikować wielkość tekstu - ustawiłem 1px, hehe. Potem wystarczy tylko zmienić kolor tekstu tej literki (choć i bez tego jest estetycznie) i przesunąć resztę tekstu lekko w lewo. Efekt zadowala, działa „wszędzie”, tadam.
#oblivion {line-height: 69px;background: url(o.gif) 0 50% no-repeat;padding-left: 69px;text-indent: -5px;}#oblivion:first-letter {font-size: 1px;color: #FFF;}
Sposób 3 - generowana treść, misio i lisek stoją w kącie
Zamysł jest taki, że przed nagłówkiem wstawiamy obrazek i nakładamy go na pierwszą literę tekstu. Zadziała to dobrze w Operze, Explorer nie umie generowanej treści w ogóle, a Firefox nie potrafi jej dobrze pozycjonować. Tak czy inaczej w norweskiej przeglądarce wygląda dobrze.
Macie jakieś inne pomysły? :-)



