Normalize.css vs Reset.css: Wybierz właściwie.

Od jakiegoś czasu w swoich projektach postawiłem na normalize.css, którym jak dla mnie, na głowę biję stary poczciwy reset.css. Różnicę między tymi dwoma podejściami bardzo dobrze widać wtedy, kiedy ma się dwa projekty, gdzie w jednym resetujemy domyślne style a w drugi normalizujemy. W czym więc jedno podejście jest lepsze od drugiego?

Normalize zachowuje style często używanych elementów

Nie ma nic bardziej głupszego od resetowania stylów w jednym miejscu po to by w innym ustawić je od nowa. Takie sytuacje pojawiają się przy używaniu reset.css. Weźmy dla przykładu takie elementy jak li, strong czy sup i sub. Po co to resetować?

Normalize ma całkiem inne podejście i stara się poprawić różnice pojawiające się pomiędzy przeglądarkami, tak bardzo jak jest to tylko możliwe. Dzięki temu elementy wszędzie wyglądają tak samo, a my nie musimy od nowa deklarować tych samych stylów.

Normalize nie zaśmieca dev toola

Największym problemem resetowania jest niewątpliwie jeden wielki śmietnik podczas debugowania, gdzie sprawdzany element występuje w towarzystwie całej rodziny tagów informując nas o tym, że ma marginesy ustawione na 0. Przy normalizowaniu tan problem nie występuje przez co łatwiej połapać się w tym jakie style faktycznie nadajemy konkretnemu elementowi.

Normalize jest modularny

I to bardzo. Cały plik jest zbudowany tak, że możemy przenieść tylko te sekcje, które faktycznie potrzebujemy w naszym projekcie. Niestety w resecie tego nie osiągniemy.

Normalize ma dokumentację

Jedna z największych zalet tego rozwiązania. Każda linijka kodu jest opatrzona komentarzem wyjaśniającym za co ona odpowiada, dzięki czemu plik po za normalizacją edukuje nas developerów. Polecam przejrzeć dokumentację na Githubie i zapoznać się z tym jakie różnice występują między przeglądarkami.

Reset nie ma dokumentacji bo co tu opisywać. Resetujemy i tyle.

Podsumowanie

Można by odnieś wrażenie, że artykuł jest tendencyjny i ma na celu promocję tylko jednego podejścia. I tak jest. Nie mówię przy tym, że reset.css jest zły, jest po prostu już przestarzały i powinien udać się na zasłużoną emeryturę.
W praktyce wybór i tak należy do Ciebie developerze, ale zanim postawi się na jedno bądź drugie rozwiązanie, warto przeanalizować co w danym projekcie sprawdzi się lepiej. A może dojdziesz do wniosku, że nie potrzebujesz ani normalizacji ani resetowania?

Źródło

http://nicolasgallagher.com/about-normalize-css/