To tłumaczenie jest niekompletne. Pomóż przetłumaczyć ten artykuł z języka angielskiego.

Kaskadowe arkusze stylów CSS (ang. Cascading Style Sheets) to kod służący do nadawania wyglądu strony. CSS Podstawy przeprowadzi cię przez bazowe zagadnienia, abyś mógł zacząć modyfikować wygląd swojej strony. Odpowiemy na takie pytania jak: Jak zrobić, żeby mój tekst był czarny albo czerwony? Jak wyświetlić poszczególną zawartość strony w wybranych miejscach ekranu? Jak dekorować stronę obrazami czy nadać kolor tła?

Czym właściwie jest CSS?

Podobnie jak HTML, CSS nie jest językiem programowania. Nie jest jednak też językiem znaczników — jest językiem arkuszy stylów (ang. style sheet language). Oznacza to, że pozwala on selektywnie stosować style do elementów w dokumentach HTML. Na przykład, aby zaznaczyć wszystkie paragrafy na stronie HTML i zminić w nich kolor tekstu na czerwono, należy napisać ten kod CSS:

p {
  color: red;
}

Sprawdźmy: wklej te trzy linie kodu do nowego pliku. Plik nazwij style.css i umieść go w katalogu styles.

Wciąż jednak musimy powiązać ten kod CSS z twoim dokumentem HTML. W przeciwnym wypadku stworzony kod CSS nie będzie miał wpływu na wygląd twojej strony. (Jeśli nie śledzisz naszego projektu od poczatku, przeczytaj Struktura plików witryny oraz HTML podstawy, żeby dowiedzieć się co wpierw należy wykonać.)

  1. Otwórz plik index.html i wklej poniższy kod gdzieś w sekcji nagłówka (czyli pomiędzy elementami <head> i </head>):
    <link href="styles/style.css" rel="stylesheet" type="text/css">
  2. Zapisz plik index.html a następnie otwórz go w przeglądarce. Powinieneś móc zobaczyć coś takiego:

A mozilla logo and some paragraphs. The paragraph text has been styled red by our css.Jeśli tekst twoich akapitów jest czerwony, gratulacje! Właśnie napisałeś swój pierwszy skuteczny kod CSS.

Anatomia reguł CSS

Przyjrzyjmy się nieco bardziej szczegółowo naszemu kodowi CSS:

Cała struktura jest nazywana listą dyrektyw - reguł. Oto nazwy poszczególnych części:

Selektor
Element HTML na początku reguły. Wybiera poszczególne elementy (bądź też tylko jeden) do wystylizowania - w tym wypadku wszystkie elementy p. Aby dodać styl do innego elementu, po prostu zmień selektor;
Deklaracja
Pojedyncza reguła, taka jak color: red;, która ustala jakie właściwości elementu chcesz wystylizować.
Właściwości
Ways in which you can style a given HTML element. (In this case, color is a property of the <p> elements.) In CSS, you choose which properties you want to affect in your rule.
Property value
To the right of the property after the colon, we have the property value, which chooses one out of many possible appearances for a given property (there are many color values besides red).

Note the other important parts of the syntax:

  • Each rule set (apart from the selector) must be wrapped in curly braces ({}).
  • Within each declaration, you must use a colon (:) to separate the property from its values.
  • Within each rule set, you must use a semicolon (;) to separate each declaration from the next one.

So to modify multiple property values at once, you just need to write them separated by semicolons, like this:

p {
  color: red;
  width: 500px;
  border: 1px solid black;
}

Wybieranie wielu elementów

Możesz również wybrać wiele typów elementów i zastosować dla nich jeden zestaw regół. Wypisz kilka selektorów oddzielonych przecinkami. Na przykład:

p,li,h1 {
  color: red;
}

Inne typy selektorów

Istnieje wiele innych typów selektorów. Do tej pory używaliśmy tylko selektorów elementów, które wybierają wszystkie elementy danego typu z kodu HTML. Ale możemy stworzyć bardziej szczegółowe selektory. Oto kilka powszechnych typów selektorów:

Nazwa selektora Co wybiera? Przykład
Selektor elementu (czasem nazywany selektorem tagu lub typu) Element(y) HTML o podanym typie. p
Wybiera elementy <p>
Selektor ID Element na stronie o podanym ID (na jednej stronie HTML możesz użyć konkretnego ID tylko raz). #my-id
Wybiera <p id="my-id"> lub <a id="my-id">
Selektor klasy Element(y) na stronie o podanej klasie (Tej samej klasy możesz użyć wiele razy na stronie). .my-class
Wybiera <p class="my-class"> oraz <a class="my-class">
Selektor atrybutu Element(y) na stronie o podanym atrybucie. img[src]
wybiera <img src="myimage.png"> ale nie <img>
Selektor pseudo-klasy Element(y) o określonym stanie np. najechanie myszą na element a:hover
Wybiera <a>, ale tylko gdy kursor znajduje się nad elementem.

Istnieje wiele innych typów selektorów, możesz je poznać w naszym Selectors guide.

Czcionki i tekst

Teraz, gdy poznaliśmy podstawy CSS, dodajmy więcej reguł i informacji do naszego pliku style.css żeby nasz przykład wyglądał lepiej. Zacznijmy od zmiany wyglądu czcionek i tekstu.

  1. First of all, go back and find the output from Google Fonts that you stored somewhere safe. Dodaj element <link> gdzieś wewnątrz sekcji head w pliku index.html (gdziekolwiek pomiędzy tagami <head> i </head>). Linijka będzie wyglądała podobnie do:
    <link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
  2. Nas†ępnie, usuń istniejące reguły w pliku style.css. To był dobry test ale czerwony tekst nie wygląda najlepiej.
  3. Dodaj poniższy kod, zastępując linie "placeholder" z font-family wygenerowanym w Google Fonts. (font-family oznacza czcionkę lub czcionki których chcesz używać) Pierwsza reguła ustala bazową wielkość tekstu i czcionkę dla całej strony (ponieważ <html> to element-rodzic całej strony i wszystkie elementywewnątrz niego dziedziczą ten sam font-size i font-family):
    html {
      font-size: 10px; /* px oznacz 'piksele': bazowy rozmiar tekstu to teraz 10 pikseli wysokości  */
      font-family: placeholder; /* tu powinnien być font-family wygenerowany w Google fonts */
    }

    Uwaga: Wszystko w dokumencie CSS pomiędzy /* i */ jest komentarzem CSS, który przyglądarka zignoruje podczas wyświetlania strony. To miejsce dla Ciebie na notatki dotyczące tego co dzieje się w danym miejscu.

  4. Teraz ustawimy rozmiar czcionki dla elementów zawierających tekst wewnątrz ciała (body) HTML: (<h1>, <li>, i <p>). Wycentrujemy również tekst naszego nagłówka i ustawimy wysokość linii tekstu i odstęp między znakami dla głównej treści aby uczynić ją bardziej czytelną:
    h1 {
      font-size: 60px;
      text-align: center;
    }
    
    p, li {
      font-size: 16px;    
      line-height: 2;
      letter-spacing: 1px;
    }

Możesz dostosować wartości px na jakiekolwiek chcesz aby uzyskać wygląd jaki chcesz, ale generalnie twoja strona powinna wyglądać podobnie jak ta:

a mozilla logo and some paragraphs. a sans-serif font has been set, the font sizes, line height and letter spacing are adjusted, and the main page heading has been centered

Pudełka, pudełka, wszędzie pudełka

Jedną z rzeczy którą zauważysz podczas pisania CSS to, że wiele z nich dotyczy pudełek (ang. boxes) — ustawianie ich rozmiaru, koloru, pozycji etc. O większości elementów na stronie możesz myśleć jak o pudełkach stawianych jedne na drugim.

a big stack of boxes or crates sat on top of one another

Nic dziwnego, że układ CSS opiera się głównie na modelu pudełkowym (ang. box model). Każdy z bloków zajmujących miejsce na Twojej stronie ma takie właściwości:

  • padding, przestrzeń wokół elementu (np. wokół paragrafu tekstu)
  • border, obramowanie poza padding-iem
  • margin, przestrzeń wokół zewnętrznej części elementu

three boxes sat inside one another. From outside to in they are labelled margin, border and padding

W tej sekcji możemy także użyć:

  • width, szerokość elementu
  • background-color, kolor pod zawartością i paddingiem elementu
  • color, kolor treści elementu (zazwyczaj tekstu)
  • text-shadow: ustawia cień pod tekstem wewnątrz elementu
  • display: określa sposób wyświetlania elementu (póki co nie martw się tym)

Dodajmy trochę więcej CSS do naszej strony! Dodawaj nowe reguły na dole pliku i nie bój się eksperymentować ze zmianą wartości, aby zobaczyć, jak działają.

Zmiana koloru strony

html {
  background-color: #00539F;
}

Ten zestaw reguł ustawi kolor tła dla całej strony. Zmień powyższy kod koloru na dowolny wybrany podczas planning your site.

Sorting the body out

body {
  width: 600px;
  margin: 0 auto;
  background-color: #FF9500;
  padding: 0 20px 20px 20px;
  border: 5px solid black;
}

Teraz element <body>. Jest tu kilka deklaracji, więc przejrzyjmy je wszystkie jedna po drugiej:

  • width: 600px; — wymusza aby szerokość elementu body wynosiła 600 pikseli.
  • margin: 0 auto; — Kiedy ustawiasz dwie wartości na właściwościach takich jak margin czy padding, pierwsza wartość dotyczy górnej i dolnej strony elementu (ustawia je na 0 w tym wypadku) a druga wartość ustawia lewą i prawą stronę (auto to specjalna wartość która dzieli dostępną przestrzeń w poziomie równo pomiędzy lewą i prawą stronę). Możesz równiej użyć jednej, dwóch, trzech lub czterech wartości tak jak zostało to opisane tutaj.
  • background-color: #FF9500; — jak wcześniej, ustawia tło elementu. Użyliśmy czerowno-pomarańczowego koloru dla body jako przeciwieństwa dla ciemno niebieskiego koloru dla elementu <html>, ale nie krępuj się eksperymentować.
  • padding: 0 20px 20px 20px; — mamy cztery wartości do ustawienia odstępów do uzyskania przestrzeni wokół elementu. Tym razem ustawiamy brak górnego odstępi i po 20 pikseli odstępu dla prawej strony, dołu i lewej strony. Wartości ustawiają kolejno górę, prawą stronę, dół i lewą stronę.
  • border: 5px solid black; — ta prosta reguła ustawia obramowanie ciągłą linią o szerokości 5-ciu pikseli w czarnym kolorze dla każdego z boków.

Ustawianie i stylowanie głównego nagłówka

h1 {
  margin: 0;
  padding: 20px 0;    
  color: #00539F;
  text-shadow: 3px 3px 1px black;
}

Być może zauważysz paskudną szparę na górze ciała strony. Dzieje się tak dlatego, że przeglądarki stosują pewne domyślne style dla elementu <h1> (oraz innych), nawet jeżeli nie użyjesz żadnego stylu CSS! To może brzmieć jak zła koncepcja ale chcemy by nawet nieostylowana strona wyglądała czytelnie. Aby pozbyć się luki, zmieniliśmy domyślny styl, ustawiając margin: 0;.

Następnie ustawiliśmy górny i dolny margines nagłówka na 20 pikseli i nadaliśmy tekstowi nagłówka taki sam kolor, jak kolor tła dla html.

Ciekawą właściwością, którą tutaj wykorzystaliśmy, jest text-shadow, który nadaje cień dla tekstu wewnątrz elementu. Jego cztery wartości są następujące: 

  • Pierwsza wartość w pikselach określa przesunięcie poziome cienia od tekstu - jak daleko przesunąć go w poprzek: wartość ujemna powinna przesunąć cień w lewo.
  • Druga wartość w pikselach określa pionowe przesunięcie cienia - jak daleko przesunąć go w dół; Wartość ujemna przesunie cień w górę.
  • Trzecia wartość w pikselach to promień rozmycia cienia — większa wartość oznacza bardziej rozmyty cień.
  • Czwarta wartość określa kolor cienia.

Ponownie, eksperymentuj z innymi wartościami i zobacz co możesz zrobić!

Centrowanie obrazka

img {
  display: block;
  margin: 0 auto;
}

Wreszcie wycentrujemy obrazek żeby wyglądał lepiej. Możemy użyć ponownie triku margin: 0 auto którego użyliśmy w przypadku body, ale dodatkowo musimy zrobić coś jeszcze. Element <body> jest blokowy (ang. block), co oznacza, że zajmuje całą dostępną przestrzeń na stronie i możesz zastosować dla niego marginesy i inne ustawienia wielkości. Z drugiej strony, obrazki są elementali liniowymi (ang.inline) i nie posiadają takich właściwości. Dlatego żeby zastosować marginesy dla grafiki musimy zmienić jej sposób wyświetlania na blokowy używając display: block;.

Uwaga: Nie przejmuj się jeżeli jeszcze nie rozumiesz display: block; i różnicy między elementami liniowymi a blokowymi. Zrozumiesz z czasem zgłębiania wiedzy o CSS. Więcej o różnych dostępnych sposobach wyświetlania możesz znaleźć w naszym display reference page.

Konkluzja

Jeżeli prześledziłeś instrukcje z tego artykułu powinieneś zakończyć ze stroną wyglądającą jak ta (możesz również zobaczyć naszą wersję tutaj):

a mozilla logo, centered, and a header and paragraphs. It now looks nicely styled, with a blue background for the whole page and orange background for the centered main content strip.

Jeżeli utkniesz możesz zawsze porównać swój kod z naszym gotowym przykładem na GitHub.

To naprawdę podstawowe informacje o CSS. Aby doiedzieć się więcej sprawdź nasz CSS Learning topic.

Autorzy i etykiety dokumentu

Autorzy tej strony: mat-bi, Krzyku, ffipe
Ostatnia aktualizacja: mat-bi,