Lion's Fart RSS Feed
home ‹‹

CSS: Zamjena teksta slikom

Četvrtak, 5. Veljače 2009.
Napomena: ako ste web dizajner ovo sigurno već znate pa slobodno preskočite.

Na vrhu stranice u najvećem headingu (H1) imaš naslov sajta.

<h1>Lion's Fart</h1>

I to dobro funkcionira tako dugo dok je samo tekst u pitanju. Ali kada ti netko sklepa super seksi logo (najbolji komentar do sad je da ovaj gore lijevo podsjeća na strip club) trebaš zamijeniti tekst sa slikom.

<h1>
  <img src="lionsfart.jpg" width="500" height="60" alt="Lion's Fart" />
</h1>

Ovo je ok za posjetitelja stranice (a i prikazuje tekst ako isključiš CSS u pregledniku), ali ne valja zbog SEO razloga, tj. tražilice te manje vole.

• • • • •

Nabij tekst, stavi sliku

Dakle trebaš na neki Google-friendly način sakriti tekst tako da ostane samo slika u pozadini.

Rješenje koje se često koristi, a koje nije upitno za tražilice je text-indent CSS property postavljen na neku negativnu vrijednost, par metara lijevo od ekrana.

<h1 id="logo">Lion's Fart</h1>

h1#logo
{
  width: 500px;
  height: 60px;
  text-indent: -9999px;
  background: url('lionsfart.jpg') no-repeat
}

Kako je taj logo obično i poveznica na root sajta treba dodati link:

<h1 id="logo">
  <a href="/">Lion's Fart</a>
</h1>

h1#logo a
{
  width: 100%;
  height: 100%;
  display: block
}

Drugi slučaj

Ujedno trebaš riješiti i drugi slučaj: tekst tj. logo sajta se nalazu u headingu samo kad čitatelj nije na nekom konkretnom postu - kad otvori neki post onda je u H1 naslov tog posta.

U tom slučaju ćeš umjesto H1 upotrijebiti DIV.

CSS:

#logo
{
  width: 500px;
  height: 60px;
  text-indent: -9999px;
  background: url('/lionsfart.jpg') no-repeat
}
#logo a
{
  width: 100%;
  height: 100%;
  display: block
}

HTML - kad čitatelj nije na određenom postu (H1):

<h1 id="logo">
  <a href="/">Lion's Fart</a>
</h1>

HTML - kad čitatelj jest na određenom postu (DIV):

<div id="logo">
  <a href="/">Lion's Fart</a>
</div>

Bube u preglednicima

U savršenom svijetu ovo super fercera, samo što mi živimo u onom u kojem browseri vole zajebavat.

Stari Firefox ima problema s ovim 100% na linku (A) pa mu trebaš staviti konkretnu širinu i visinu.

A ako uvedeš neke lude margine i paddinge klikabilni prostor se može pomaknuti u odnosu na stvarnu poziciju slike - to rješavaš postavljanjem overflowa i cursora. Obično ne treba, ali ono - za svaki slučaj.

Konačno optimizirano rješenje izgleda ovako:

div#logo
{
  width: 500px;
  height: 60px;
  text-indent: -9999px;
  background: url('/lionsfart.jpg') no-repeat;
  overflow: hidden;
  cursor: pointer
}

div#logo a
{
  width: 500px;
  height: 60px;
  display: block
}

<div id="logo">
  <h1>
    <a href="/">Lion's Fart</a>
  </h1>
</div>

Naravno, H1 tag prikazuješ po potrebi.

Demo se nalazi ovdje.

Enter Safari

Ajde da jednom iskritiziramo i Safari. Osim što prejako renda bold i nasere plavi border na aktivna polja zna krivo obojati pozadinu slike.

Primerice želiš logo nabiti na sredinu, a ostatak popuniti bojom koja je ista kao pozadina slike.

<div style="background: url('logo.jpg') top center #33aa66">logo</div>

Safari će za boju pozadine JPG slike na sveopći užas autora postaviti neku drugu boju.

Naravno, prvo posumnjaš na sebe, učitaš sliku u neki editor a kad tamo: pozadina je #33aa66! Halo, Safari, tko te učio boje?

(To se rješava recimo tako da učitaš JPG u neki program i snimiš ga s uključenom EXIF opcijom.)

I jednostavno moraš reći susjedu koji se kurči s iPhoneom da Apple pojma nema. :)

• • • • •

Za one koji žele znati više

- Devet različitih image replacement tehnika.
- Što Google kaže na to?
- Wikipedia: Fahrner Image Replacement (btw Tko je taj Fahrner?)
- Please Stand By - nema veze s ovim, ali primjetite kako je fino riješeno CSSom.


PS. Computer Tan, za sunčanje ispred monitora. ;)

Komentari

06.02.2009. 17:52 | 1
marra

Jel ovaj susjed D1a slucajno?

Dodaj komentar

ime *

e-mail

www

Dozvoljeni tagovi su A, B, I, U i S. e-mail adresa se nigdje neće prikazati.

Control panel

Linkovi RSS feedDnevni linkovi

  1. SQL Server App_name() function
    SQL Server tip: find out which application has modified your data.
  2. Other Android Languages
    It would be nice if you could build Android apps in other languages...
  3. Is polygamy bad for society?
    An anthropologist argues that it is as Canada considers whether having multiple wives is a constitutional right. (Salon)
  4. Spoil a photo
    Photobombs.
  5. 7 Ways to Play Internet Content in Your Living Room
    Samo sedam?
  6. JSON in Javascript
    Što je to JSON?
  7. Tawdry Tiger Tales
    America is obsessed with tigers. (slideshow @ Newsweek)
  8. Fun Ferret Facts
    Zanimljivosti o lasicama.
  9. Extreme Close-Up of the Face on Mars
    Faca na Marsu.
  10. Find the Most Time Consuming Code in your SQL Server Database
    SQL Server tip.
  11. Everyone Who Tried to Convince Me to use Vim was Wrong
    Vim editor.
  12. An Order of Seven Global Cyber-Guardians Now Hold Keys to the Internet
    7 država ima "ključeve za internet".
  13. Weirdo Toys
    Blog o neobičnim igračkama.
  14. The homeless brother I cannot save
    "A year ago, Jay traded my parents' home for the street. But the more I try to help him, the more I lose myself" (Salobn)
  15. 20 Secrets Your Waiter Won't Tell You
    20 stvari koje vam konobar neće reći.
  16. Opera Mini serves one billion pages a day
    Bravo Opera.
  17. Global Warming "Undeniable," U.S. Government Report Says
    A dobro jutro!
  18. Old Photographs Of Movie Stars
    Stare fotke poznatih faca.
  19. 15 Developer/Hacker Women to Follow on Twitter
    Twitterašice!
  20. Derby's Lara Croft Way is open for business
    Ulica Lare Croft!