Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Reset CSS

czwartek,

Reset CSS

Resetowanie CSS to technika używana przez deweloperów stron internetowych, która polega na usuwaniu wszelkich domyślnych stylów nadawanych przez przeglądarki internetowe. Przeglądarki mają swoje wbudowane arkusze stylów, które definiują podstawowe style dla różnych elementów HTML, takich jak marginesy, paddingi, czcionki i inne. Niestety, te domyślne style mogą się różnić między programami, co może prowadzić do niespójności w wyglądzie strony na różnych przeglądarkach. Reset CSS był masowo stosowany przez ostanie kilkanaście lat, jednak stopniowo pojawiały się nowe techniki rozwiązania problemu, a przeglądarki zaczęły być coraz bardziej zgodne w wielu aspektach interpretowania CSS.

Reset CSS ma na celu zapewnienie spójnego punktu wyjścia dla stylizacji przez:

  • Usunięcie wszystkich domyślnych marginesów, paddingów i innych stylów.
  • Ustalenie konsekwentnego wyświetlania elementów w różnych przeglądarkach.
  • Uniknięcie konieczności nadpisywania wielu domyślnych stylów przeglądarki podczas budowania strony.

W dzisiejszych czasach decyzja o resetowaniu CSS zależy od wymagań projektu, wybranej technologii oraz preferencji dewelopera. Wiele nowoczesnych narzędzi i frameworków ma już wbudowane rozwiązania do obsługi konsystencji stylów. Współcześnie istnieje kilka rozwiązań pomagających osiągnąć spójność stylów w przeglądarkach. Są to:

  • Tradycyjne metody resetowania, takie jak reset CSS Erica Meyera, nadal są użyteczne w niektórych projektach, zwłaszcza tam, gdzie deweloperzy chcą pełnej kontroli nad każdym stylem.
  • Inne podejście to używanie normalizacja CSS, która ujednolica style dla wielu powszechnych elementów HTML, jednocześnie zachowując użyteczne domyślne style. Jest to rozwiązanie bardziej delikatne niż pełny reset i często preferowane w nowoczesnym projektowaniu stron internetowych.
  • Używanie frameworków – projekty takie jak Bootstrap czy Foundation zawierają swoje własne style resetujące. Używając takich frameworków, deweloperzy często polegają na wbudowanym w nie resetowaniu i normalizacji.
  • Biblioteki „CSS in JS” – w przypadku korzystania z rozwiązań takich jak Styled Components w React, deweloperzy często stosują resetowanie na poziomie komponentu, co daje jeszcze większą kontrolę.

Przykład minimalistycznego resetu CSS

Jeśli chodzi o bardzo prosty reset CSS, który używa selektora uniwersalnego i resetuje jedynie padding, margin oraz border-size, może on wyglądać następująco:

/* Uniwersalny reset CSS */
* {
    margin: 0;
    padding: 0;
    border-width: 0;
}

W tym resetowaniu:

  • Selektor * jest selektorem uniwersalnym, który stosuje style do każdego elementu na stronie.
  • margin: 0; ustawia margines wszystkich elementów na 0, eliminując domyślne marginesy dodane przez przeglądarkę.
  • padding: 0; ustawia wypełnienie (padding) wszystkich elementów na 0, usuwając domyślne paddingi.
  • border-width: 0; ustawia szerokość obramowania wszystkich elementów na 0, co usuwa domyślne obramowania.

Jest to bardzo podstawowe rozwiązanie i może być używane jako punkt wyjścia w projektowaniu stron internetowych, gdzie deweloper chce mieć pełną kontrolę nad stylem każdego elementu. Warto jednak pamiętać, że taki globalny reset może mieć wpływ na elementy, które domyślnie mają marginesy, paddingi lub obramowania z jakiegoś konkretnego powodu, więc może wymagać dodatkowego dostosowania w dalszej części procesu projektowania.

Reset Erica Meyera

Prezentowany przykład resetowania CSS to popularne rozwiązanie zaproponowane przez Erica Meyera. Zawiera zerowanie podstawowych właściwości, które najczęściej powodują niespójności w różnych przeglądarkach.

/* Reset CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* Własność display elementów HTML5 dla starszych przeglądarek */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

W tym przykładzie resetowanie obejmuje:

  • zerowanie marginesów (margin), wypełnień (padding) i obramowań (border) dla wszystkich elementów, co pomaga uniknąć nieoczekiwanych odstępów.
  • ustawienie font-sizefont na dziedziczenie, aby uniknąć niespójności w domyślnej wielkości czcionek.
  • zerowanie stylu list (list-style) dla list uporządkowanych (ol) i nieuporządkowanych (ul), aby usunąć domyślne znaczniki listy.
  • usunięcie cytatów (quotes) dla elementów blockquoteq.
  • ustawienie border-collapseborder-spacing dla tabel, aby uniknąć nieoczekiwanych odstępów między komórkami.

Trzy miesiące temu na naszej stronie…

Artykuł: Tadeusz Kościuszko

Tadeusz Kościuszko

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły