Onderaan mijn website zou ik graag een grijze balk willen, met een breedte van 100%.
In deze balk moet één regel komen te staan met een copyright teken, de naam van de website en noem maar op.
Ik weet van mezelf dat ik "dwangmatisch" programmeer (een soort smetvrees, maar dan op gebied van programmeren) en nu stoor ik me heel erg aan iets dat ik hiervoor veel heb gebruikt:
In dit laatste geval zou de div, de grijze balk weergeven en de p de inhoud ervan.
Maar nu vraag ik me dus af of dit wel een goede aanpak is?
Ten slotte nog de vraag of er meer mensen zijn die "programmeren met smetvrees", ik stoor me er namelijk heel erg aan en het zit ook behoorlijk in de weg van het leren van nieuwe dingen.
>> Oke, op dit moment doe ik erg m'n best om code te schrijven zónder commentaar, en tot nu toe lukt dit aardig, al dan niet met veel moeite. :P
Dat is niet de bedoeling. Je moet wel degelijk commentaar schrijven, maar niet boven iedere regel. Ik zou zeker boven iedere functie/method een korte omschrijving plaatsen zodat je over een paar maanden nog weet wat de functie doet.
>> De website heeft maar 1 header, 1 footer, etc., daarom gebruik ik id's.
Dat is niet nodig. Het zijn elementen die maar 1 keer voorkomen en juist daarom hoef je ze geen ID te geven. Je kunt ze rechstreeks aanspreken.
>> Mocht ik ooit een article element gebruiken met een header en footer, dan moet deze niet dezelfde stijl krijgen als de header en footer in de layout.
De header/footer in een article spreek je dan (als ik me niet vergis) als volgt via css aan: "article > header { color: red; }".
Beide eigenlijk. Probeer het eerst met de taal zelf op te lossen: CSS3. Wordt de taal zelf ontoereikend, dan pas je de BEM-methodiek toe.
Het een sluit het ander niet uit: BEM is vooral een systeem om tot logisch gestructureerde CSS-klassen te komen. Kan het zonder CSS-klassen, dan kan het dus zonder BEM.
Alles uit HTML nog eens overdoen in CSS is onzinnig:
<footer class="footer">
...
</footer>
Alleen kun je wel in een situatie verzeilen waarin een browser (meestal the usual suspect) iets niet goed doet en je dat moet omzeilen:
De vraag is dan dus: moet je dat op voorhand al doen? Ik denk persoonlijk van niet. Een probleem los je op als het zich aandient. Alleen als je grootschalige frameworks bouwt, loont het de moeite om problemen bij voorbaat al uit te sluiten.
Helder verhaal waar ik me ook wel in kan vinden. Echter (maar wellicht zit ik er naast) raadt Wouter aan om altijd classes (BEM) te gebruiken, volgens mij vanwege performance (omdat het zoeken naar een class sneller gaat dan het zoeken naar een (genest) element). Dus ik ben ook wel wel benieuwd naar Wouter's exacte beweegredenen.