- Zagadnienia
- Model LLM: Claude Sonnet 4.5
- Prompt: Koen1
1. Sposoby wprowadzania stylów CSS
Styl wewnętrzny - znacznik <style> w sekcji <head>
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: lightblue;
}
p {
color: navy;
}
</style>
</head>
<body>
<p>Tekst ostylowany</p>
</body>
</html>Styl zewnętrzny - odwołanie do pliku CSS
Plik HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p>Tekst ostylowany</p>
</body>
</html>Plik style.css:
body {
background-color: lightblue;
}
p {
color: navy;
}2. Sposoby wprowadzania klas i identyfikatorów
Klasy (class)
Klasy używamy gdy chcemy ostylować wiele elementów w ten sam sposób. W CSS poprzedzamy nazwę klasy kropką (.).
<div class="ramka">Treść 1</div>
<div class="ramka">Treść 2</div>
<p class="ramka">Treść 3</p>.ramka {
border: 2px solid black;
padding: 10px;
}Identyfikatory (id)
Identyfikatory są unikalne - każdy element może mieć tylko jeden id, a dany id powinien wystąpić raz na stronie. W CSS poprzedzamy nazwę identyfikatora kratką (#).
<div id="naglowek">Główny nagłówek</div>
<div id="stopka">Stopka strony</div>#naglowek {
background-color: blue;
color: white;
}
#stopka {
font-size: 12px;
text-align: center;
}3. Ostylowanie właściwości bloku (div)
<div class="blok">
Wyśrodkowany tekst w bloku
</div>.blok {
/* Tło bloku */
background-color: lightgray;
/* Szerokość i wysokość bloku */
width: 300px;
height: 150px;
/* Obramowanie linią ciągłą z grubością i kolorem */
border: 3px solid red;
/* Wyśrodkowanie napisu w poziomie */
text-align: center;
}Wyjaśnienie:
background-color- ustawia kolor tławidthiheight- określają wymiary blokuborder- format:grubość styl kolor(np.3px solid red)text-align: center- wyrównuje tekst do środka w poziomie
4. Pseudoklasa :hover
Pseudoklasa :hover aktywuje się, gdy najedziemy kursorem na element.
Przykład dla przycisku:
<button class="przycisk">Najedź na mnie</button>.przycisk {
background-color: blue;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
}
.przycisk:hover {
background-color: darkblue;
transform: scale(1.1);
}Przykład dla akapitu:
<p class="akapit">Tekst, który zmieni kolor</p>.akapit {
color: black;
transition: color 0.3s;
}
.akapit:hover {
color: red;
font-weight: bold;
}5. Pseudoklasa strukturalna :first-child
Pseudoklasa :first-child wybiera pierwszy element potomny w kontenerze.
<div class="kontener">
<p>Pierwszy akapit - będzie czerwony</p>
<p>Drugi akapit - normalny</p>
<p>Trzeci akapit - normalny</p>
</div>.kontener p:first-child {
color: red;
font-weight: bold;
font-size: 20px;
}
.kontener p {
color: black;
}Wyjaśnienie: Tylko pierwszy element <p> w kontenerze otrzyma czerwony kolor i pogrubienie.
6. Pseudoelementy ::first-letter, ::before i ::after
Pseudoelement ::first-letter
Styluje pierwszą literę tekstu.
<p class="akapit">Lorem ipsum dolor sit amet.</p>.akapit::first-letter {
font-size: 32px;
color: red;
font-weight: bold;
float: left;
margin-right: 5px;
}Pseudoelement ::before
Dodaje treść przed elementem.
<p class="cytat">Wiedza to potęga</p>.cytat::before {
content: "❝ ";
color: blue;
font-size: 24px;
font-weight: bold;
}Pseudoelement ::after
Dodaje treść po elemencie.
<p class="uwaga">Ważna informacja</p>.uwaga::after {
content: " ⚠";
color: orange;
font-size: 20px;
}Przykład łączący ::before i ::after:
.ramka-tekst::before {
content: "[ ";
color: gray;
}
.ramka-tekst::after {
content: " ]";
color: gray;
}7. Definiowanie kolorów w zapisie heksadecymalnym
Zapis trzycyfrowy
Format: #RGB - każda cyfra jest powielana
.element1 {
color: #F00; /* równoznaczne z #FF0000 - czerwony */
}
.element2 {
color: #0F0; /* równoznaczne z #00FF00 - zielony */
}
.element3 {
color: #00F; /* równoznaczne z #0000FF - niebieski */
}
.element4 {
color: #ABC; /* równoznaczne z #AABBCC */
}Zapis sześciocyfrowy
Format: #RRGGBB - pełna kontrola nad wartościami
.element1 {
color: #FF0000; /* czerwony */
}
.element2 {
color: #00FF00; /* zielony */
}
.element3 {
color: #0000FF; /* niebieski */
}
.element4 {
color: #FFA500; /* pomarańczowy */
}
.element5 {
color: #808080; /* szary */
}Wartości: każda para cyfr (RR, GG, BB) przyjmuje wartości od 00 do FF (0-255 w systemie dziesiętnym)
8. Definiowanie kolorów w modelach RGB i RGBA
Model RGB
Format: rgb(red, green, blue) - wartości od 0 do 255
.element1 {
color: rgb(255, 0, 0); /* czerwony */
}
.element2 {
color: rgb(0, 255, 0); /* zielony */
}
.element3 {
color: rgb(0, 0, 255); /* niebieski */
}
.element4 {
background-color: rgb(255, 165, 0); /* pomarańczowy */
}Model RGBA
Format: rgba(red, green, blue, alpha) - alpha to przezroczystość od 0 do 1
.element1 {
background-color: rgba(255, 0, 0, 0.5); /* półprzezroczysty czerwony */
}
.element2 {
background-color: rgba(0, 0, 255, 0.3); /* przezroczysty niebieski */
}
.element3 {
background-color: rgba(0, 0, 0, 0.8); /* prawie nieprzezroczyste czarne */
}
.element4 {
color: rgba(100, 100, 100, 1); /* nieprzezroczyste (alpha = 1) */
}Parametr alpha:
0- całkowicie przezroczyste0.5- półprzezroczyste1- całkowicie nieprzezroczyste
9. Model HSL i właściwość opacity
Model HSL
Format: hsl(hue, saturation, lightness)
- Hue (odcień) - wartość kąta od 0 do 360 stopni na kole kolorów
- 0° (lub 360°) = czerwony
- 120° = zielony
- 240° = niebieski
- Saturation (nasycenie) - procent od 0% do 100%
- 0% = szary
- 100% = pełne nasycenie
- Lightness (jasność) - procent od 0% do 100%
- 0% = czarny
- 50% = normalny kolor
- 100% = biały
.element1 {
color: hsl(0, 100%, 50%); /* czerwony */
}
.element2 {
color: hsl(120, 100%, 50%); /* zielony */
}
.element3 {
color: hsl(240, 100%, 50%); /* niebieski */
}
.element4 {
background-color: hsl(60, 100%, 50%); /* żółty */
}
.element5 {
background-color: hsl(0, 0%, 50%); /* szary (brak nasycenia) */
}Model HSLA
Format: hsla(hue, saturation, lightness, alpha)
.element1 {
background-color: hsla(0, 100%, 50%, 0.5); /* półprzezroczysty czerwony */
}
.element2 {
background-color: hsla(120, 100%, 50%, 0.3); /* przezroczysty zielony */
}Właściwość opacity
Ustawia przezroczystość całego elementu (wraz z zawartością) - wartości od 0 do 1
.element1 {
background-color: red;
opacity: 0.5; /* cały element będzie półprzezroczysty */
}
.element2 {
opacity: 0; /* całkowicie niewidoczny */
}
.element3 {
opacity: 1; /* całkowicie nieprzezroczysty (domyślne) */
}
.element4 {
opacity: 0.8; /* lekko przezroczysty */
}Różnica między opacity a rgba/hsla:
opacity- wpływa na cały element (tło, tekst, obramowanie)rgba/hsla- wpływa tylko na konkretną właściwość (np. samo tło)
Podsumowanie najważniejszych punktów
✓ Style można dodawać przez <style> w <head> lub zewnętrzny plik CSS
✓ Klasy oznaczamy . a identyfikatory #
✓ Blok stylujemy przez: background-color, width, height, border, text-align
✓ :hover reaguje na najechanie kursorem
✓ :first-child wybiera pierwszy element potomny
✓ ::first-letter, ::before, ::after to pseudoelementy
✓ Kolory hex: #RGB (3 cyfry) lub #RRGGBB (6 cyfr)
✓ RGB: rgb(0-255, 0-255, 0-255), RGBA dodaje przezroczystość
✓ HSL: hsl(0-360, 0-100%, 0-100%), HSLA dodaje przezroczystość
✓ opacity ustawia przezroczystość całego elementu (0-1)
Footnotes
-
Marcel ↩