Autor: Kuba Filipowski
Tagi: , — @ 16:37 2006-07-28

W Tokijskim magazynie PingMag, Jon przedstawia pięć webdesignerskich wzorów, które mają być odpowiedzią na najczęstsze problemy użytkowników dotyczące usability.

Jednym z ciekawszych rozwiązań jakie wskazał Jon wydał mi się Elastic Design. Chodzi to taki rodzaj layoutu, który automatycznie dostosuje swoje proporcje gdy zwiększy się rozmiar fonta w przeglądarce.

Sposób prosty i sympatyczny - layout nie tylko nie “rozjeżdża się” po zwiększeniu rozmiaru fontu z poziomu przeglądarki ale też “skaluje się”. Chodzi o coś takiego.

Jak to zrobić? Całe to “magiczne” skalowanie opiera się o działanie na jednostkach em w CSSie. Em to specyficzna, relatywna jednostka której rozmiar odpowiada wielkiej literze M (czy “bloku”, który ta litera zajmuje). Em jest relatywna czyli jej długość zależy od innej długości.

W naszym wypadku jednostką wyjściową będzie domyślne em przeglądarki. Domyślne em w większości popularnych przeglądarek wynosi 16px. Dlatego w body ustaliłem 0.75em co odpowiadałoby 12px fontowi.

Rozmiar .em jest relatywny - zaznaczam kolejny raz - czyli jeśli w body ustaliłem font-size na 0.75em to naszym nowym 1em w klasach dziedzicznych do body będzie odpowiadało 12px. Powiedzmy, że chcemy, żeby domyślny layout miał szerokość 760px. 760px / 12px = 63.33em. No i już wiemy, że nasz główny kontener będzie miał 63.33em.

Resztę rozmiarów robimy analogicznie. Trzeba pamiętać tylko o tym, że esencją emów jest ich relatywność, tak więc projektując konkretne rozwiązania graficzne musimy mieć na uwadze to, że domyślne ustawienie pewnie będą skalowane - layout będzie rósł lub malał więc, żeby nic się nie posypało trzeba unikać jednostek absolutnych (mówię o pikselach jeśli piksel to jednostka absolutna co nie do końca jest prawdą).

Wszelkie paddingi, marginesy i interlinie muszą być elastyczne i relatywne, muszą wzajemnie się określać, dzięki temu zachowamy odpowiednie proporcje w czasie powiększania.

Na koniec efekt mojej, krótkiej zabawy w elastyczny layout. Zrobiłem w ten sposób coś na kształt wersji popularnej, blogowej skórki K2. Nie powala graficznie ale pokazuje jak łatwo i szybko można:

  • zrobić coś na kształt skórki k2 ;)
  • zrobić to coś opierając się tylko o jednostki relatywne


Elastyczny layout by losamorales.com

Layout oczywiście do wzięcia. Na licencji CC by-sa.

Oczywiście nie twierdze, że tylko tego rodzaju layouty są dostępne lub użyteczne ale na pewno zrobienie czegoś takiego to dobre ćwiczenie. Ćwiczenie zmuszające do skupienia się nad zachowaniem naszego projektu przy różnych rozmiarach fontów. I raczej w dostarczaniu możliwości swobodnego i bezstratnego manipulowania rozmiarem fontów dopatrywał bym się użytecznych i dostępnych wzorów dobrego projektowania.
Acha, kilka linków, które możecie uznać za ciekawe

//edit: od dzisiaj (29-07-06) yashke.com jest elastyczne

Chcesz być na bieżąco? Dodaj yashke.com do swoich RRSów


Poczytaj też