Kod CSS
Mamy nadzieję, że po lekturze ostatnich rozdziałów język HTML stał się Wam bliski. Teraz pora na zaznajomienie się z CSS-em, dzięki któremu wreszcie będziecie mogli nadać swojej stronie wymarzony wygląd.
Przypomnijmy sobie, jak wygląda składnia języka CSS:
1
selektor {
2
właściwość: wartość;
3
}
Copied!
Za pomocą selektorów wybieramy elementy strony, którym chcemy nadać określony wygląd. Na przykład:
W powyższy sposób ustawiamy niebieski kolor tekstu dla wszystkich akapitów na stronie. Z tego przykładu łatwo wysnuć wniosek, że za pomocą CSS-a możemy wybierać elementy podając nazwy znaczników. Nie jest to jednak jedyny sposób. Zapoznajmy się z kilkoma podstawowymi rodzajami selektorów CSS.

Podstawowe selektory

Elementy na stronie można wybierać na bardzo różne sposoby. W tym rodziale poznamy podstawowe i najczęściej używane selektory CSS, czyli:
    nazwę tagu (tagname),
    klasę (.classname),
    ID (#idname),
    atrybut ([attr=value]).
Selektor wybierający element na podstawie tagu już przed chwilą widzieliśmy. Patrząc na selektory ID oraz atrybutu zapewne zaczyna już coś Wam świtać. Oznacza to, że możemy wybierać elementy również bazując na wartościach ich atrybutów id oraz obecności innych atrybutów. Jedyny rodzaj, który pewnie wydaje się w tej chwili tajemniczy to klasa.

Klasa

Przyjrzyjmy się przykładowemu elementowi strony:
1
<input type="email" id="myEmail" class="awwwesome-input">
Copied!
Obok znanych już Wam atrybutów type oraz id pojawił się nowy: class. Jest on bardzo ważny w kontekście stylowania.
W zasadzie jedynym celem atrybutu class jest nadanie naszemu elementowi identyfikatora, który będzie służył jako selektor. Pewnie pomyślicie teraz "ale przecież on ma już identyfikator id!". Słusznie, jednak wartość atrybutu class nie musi być unikalna w zakresie dokumentu. Tę samą wartość możemy nadać więcej niż jednemu elementowi, nie muszą też być one tego samego rodzaju.
1
<body>
2
<h1 class="awwwesome">Tytuł stronyh1>
3
4
<p class="awwwesome">Jestem paragrafem tekstu. Nadano mi atrybut class, aby umożliwić stylowanie.p>
5
<p>Jestem paragrafem tekstu.p>
6
7
<form name="myForm">
8
<label for="name">Twoje imię:label>
9
<input id="name" type="text" class="awwwesome">
10
form>
11
body>
Copied!
Nadajmy tekstowi każdego elementu z powyższego przykładu posiadającego klasę awwwesome kolor zielony:
1
.awwwesome {
2
color: green;
3
}
Copied!

Tytuł strony

Jestem paragrafem tekstu. Nadano mi atrybut class, aby umożliwić stylowanie.
Jestem paragrafem tekstu.
Twoje imię:

ID

Wróćmy jeszcze na chwilę do elementu z naszego poprzedniego przykładu:
1
<input type="email" id="myEmail" class="awwwesome-input">
Copied!
Nadajmy tekstowi w naszej kontrolce kolor czerwony, odnosząc się do niego po id. Możemy to zrobić w ten sposób:
Przypomnijmy, że w jednym dokumencie wartości atrybutu id powinny być unikalne. W związku z tym style zawarte wewnątrz tego selektora nie są zbyt reużywalne – możemy je zastosować tylko dla jednego, konkretnego elementu na stronie.
Important::Ważne
Choć stylowanie po atrybucie id jest możliwe, od dawna jest uważane za złą praktykę.

Atrybut

Stylować można również elementy zawierające konkretny atrybut. Dobrym przykładem jest np. tag . W tym wypadku deklaracja CSS będzie dotyczyła kontrolek input typu text.
1
input[type="text"] {
2
border: 2px solid blue;
3
}
Copied!
W wyniku powyższego kodu do kontrolki zostanie dodana ramka o grubości 2px i kolorze niebieskim.
Warto tutaj dodać, że zapis border: 2px solid blue; jest zapisem skrótowym. Właściwości ramki możemy zdefiniować także osobno:
1
border-width: 2px;
2
border-style: solid;
3
border-color: blue;
Copied!

Podstawowe właściwości CSS i ich wartości

CSS umożliwia przypisanie do HTML-owych elementów całej palety różnych właściwości: od koloru tekstu, tła, przez zastosowanie dowolnego kroju pisma, dodania cieniowania, gradientu, aż do definiowania pozycji. W tym rozdziale zajmiemy się tymi najbardziej podstawowymi. Inne poznamy na kolejnych zajęciach. Wszystkich chętnych, którzy już teraz chcą zagłębić się w temacie CSS-owych właściwości, zapraszamy na stronę QuackIt.com, choć podobnych źródeł w tym temacie znajdziecie jeszcze więcej.

Kolorowanie tekstu (color)

Służy nam do tego właściwość color. Najczęściej wartości kolorów definiuje się w kodzie heksadecymalnym (hex), czyli szestnastkowym z charakterystycznym znakiem #. Kody te pobiera się z tzw. color pickerów, np. na stronie HTMLColorCodes.com, w programach graficznych lub innych narzędziach. Jeśli zainteresowaliście się kodem heksadecymalnym, więcej do poczytania na Wikipedii.
W CSS istnieją też predefiniowane kolory które możemy przypisać do elementów po prostu podając ich nazwę, np. color: blue; lub color: salmon;. Poza kodem heksadecymalnym i predefiniowanymi nazwami, możemy także przypisywać kolory poprzez zapis rgb (kanały red, green oraz blue), hsl (hue – barwa, saturation – nasycenie, lightness – jasność) czy nawet rgba i hsla (z uwzględnionym kanałem alfa, czyli kanałem odpowiadającym za stopień przezroczystości).
1
p {
2
color: #f14b5c ; /* kolor pomarańczowy */
3
color: rgb(241, 75, 92); /* ten sam kolor w zapisie rgb */
4
}
Copied!
To jest akapit o kolorze pomarańczowym.
Important::Ważne
W CSS-owych kolorach występuje również wartość transparent, czyli przezroczysty.

Kolorowanie tła (background-color)

Służy do tego właściwość background-color, np.:
1
p {
2
color: #f14b5c; /* kolor pomarańczowy */
3
background-color: #FFE7EC; /* kolor jasnoróżowy */
4
}
Copied!
To jest paragraf o kolorze pomarańczowym na jasnoróżowym tle.
Important::Ważne
Zauważyliście już z pewnością, że wewnątrz kodu danego selektora możemy podać wartości więcej niż jednej właściwości. Pamiętajcie o tym, aby każdą linijkę kodu z deklaracją właściwości kończyć średnikiem – ;.
/* deklaracja poprawna */ .good { color: red; border: 1px solid blue; }
1
>
2
> ```css
3
/* deklaracja niepoprawna */
4
.bad {
5
color: red
6
border: 1px solid blue
7
}
Copied!
Niedomknięcie linii średnikiem spowoduje błąd w interpretacji arkusza stylów i w takiej sytuacji przeglądarka zignoruje źle zapisane deklaracje.
Żeby uniknąć sytuacji, kiedy łamiecie sobie głowę zastanawiając się "czemu mój kod nie działa?", bądźcie bardzo skrupulatni w domykaniu linii średnikami!

Obramowanie (border)

Za obramowanie odpowiada właściwość border, której przypisać możemy grubość, rodzaj/styl linii (przerywana, ciągła, kropkowana…) i kolor. Przy nadawaniu wartości powinna być zachowana powyższa kolejność, czyli: grubość, styl, kolor:
1
border: 2px solid #f14b5c;
Copied!
Dostępne style linii to m.in.: solid (ciągła), dotted (kropkowana), dashed (przerywana) czy double (podwójna).
1
p {
2
border: 2px solid #f14b5c;
3
color: #f14b5c; /* kolor pomarańczowy */
4
background-color: #FFE7EC; /* kolor jasnoróżowy */
5
}
Copied!
To jest akapit o kolorze pomarańczowym na jasnoróżowym tle.

Wyrównanie tekstu (text-align)

Tekst może zostać wyrównany na trzy różne sposoby:
    do prawej (text-align: right;),
    do lewej (text-align: left;),
    do środka (text-align: center;).
Dodatkowo tekst może być wyjustowany (text-align: justify;).
1
p {
2
text-align: center;
3
border: 2px solid #f14b5c;
4
color: #f14b5c; /* kolor pomarańczowy */
5
background-color: #FFE7EC; /* kolor jasnoróżowy */
6
}
Copied!
To jest akapit o kolorze pomarańczowym na jasnoróżowym tle.

Odmiana (grubość) pisma (font-weight)

Ta właściwość okaże się przydatna zwłaszcza w kolejnym rozdziale, kiedy będziemy wybierać niestandardowe rodziny fontów. Wtedy zauważycie, że dany krój może mieć różne grubości. CSS umożliwia ostylowanie tekstu różnymi odmianami danego fonta. Wartości font-weight mogą być liczbami, np. 100, 300, 500, 700, lub określone słownie, np. normal, bold, light, lighter. Pamiętajmy tylko, że nie każdy wybrany przez nas krój pisma posiadać będzie różne odmiany – w tych przypadkach właściwość CSS w żaden sposób nie wpłynie na zmianę grubości.
1
p {
2
font-weight: bold;
3
text-align: center;
4
border: 2px solid #f14b5c;
5
color: #f14b5c; /* kolor pomarańczowy */
6
background-color: #FFE7EC; /* kolor jasnoróżowy */
7
}
Copied!
To jest akapit o kolorze pomarańczowym na jasnoróżowym tle.
Czy zauważyliście, w porównaniu do akapitu z zagadanienia wyżej, że font stał się grubszy?

Stopień (rozmiar) pisma (font-size)

Możemy przypisywać tekstom różne rozmiary pisma. Istnieje kilka jednostek: px (piksele), rem, em czy nawet % (procenty). Na razie skupmy się na pikselach, a znaczenie pozostałych jednostek wyjaśnimy już niebawem.
1
p {
2
font-size: 36px;
3
text-align: center;
4
border: 2px solid #f14b5c;
5
color: #f14b5c; /* kolor pomarańczowy */
6
background-color: #FFE7EC; /* kolor jasnoróżowy */
7
}
Copied!
To jest akapit o kolorze pomarańczowym na jasnoróżowym tle.

Styl fontu (font-style)

Służy do tego właściwość: font-style: italic;, gdzie italic to nic innego jak kursywa. Normalny tekst uzyskamy, używając font-style: normal;.
1
p {
2
font-style: italic;
3
font-size: 36px;
4
text-align: center;
5
color: #f14b5c; /* kolor pomarańczowy */
6
background-color: #FFE7EC; /* kolor jasnoróżowy */
7
border: 2px solid #f14b5c;
8
}
Copied!
To jest akapit o kolorze pomarańczowym na jasnoróżowym tle.

Obrazek jako tło (background-image)

Żeby wypełnić dany element (sekcje, kontener, czy nawet całą zawartość strony, czyli ) obrazkowym tłem, stosujemy właściwość:
1
background-image: url('tutaj podaję ścieżkę do obrazka');
Copied!
Przykładowo:
1
section {
2
background-image: url('./images/background.jpg');
3
}
Copied!
Pamiętajcie o prawidłowym podaniu względnej ścieżki do obrazka.
Tło może przyjmować jeszcze wiele ciekawych właściwości, które znajdziesz na MDN.
Warto potestować różne opcje dla rozmiaru tła, czyli background-size
1
background-size: cover;
2
background-size: 100%;
3
background-size: contain;
4
background-size: 50%;
Copied!
Sprawdźcie jak zmienia się tło pod wpływem zmiany szerokości okna przeglądarki.
Stylowanie listy
Pewnie zastanawiacie się jak pozbyć się kropeczek przy elementach listy (
    ). S
    ł
    u
    ż
    y do tego w
    ł
    a
    ś
    ciwo
    ś
    ć
    :
    ```
    >
    Je
    ś
    li w pliku `style-1.css` wyst
    ę
    puje deklaracja:
    >
    ```css h1 { color: red; } ```
    >
    A w pliku `style-2.css`
    >
    ```css h1 { color: green; } ```
    >
    to przegl
    ą
    darka nada naszemu nag
    ł
    ó
    wkowi kolor zielony, gdy
    ż
    wyst
    ę
    puje on jako *ostatni*.
    Tw
    ó
    j email: Twoje imi
    ę
    : Tw
    ó
    j komentarz: Prze
    ś
    lij
Last modified 1yr ago