Snelkookpan-recept Liquid Design (1)
Hoi Cross,
Na m'n reactie "eigenlijk zou alles anders moeten" begon ik nieuwsgierig te worden of dit ontwerp zich zou lenen voor een
Liquid Design: automatisch toegesneden op een "op schaal aanpassing" bij verschillende resoluties.
Hier volgt wat ik in de keuken ben tegengekomen.
=======
Fase 00.0
Eerst een knippatroon gemaakt voor de voordeligste achtergond-images die nodig zijn:
De ruimte onder partje 1 is één kleur (zonder verloop) en hoeft niet in het image > te regelen met css.
Hetzelfde geldt voor het tussenstukje tussen 2 en 3 en de oranje kleur in partje 3.
Partje 3 is transparant in het oranje gedeelte: dan kan het naar links over het verloop van partje 2 vallen (als nodig bij erg smalle schermen / windows).
=======
Fase 00.1
Partjes 2, 3 en 4 onder elkaar gemonteerd in één css-sprite (combi-img); dat kan omdat het niet-herhalende images zijn; het paars is transparant:
De twee oude images (background1.png en card.png) waren samen 63kB; deze 3 gecombineerd: 43.5kB.
=======
Fase 01
Horizontale herhaalstrook voor de zijkanten als
repeat-x background-image in de html.
Body op breedte 95% gezet, met L/R margins op
auto: altijd gecentreerd, met links en rechts nog stukje oranje background voor het mooi.
In %: dan neemt zijkant-breedte af bij smallere schermen, en is meer breedte beschikbaar voor de pagina zelf dan bij een
fixed width in px.
Body heeft background-color #F5F5F5. Dwz = wit met een heel klein tikkeltje grijs. Dat maakt contrast witte background / zwarte letters niet zo groot en is veel prettiger leesbaar.
Body heeft tijdelijke hoogte van 2000px om te kunnen zien wat er gebeurt bij lange pagina's.
- Resultaat: card-nw-01.htm
- Gaat in de breedte goed bij alle resoluties.
- Onder de herhaalstrook aan de zijkanten zit nog wit.
=======
Fase 02
Wit onder herhaalstrook opgevuld met vaste oranje kleur.
- Resultaat: card-nw-02.htm
- Gaat nu ook in de hoogte goed bij alle resoluties / pagina-hoogtes.
=======
Fase 03
Om bij breedbeeld-schermen niet vreselijk veel kijkafstand te hebben tussen de linkerkant en de rechterkant van de pagina: max-width van 1200px voor de body ingesteld.
Voor de demo: schermbreedte 1600px gesimuleerd door {width:1580px} in de html (in het echt op grote schermen is de hor. scrollbar er niet).
- Resultaat: card-nw-03.htm
- Betere paginabreedte bij resolutie > 1280*1024px, pagina blijft dan gecentreerd.
- Bij smallere schermen blijft het goed gaan.
=======
Fase 04
Tijdelijke grote breedte er weer uit gehaald.
Een <div id="bovenstrook"> aangemaakt, met partje 2 als
no-repeat background-img en vaste kleur naar rechts.
- Resultaat: card-nw-04.htm
- Gaat goed bij alle resoluties.
- Aan de rechterkant zit het witte kromme uiteinde er nog niet in.
=======
Fase 05
Binnen de bovenstrook een <div id="logo"> gezet voor het logo en het witte uiteinde. Is 100% van de bovenstrook breed, maar toch transparant, ook naast het logo. Background-img op positie rechts gezet, en 174px omhoog getrokken om partje 3 uit de sprite te krijgen.
=======
Fase 06
Het ovaal-partje 4 kan nu aan de body vastgeknoopt worden, weer niet herhalen; met de rest van de body in de tikkeltje-grijs kleur, en weer met omhoogtrekken van het background-img om het stukje met het logo kwijt te raken.
De <body> zit qua z-index vanzelf lager dan de <div id="bovenstrook">. Dus de bovenstrook overlapt automatisch wat in de body niet getoond moet worden.
- Resultaat: card-nw-06.htm
- Gaat goed bij alle resoluties.
- Zonder de overlappende bovenstrook zou het er zoals deze uitzien. Dat zit er dus virtueel onder!

=======
Fase 07
Tijd om de tijdelijke grote hoogte er uit te halen, en te kijken wat de pagina doet bij weinig inhoud.
- Resultaat: card-nw-07.htm
- Dat gaat mis: onder de content houdt de <body> hoogte op, en wordt de achtergrond met ovaal-hoek en pagina-achtergrondkleur tot op de bodem niet getoond.
- In Firefox, Chrome, Opera en Safari verspringt deze korte pagina t.o.v. een hoge pagina met meer inhoud dan op het scherm past.
=======
Fase 08
De <body> krijgt een minimum-hoogte van 100% (van de html-hoogte van ook 100%), en is dus altijd (minimaal) schermhoog. Plus 1px extra padding-bottom om springende pagina's te vermijden (zie:
De Springende Pagina).
Wordt vervolgd!
Met vriendelijke groet,
CSShunter