Skip to main content

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. ;)

1
Komentari

Jel ovaj susjed D1a slucajno?

Dodaj komentar
Ime:
e-mail:
WWW:
Izračunaj: 4 + 8
Komentar: