Normalize.css zachowuje przydatne wartości domyślne zamiast „cofania stylu” wszystkiego. Na przykład, elementy podoba suplub 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 fontdziedziczenia według elementów formularza, poprawianie font-sizerenderowania pre, przepełnienie SVG w IE9 i buttonbłą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
Dość często nie pozostawiasz ich na zero (przy użyciu resetowania), więc w rzeczywistości piszesz mniej kodu. Jeśli chcesz wyzerować niektóre wartości, ten styl jest sprzężony z elementem, dla którego jest przeznaczony i powinien ułatwić debugowanie.
Osobiście wyszedłem z Normalizacji, chociaż nadal z niej korzystam. Wiele punktów tutaj jest naprawdę przesadzonych (lepsza dokumentacja ...?). Normalizacja jest opiniowana, więc narzuca ci wizualny punkt wyjścia (pomimo tego, co mówi ta odpowiedź). Może również stać się nieaktualny. Reset.css nigdy nie może stać się nieaktualny po użyciu. Bardziej prawdopodobne jest, że marginesy i marginesy będą równe 0 niż jakakolwiek inna liczba, o której możesz pomyśleć, więc w rzeczywistości pomocne jest resetowanie wszystkiego podczas opracowywania. Normalizacja jest jednak dobra w przypadku problemów z przeglądarką i to jest główny powód, dla którego jej używam.
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.
Kolejna uwaga: Normalize.css ma być tak dyskretny, jak to możliwe, co pozwala programistom łatwiej pisać kod bez konieczności walki z konfliktami specyficznymi.
powiedzmy więc, że chcę użyć resetowania podczas programowania. A kiedy to zrobię, chcę normalize.css lub jakiś JS, który bierze wszystkie rzeczy, których nie zmieniłem i są takie same w przeglądarce. Albo zmieniłem i po zmianie stały się takie same jak w przeglądarce i usunąłem je po stronie klienta. Tak więc reset pomógłby w opracowaniu tego „programu” po szybszej stronie klienta. Oboje są szczęśliwi. I znacznie mądrzejszy sposób na życie.
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;)
To dobra, pragmatyczna odpowiedź. To niekoniecznie jedno lub drugie. Weź od siebie to, czego chcesz. Lubię pełny reset, ale Normalizer oferuje kilka fajnych kawałków, które działają dobrze na szczycie.
Pierwsza reset.cssto 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ów 0. Na przykład przekonasz się, że <H1>będzie taki sam jak<H6> .
Z drugiej strony Normalize.cssuż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.
Zależy od twojego przypadku użycia. Biorąc pod uwagę twój przykład, jeśli muszę zmodyfikować style czcionek wszystkich tagów nagłówka dla mojego projektu, to tak naprawdę nie będę używał wartości domyślnych, prawda? Nie należy określać biblioteki jako „najgorszej” tylko dlatego, że nie można znaleźć zastosowania we własnych projektach.
Jednym z głównych celów resetowania jest zwalczanie problemów wynikających ze stylów stosowanych w przeglądarce, co jest bardzo przydatne. Myślę też, że nie należy tego uważać za bibliotekę.
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.
Zachowuje przydatne ustawienia domyślne, w przeciwieństwie do wielu resetów CSS.
Musiałbym argumentować, że normalizacja jest lepsza niż resetowanie. Będzie to skutkować mniej CSS przeniesieniu całej drutu, lepszego wykorzystania domyślnych UA oraz lepszego zrozumienia w jaki sposób elementy są przeznaczone do wyświetlania.
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.
@Bren zarówno resetuje, jak i normalizuje. Znajomość domyślnych wartości CSS dla każdego elementu jest częścią bycia dobrym programistą. Widzę je jako niepotrzebne metody sił brutalnych.
@Michael> 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ów
Czasami 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.
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 .:
Normalize.css - jak sama nazwa wskazuje, normalizuje style w przeglądarkach dla ich aplikacji klienckich, tzn. Czyni je takimi samymi we wszystkich przeglądarkach, ponieważ domyślnie są one nieco inne.
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.
Resetuj CSS - jak sama nazwa wskazuje, resetuje wszystkie style, tzn. Usuwa wszystkie style agenta użytkownika przeglądarki.
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 .
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.