Ik gebruik in de praktijk eigenlijk altijd 'absolute' px-waardes als ik mijn websites vormgeef. Ik ben op zich al een hele tijd bekend met em's, maar vond het gebruik ervan altijd maar nodeloos ingewikkeld. Dit waren de problemen waar ik tegenaan liep:
[ul]
• Om bepaalde maten overeen te laten komen met de maten uit het aangeleverde design, moest ik hoofdrekenen om aan de em's te komen (als een van nature lui persoon zit deze extra moeite me uiteraard enorm dwars)
• Nesting van elementen die een bepaalde aangepaste font-size hebben is problematisch. Voor deze elementen moet je een aparte regel aanmaken om een sneeuwbaleffect te voorkomen.
• Het aanpassen van de font-size in een bepaald element is tamelijk problematisch. De overige maten worden ook aangepast, waardoor het element ineens relatief meer of minder ruimte inneemt in de layout. Als je pech hebt, gaat het om een element hoog in de hiërarchie. Dan hebben alle child-elementen er óók last van. De enige oplossing, is de overige maten herberekenen.
• Het is in de stylesheet bijna onmogelijk om te weten welke waarde in em's overeenkomt met een bepaald formaat op het scherm. Bij sommige elementen is het nog te doen, maar op andere elementen moet je bewust zijn van de plaats in de DOM en alle overige regels die van toepassing zijn op het element.
Voor zover ik begrijp, zijn em's in het leven geroepen omdat het "inzoomen" op websites in sommige browsers betekende dat de font-size groter werd gemaakt. Daar zit op zich wat in: De meeste mensen die deze functie gebruiken doen dat omdat ze de tekst niet of niet goed kunnen lezen. Door alleen de font-size te vergroten, zorg je ervoor dat zaken als margins hetzelfde formaat op het scherm houden. Dat wil in het ideale geval zeggen dat de tekst beter leesbaar is, maar dat de website nog op het scherm past zonder dat er scrollbars aan te pas hoeven te komen.
Het gaat echter natuurlijk niet lang goed als de overige maten hetzelfde blijven, het schopt de layout in de war. Tekst in kleine elementen waar de tekst bij de originele font-size net in paste loopt opeens buiten het element, en is daardoor soms niet of nauwelijks meer te lezen. Alleen als je em's gebruikt voorkom je dit, dan schaalt het element namelijk wel mee.
Echter, nu zie ik persoonlijk in de praktijk dat de meeste browsers gewoon werkelijk zoomen: Ik vermoed zelf dat dat komt omdat em's in de praktijk niet of nauwelijks gebruikt werden, dus de zoomfuncties die alleen de font-size aanpasten kwamen op de meeste gebruikers over als zijnde "buggy". Nu lijkt het er dus op dat er gewoon weer compleet gezoomd wordt, en dat ze de font-size met rust laten.
Mijn vraag naar aanleiding van dit alles luidt: Hoe zinvol is het nog om in deze tijd em's te gebruiken? Is het niet verstandiger om gewoon overal px voor te gebruiken en de browsers van de gebruikers uit te laten zoeken hoe groot dat uiteindelijk wordt weergegeven? Of vergis ik me, en zijn er nog veel situaties waarin het gebruiken van em's toch beter is?
[ul]
• Om bepaalde maten overeen te laten komen met de maten uit het aangeleverde design, moest ik hoofdrekenen om aan de em's te komen (als een van nature lui persoon zit deze extra moeite me uiteraard enorm dwars)
• Nesting van elementen die een bepaalde aangepaste font-size hebben is problematisch. Voor deze elementen moet je een aparte regel aanmaken om een sneeuwbaleffect te voorkomen.
• Het aanpassen van de font-size in een bepaald element is tamelijk problematisch. De overige maten worden ook aangepast, waardoor het element ineens relatief meer of minder ruimte inneemt in de layout. Als je pech hebt, gaat het om een element hoog in de hiërarchie. Dan hebben alle child-elementen er óók last van. De enige oplossing, is de overige maten herberekenen.
• Het is in de stylesheet bijna onmogelijk om te weten welke waarde in em's overeenkomt met een bepaald formaat op het scherm. Bij sommige elementen is het nog te doen, maar op andere elementen moet je bewust zijn van de plaats in de DOM en alle overige regels die van toepassing zijn op het element.
Voor zover ik begrijp, zijn em's in het leven geroepen omdat het "inzoomen" op websites in sommige browsers betekende dat de font-size groter werd gemaakt. Daar zit op zich wat in: De meeste mensen die deze functie gebruiken doen dat omdat ze de tekst niet of niet goed kunnen lezen. Door alleen de font-size te vergroten, zorg je ervoor dat zaken als margins hetzelfde formaat op het scherm houden. Dat wil in het ideale geval zeggen dat de tekst beter leesbaar is, maar dat de website nog op het scherm past zonder dat er scrollbars aan te pas hoeven te komen.
Het gaat echter natuurlijk niet lang goed als de overige maten hetzelfde blijven, het schopt de layout in de war. Tekst in kleine elementen waar de tekst bij de originele font-size net in paste loopt opeens buiten het element, en is daardoor soms niet of nauwelijks meer te lezen. Alleen als je em's gebruikt voorkom je dit, dan schaalt het element namelijk wel mee.
Echter, nu zie ik persoonlijk in de praktijk dat de meeste browsers gewoon werkelijk zoomen: Ik vermoed zelf dat dat komt omdat em's in de praktijk niet of nauwelijks gebruikt werden, dus de zoomfuncties die alleen de font-size aanpasten kwamen op de meeste gebruikers over als zijnde "buggy". Nu lijkt het er dus op dat er gewoon weer compleet gezoomd wordt, en dat ze de font-size met rust laten.
Mijn vraag naar aanleiding van dit alles luidt: Hoe zinvol is het nog om in deze tijd em's te gebruiken? Is het niet verstandiger om gewoon overal px voor te gebruiken en de browsers van de gebruikers uit te laten zoeken hoe groot dat uiteindelijk wordt weergegeven? Of vergis ik me, en zijn er nog veel situaties waarin het gebruiken van em's toch beter is?