Pola programu InDesign są tak proste, jak kliknięcie i przeciągnięcie. Warstwy programu Photoshop umożliwiają malarzom kolorowe piksele w dowolnym miejscu. Ale układ z HTML i CSS jest grą trącania i kaskadowania.
Zdarza się to każdego dnia: artyści-artyści z programu Photoshop wymyślają projekty, szlifując ich odstępy, starannie dobierając odpowiednie kroje pisma i kolory. Oddają swoją pracę prężnemu deweloperowi HTML, który ogłasza, że jego zaprojektowanie zajmie kilka dni, zanim przekształci się w działający HTML / CSS. Co gorsza, wprowadzą zmiany uwzględniające różne rozmiary ekranu. Czas jest dla obu stron zagadką. Czy programista przekształci PSD w działający HTML / CSS na godzinę lub tydzień?
Podstawy układu strony - możliwe, praktyczne, możliwości - są łatwe do uchwycenia. Podobnie jak sam projekt, zrozumienie zasad pomoże każdemu projektantowi stworzyć lepsze projekty i przyspieszyć proces budowy witryny.
Wszystko na stronie internetowej, od akapitów do obrazów, po linki do pogrubionego tekstu, znajduje się w niewidocznych ramkach. Te pudełka występują w dwóch odmianach: blokowej i liniowej. Różnica między liniowym a blokowym polega na ich zachowaniu.
Blokuj stosy elementów jeden na drugim. O ile nie powiedziano inaczej, zajmują one jak najwięcej przestrzeni poziomej, popychając wszystko dookoła w górę lub w dół. W przypadku projektu elementy blokowe są podstawowym narzędziem układu.
Elementy śródliniowe oparte są na formatowaniu tekstu. Nie przerywają przepływu tekstu, a ich wymiary rozszerzają się, dopasowując je do zawartości. Powiedzenie elementu wbudowanego, aby zachować szerokość 200 pikseli, nie będzie działać. Wypełnienie go tekstem.
Domyślnie każdy element w jest elementem wbudowanym lub blokowym. Projektanci mogą zmienić swoją naturę za pomocą małego CSS - na przykład, zamieniając stos elementów listy (natywnie blokuje) w rząd lub serię poziomych łączy (natywnie inline) w stos pionowy. Oznacza to, że do układu można użyć dowolnego widocznego elementu. To, czy powinny one zależeć od danego układu.
Natywne elementy blokowe to:
- Akapity
- Listy
- Elementy na liście
- Nagłówki
-
- Tabele
- Cytaty blokowe
- Organizatorzy w HTML5
,
,
,
, i
- Ciało
Elementy śródliniowe to:
- Kotwice (hiperłącza)
- Pogrubienie
i
- italski
i
- Obrazy
- Cytaty
- Wpisz styl
- Formuj etykiety
- Zależy od Ciebie
Typowe znaczniki, które nie są ani blokowe, ani wbudowane:
- Tytuł dokumentu
- Metatagi
- Tagi skryptu
- Tagi linków
Na pierwszy rzut oka przystosowanie się do mentalności podobnej do lego wydaje się sprzeczne z intuicją w medium, które umożliwia gradienty, krzywe i elastyczne układy. Ale idea wszystkiego jako cegły jest kluczowa dla zrozumienia, gdzie spotykają się treść i prezentacja.
Wytyczna: każda para tagów (lub tagów autonomicznych, takich jak
) w ciele przedstawia pudełko.
Używanie bloków do układu
Usuń ramkę tekstową w programie InDesign, a sąsiadujące zdjęcie nie zostanie przeniesione, ponieważ żadne z nich nie zależy od drugiego. Zastosuj krzywe na warstwie Photoshopa i żadna inna warstwa się nie zmieni, ponieważ krzywe wpływają na jedną warstwę naraz. Ale usuń element w HTML i wszystko po tym elemencie prawdopodobnie się zmieni. Blokuje stos strony internetowej do lewego górnego rogu kontenera, na przykład
lub inny blok.
Cały układ strony jest realizowany za pomocą elementów blokowych. Projektanci najczęściej korzystają z bloków elementy, aby utworzyć prostokątne obszary, do których pasuje cała treść. Istnieją tylko cztery zasady: - Całkowita szerokość: przestrzeń zajmowana przez element i wpływa na niego.
- Float: zmiana tendencji bloków do stackowania.
- Wyczyść: Ponowne ułożenie stosów.
- Nest: Elementy leżą w sobie lub nie. Nie ma w połowie drogi.
Każda reguła ma zastrzeżenia ... ale żadna nie jest wymagana do złożenia strony.
(Eksperci CSS uznają, że te zasady mają zastosowanie do elementów o względnym położeniu, a pozycjonowanie bezwzględne jest innym - i mniej powszechnym - zwierzęciem).
1. Całkowita szerokość = pole i bufor
Całkowita szerokość to ile przestrzeni poziomej zajmuje blok. Obejmuje to margines, obramowanie i dopełnienie bloku. W żargonie drukarskim margines i dopełnienie są rodzajami rynien. Ale w przeciwieństwie do tradycyjnej negatywnej przestrzeni, tworzonej przez rozsuwanie pudełek, wyściółka i margines są częścią pudełka. Są jak kerning dla elementów układu.
Obliczanie szerokości, wypełnienia i marginesu jest często największym problemem dla projektantów, ale pozostałe zasady są nieco prostsze.
2. Pływające uderzenia bloków ze stosu
Floating przesuwa element blokowy w lewo lub w prawo, usuwając go z naturalnego stosu. Kiedy klocek unosi się, robi miejsce dla wszystkiego, co znajduje się pod nim, aby wznosić się wokół jego drugiej strony.
Kolumny powstają, gdy szereg bloków unoszą się obok siebie.
3. Czyszczenie: Umożliwienie projektantom porządkowania strony zarówno w poziomie, jak iw pionie
Niefortunnym skutkiem ubocznym pływania jest jego wpływ na pojemnik. Kontener będzie rosnąć pionowo, dopasowując się do jego zawartości - z wyjątkiem tych pływających. Jeśli wszystko się unosi, to pudełko nie ma wysokości. Wszystko pod spodem unosi się pod pływającymi przedmiotami. Powstaje Chaos.
Clearing wznawia naturalną tendencję bloków do układania. W efekcie przypomina kontenerowi, że ma coś do zawarcia. Bez czyszczenia projektanci nie mogą organizować strony zarówno w poziomie, jak iw pionie.
4. Zagnieżdżanie
Zagnieżdżanie jest proste: każdy blok musi całkowicie rezydować w innym bloku. Żaden blok nie może rozciągnąć się poza jego granice bez poważnych konsekwencji, a żadne dwa bloki nie mogą się częściowo pokrywać.
Kolumny muszą pasować, albo inaczej
To tutaj projektanci muszą wykonać trochę matematyki. Aby poprawnie dopasować kolumny, suma ich całkowitej szerokości musi być mniejsza niż szerokość ich kontenera.
Kolumny to seria elementów blokujących, które popychają w lewo lub, w rzadszym przypadku, w prawo. Jeśli te kolumny są zbyt szerokie dla ich kontenera, bez specjalnych technik, ostatnia kolumna spadnie poniżej pozostałych.
Prosty układ może wykorzystywać trzy elementy do utworzenia układu dwukolumnowego:
…
Powyżej, lewy przykład używa tego CSS:
#container { width: 1000px; }
#main-content { width: 600px; padding: 20px; }
#sidebar { width: 340px; padding: 10px; }
Pojemnik ma szerokość 1000 pikseli. Blok główny zawiera 640 pikseli szerokości - 600 szerokości + 20 pikseli obicia z każdej strony. Blok boczny ma 360 pikseli szerokości - 340 szerokości + 10 pikseli padding z każdej strony. (600 + 20 + 20) + (340 + 10 + 10) = 1000. Idealne dopasowanie.
Jednak w przykładzie z prawej strony coś jest zbyt szerokie. Może to być dopełnienie kolumny lub same szerokości kolumn. Może kontener jest zbyt wąski. Zmiana dowolnego z tych czynników, aby pojemnik szerszy niż kolumny rozwiązałby problem.
Wyjątki wymagają więcej kodu; jednolitość wymaga mniej
W przeciwieństwie do bardziej tradycyjnych mediów wizualnych - powiedzmy, rzeźbienia lub projektowania graficznego - pisanie kodu wymaga silnego wyobrażenia o tym, co zrobi kod.
Niektóre aspekty projektowania za pomocą kodu są oczywiste. Proste projekty często używają mniej kodu niż złożone projekty. Jeśli rozwiązanie problemu projektowania wymaga, aby każdy widget, kolumna i fragment tekstu miały własny kolor tła, niech tak będzie. To po prostu wymaga więcej kodu.
- Jeśli jeden kawałek tekstu jest większy niż inne, to potrzebuje własnego wpisu w pliku CSS.
- Jeśli dwie kolumny mają różne szerokości, plik CSS powinien określać szerokości dla każdego z nich.
- Jeśli projekt wymaga trzech typów punktów, CSS wymaga trzech definicji.
Mniej oczywistym faktem z projektowania kodu jest to, że jest ... mniej oczywisty. Wyobraźnia i doświadczenie są szczególnie potrzebne przy programowaniu układu strony, gdzie zmiana marginesu kolumny wpłynie na sąsiadów. W przejściu od druku do projektowania stron internetowych, nie wyobrażając sobie, że wynik potknie się o nowych programistów.
Nie to color:blue
jest trudny do uchwycenia. Ale pisanie to jedna rzecz div { background: url(photo.jpg) top left no-repeat; }
i drugi, aby zobaczyć zdjęcie w kontekście strony.
Na szczęście niektóre analogie ułatwiają naukę.
- Zastanów się, czy CSS działa w całości ze stylami akapitów. Zmiana jednego elementu w locie jest uciążliwa. CSS działa najlepiej, gdy jest zastosowany do całej klasyfikacji obrazów lub słów (stąd atrybut "klasa" w HTML).
- Wyobraź sobie oglądanie jednej czwartej strony na raz. W dowolnym momencie użytkownicy widzą tylko część strony internetowej, ponieważ większość stron internetowych jest większa niż przeciętne okno przeglądarki. Użytkownicy końcowi widzą tylko kawałek na raz. "Fold" pojawia się na wszystkich czterech stronach przeglądarki.
- Zadaj sobie pytanie "co by było, gdyby każdy element był podwojony ilościowo?" Dobre projekty przedstawiają treść dobrze przy uruchomieniu. Wielkie projekty internetowe nadal to robią. Szablony artykułów muszą pomieścić artykuły o różnej długości. Menedżerowie treści usuwają stary tekst lub dodają nowe zdjęcia, które nie są zgodne z zaplanowanymi proporcjami. Klienci decydują, że chcą mieć swoje pięć najnowszych tweetów na stronie głównej. Nikt nie wie, jak strona może się zmienić, ale dobrym środkiem ostrożności jest planowanie różnych ilości wszystkiego.
Idąc do przodu
Zalety zrozumienia układu strony to wiedza o tym, co jest możliwe, zapobieganie typowym pułapkom i szybsze czasy rozwoju. Ale uczenie się projektowania z myślą o HTML / CSS wymaga zmiany myślenia. Systemy CSS, takie jak 960 Grid System zminimalizować wymagane prace techniczne, ułatwiając przejście z czystej pracy pikseli do kodu. Ale jak uczenie się dowolnego języka, najlepszym narzędziem może być wytrwałość.
Co sprawia Ci najwięcej kłopotów z przekształcaniem makiet w działający HTML i CSS? Podziel się swoimi doświadczeniami i rozwiązaniami w komentarzach poniżej.