Naast elkaar 1: display block (00:11:01)
Hier worden de items in het menu en de section naast elkaar geplaatst. Er wordt gewerkt met het display-type block. Veel elementen hebben dit display-type en hier hebben li-elementen en de section-elementen dat ook al. Ze hoeven daar dus niet
naar omgezet te worden.
Block-elementen nemen de totale beschikbare breedte in en staan onder elkaar. Als eerste stap stellen we dus een beperkende breedte in. Dan blijken de block-elementen nog steeds onder elkaar te blijven.
Om ze naast elkaar te krijgen moet dus bovendien gezorgd worden dat ze moeten vloeien naast elkaar. Dit gaat met float: left;
Dit floaten (vloeien of stromen) werkt. Het element gaat links staan en de volgende inhoud stroomt
er rechts omheen. Het levert echter wel ongewenste gevolgen in voor de overige elementen. Het parent element 'voelt' zijn inhoud niet meer zo goed. Je ziet zijn achtergrond niet of volgende elementen stromen te hoog in je lay-out in.
Daar
zijn de volgende hacks voor om dit op te lossen:
Geef het parent-element van een overflow: auto;
of overflow: hidden;
Geef het element dat niet in de float mee moet een clear: left;
Daarnaast zal bij ongelijke hoogten problemen ontstaan omdat elementen niet helemaal naar links terugvloeien als er elementen tussen staan die hoger zijn dan het rechter element. Vaak wordt dan met JavaScript de elementen even hoog gemaakt.
Zie hiervoor eventueel de bonusopdracht.
Ondanks deze hacks en een wat ingewikkelde werkwijze is deze manier veel in gebruik om elementen naast elkaar te plaatsen. Het geeft een precieze manier om elementen te plaatsen.
De linkjes (a-elementen) zijn standaard van het type inline. We zetten dat om naar block zodat ze met wat padding wat flinkere afmetingen krijgen. Ze vullen in verticale zin direct het li-element op omdat block-elementen hn hele beschikbare ruimte
opvullen.