Pracuję na normalize.css.
Główne różnice to:
Normalize.css zachowuje przydatne wartości domyślne zamiast „cofania stylu” wszystkiego. Na przykład, elementy podoba sup
lub sub
„tylko praca” po tym normalize.css (i faktycznie bardziej wytrzymałe), podczas gdy są one wizualnie nie do odróżnienia od zwykłego tekstu po tym reset.css. Zatem normalize.css nie nakłada na ciebie wizualnego punktu początkowego (homogenizacji). To może nie odpowiadać każdemu gustowi. Najlepiej jest poeksperymentować z obydwoma i sprawdzić, które żele z twoimi preferencjami.
Normalize.css naprawia niektóre typowe błędy, które są poza zakresem dla reset.css. Ma szerszy zakres niż reset.css, a także zapewnia poprawki błędów dla typowych problemów, takich jak: ustawienia wyświetlania elementów HTML5, brak font
dziedziczenia według elementów formularza, poprawianie font-size
renderowania pre
, przepełnienie SVG w IE9 i button
błąd stylizacji w iOS.
Normalize.css nie zaśmieca narzędzi programistycznych. Częstym problemem podczas korzystania z reset.css jest duży łańcuch dziedziczenia wyświetlany w narzędziach do debugowania CSS przeglądarki. To nie jest taki problem z normalize.css ze względu na ukierunkowane style.
Normalize.css jest bardziej modułowy.Projekt jest podzielony na stosunkowo niezależne sekcje, co ułatwia potencjalne usuwanie sekcji (takich jak normalizacje formularzy), jeśli wiesz, że nigdy nie będą one potrzebne Twojej witrynie.
Normalize.css ma lepszą dokumentację. Kod normalize.css jest udokumentowany zarówno wewnętrznie, jak i bardziej kompleksowo na Wiki GitHub . Oznacza to, że możesz dowiedzieć się, co robi każdy wiersz kodu, dlaczego został uwzględniony, jakie są różnice między przeglądarkami i łatwiej uruchomić własne testy. Projekt ma na celu edukację użytkowników w zakresie domyślnego renderowania elementów przez przeglądarki i ułatwienie im udziału w zgłaszaniu ulepszeń.
Bardziej szczegółowo o tym napisałem w artykule o normalize.css
Główną różnicą jest to, że:
Resetowanie CSS ma na celu usunięcie wszystkich wbudowanych stylów przeglądarki. Standardowe elementy, takie jak H1-6, p, strong, em, i tak dalej, wyglądają dokładnie tak samo, bez żadnej dekoracji. Następnie powinieneś samodzielnie dodać całą dekorację .
Normalize CSS ma na celu zapewnienie spójności wbudowanego stylu przeglądarki we wszystkich przeglądarkach. Elementy takie jak H1-6 będą wyglądać pogrubione, większe i tak dalej w spójny sposób w różnych przeglądarkach. Następnie należy dodać tylko różnicę w dekoracji, jakiej potrzebuje projekt.
Jeśli Twój projekt a) jest zgodny z typowymi konwencjami dla typografii i tak dalej, oraz b) Normalize.css działa dla Twojej grupy docelowej, to użycie Normalize.CSS zamiast resetu CSS sprawi, że Twój własny CSS będzie mniejszy i szybszy do napisania.
źródło
Normalize.css to głównie zestaw stylów, oparty na tym, co według jego autora wyglądałoby dobrze i sprawia, że wygląda spójnie w różnych przeglądarkach. Zresetuj zasadniczo usuwa stylizację z elementów, dzięki czemu masz większą kontrolę nad stylizacją wszystkiego.
Używam obu.
Niektóre style z Reset, niektóre z Normalize.css. Na przykład z Normalize.css istnieje styl zapewniający, że wszystkie elementy wejściowe mają tę samą czcionkę, co nie występuje (między wprowadzaniem tekstu a obszarem tekstowym). Reset nie ma takiego stylu, więc wejścia mają różne czcionki, co zwykle nie jest pożądane.
Zasadniczo, użycie dwóch plików CSS ma lepszą pracę z „wyrównaniem” wszystkiego;)
pozdrowienia!
źródło
Pierwsza
reset.css
to najgorsza biblioteka, której możesz użyć, ponieważ usuwa ona standardową strukturę HTML i wyświetla wszystko, co piszesz jako tekst, po przypisaniu wartości marginesu marginesu i innych atrybutów0
. Na przykład przekonasz się, że<H1>
będzie taki sam jak<H6>
.Z drugiej strony
Normalize.css
używa standardowej struktury, a także naprawia prawie wszystkie istniejące w niej błędy. Na przykład rozwiązuje problem z wyświetlaniem formularza z jednej przeglądarki do drugiej. Normalizuj naprawia to, modyfikując te funkcje, aby elementy były wyświetlane tak samo we wszystkich przeglądarkach.źródło
Cóż, z jego opisu wynika, że próbuje on zachować domyślny styl agenta użytkownika we wszystkich przeglądarkach, zamiast usuwać wszystkie domyślne style, tak jak zresetowałoby to.
źródło
resetowanie wydaje się koniecznością, aby spełnić niestandardowe specyfikacje projektowe, szczególnie w przypadku złożonych projektów nieobjętych płytą grzejną. Wygląda na to, że normalizacja jest dobrym sposobem na kontynuację programowania czysto internetowego, ale często strony internetowe są mariażem między programowaniem internetowym a regułami projektowania UI / UX.
źródło
Knowing the default CSS values for each element is part of being a good front end developer
- jest to podobne do powiedzenia, że wolisz pracować z elektronami niż z językiem programowania, ponieważ to właśnie czyni dobrego programistę. Efektywne korzystanie z narzędzi czyni kogoś dobrym programistą, na odwrót zwykle należy do kategorii marnujących czas fanatykówCzasami najlepszym rozwiązaniem jest użycie obu. Czasami nie należy używać żadnego z nich. A czasem używa się jednego lub drugiego. Jeśli chcesz zresetować wszystkie style, w tym marginesy i marginesy we wszystkich przeglądarkach, użyj reset.css. Następnie samodzielnie zastosuj wszystkie dekoracje i stylizacje. Jeśli po prostu lubisz wbudowane style, ale chcesz więcej synchronizacji między przeglądarkami, tj. Normalizacji, skorzystaj z normalize.css. Ale jeśli wybierzesz zarówno reset.css, jak i normalize.css, najpierw połącz arkusz stylów reset.css, a następnie arkusz stylów normalize.css (natychmiast). Czasami nie zawsze jest kwestia, która z nich jest lepsza, ale kiedy użyć której z nich, a kiedy użyć obu, a kiedy nie. MOIM ZDANIEM.
źródło
Odpowiedź na to pytanie była już kilkakrotnie, dla każdego z nich krótko podsumuję, przykład i spostrzeżenia z września 2019 r .:
Przykład :
<h1>
tag wewnątrz<section>
domyślnie Google Chrome zmniejszy rozmiar<h1>
tagu do „oczekiwanego” . Z drugiej strony Microsoft Edge tworzy „oczekiwany” rozmiar<h1>
znacznika. Normalize.css sprawi, że będzie spójny.Obecny status : repozytorium npm pokazuje, że pakiet normalize.css ma obecnie ponad 500 000 pobrań tygodniowo. Gwiazdy GitHub w projekcie repozytorium mają ponad 36 tys.
Przykład : zrobiłby coś takiego poniżej:
Obecny status : jest znacznie mniej popularny niż Normalize.css, pakiet reset-css pokazuje, że jest to około 26 000 pobrań tygodniowo. Gwiazdy GitHub mają tylko 200, co można zauważyć w repozytorium projektu .
źródło