0Pricing
HTML for Kids · Lekcja

Typy selektorów

Typy selektorów

Typy selektorów to bezpłatna lekcja HTML for Kids na CoddyKit. To lekcja 1 z 1. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej HTML for Kids, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs HTML for Kids zawiera 1 lekcji w sumie.

Wprowadzenie

Witajcie,

W tej lekcji poszerzymy wiedzę o CSS, poznając bardziej złożone selektory.

Wiele definicji stylów

Możemy utworzyć wiele definicji stylów, umieszczając między nimi średniki.

.first{
   color:blue;
   font-size:20px;
   text-align: center;
}

dokument HTML, który staje się bardziej złożony

Do tej pory pracowaliśmy z prostymi selektorami znaczników, identyfikatorów i klas. Jednak w niektórych przypadkach, gdy interfejs użytkownika staje się bardziej złożony, będziemy potrzebować bardziej zaawansowanych selektorów.

Poniżej znajduje się dokument HTML, który jest bardziej złożony.

<body>
	<div id="my-area">
		<p class="first">lorem</p>
		<div class="second">
				<p class="third">Ipsum</p>
	</div>
  </div>
</body>

Analiza przykładu

Przeanalizujmy teraz nasz kod.

  • W treści strony znajduje się element div z identyfikatorem my-area, który pełni funkcję kontenera. Jest on przodkiem wszystkich elementów znajdujących się wewnątrz tego elementu div.
  • Element p z klasą first jest elementem równorzędnym elementu div z klasą second.
  • Trzeci element jest elementem potomnym drugiego elementu, a element my-area można uznać za przodka trzeciego elementu.

Ostrzeżenie

Układ HTML można rozumieć dosłownie jako drzewo genealogiczne.

Można odziedziczyć cechę genetyczną po dziadku. 

Jeśli jednak ta cecha zmieni się u ojca, gen ojca będzie bardziej dominujący, a cecha odziedziczona po dziadku ulegnie zmianie.

Łączenie selektorów

Zobaczmy teraz, jak łączyć selektory.

Poniższa instrukcja oznacza, że element z klasą second jest przodkiem (elementem potomnym lub wnukiem) elementu z klasą third.

Jeśli między dwiema klasami znajduje się spacja, oznacza to, że klasa po lewej stronie wyszukuje element potomny.

.second .third{
	color:red;
}

Selektor elementu potomnego

W poniższym przykładzie

oznacza to wybór klasy third, która jest elementem potomnym klasy second.

Znak większości oznacza wybór elementu potomnego danego elementu.

.second > .third{
	color:red;
}

możemy połączyć selektor znacznika i klasy, aby wybrać element

Możemy również połączyć selektor znacznika i klasy, aby wybrać element.

Poniższy przykład wybierze elementy p z klasą third.

<style>

p.third{
	color:red;
}

</style>


<p class="third">Hello CSS</p>

Załóżmy, że chcemy wybrać element div z klasą first

Załóżmy, że chcemy wybrać element div z klasą first.

W poniższym przykładzie oznacza to wybór elementu z klasą first, który jest elementem potomnym elementu div z identyfikatorem my-area.

Zwiększa to specyficzność wybieranego elementu.


div#my-area > .first{
color:red;
}

Wybieranie wszystkich elementów

Gwiazdka (*) jest ważnym symbolem wśród selektorów.

Oznacza ona wybór wszystkich elementów.

W poniższym przykładzie selektor oznacza, że element z identyfikatorem my-area powinien wybrać wszystkich swoich potomków.

Należy pamiętać, że chodzi nie tylko o bezpośrednie elementy potomne, lecz o wszystkich potomków.

Jeśli chcielibyśmy wybrać tylko bezpośrednie elementy potomne, musielibyśmy umieścić znak większości przed gwiazdką.

/* It chooses all the descendants of #my-area. */
#my-area *{
	color:red;
}

/* It chooses all the children of #my-area. */
#my-area > *{
	color:red;
}

Selektor bezpośredniego elementu równorzędnego

Użyliśmy selektora potomków i selektora elementu potomnego, a teraz poznajmy selektor elementów równorzędnych.

Selektor elementu równorzędnego używa znaku + do wybrania następnego elementu równorzędnego.

W naszym przykładzie selektor pokoloruje tło trzeciego elementu akapitu na żółto.

<!DOCTYPE html>
<html>
<head>
<style>
div + p {
  background-color: yellow;
}
</style>
</head>
<body>

<div>
  <p>Paragraph 1 in the div.</p>
  <p>Paragraph 2 in the div.</p>
</div>

<p>Paragraph 3. Not in a div.</p>
<p>Paragraph 4. Not in a div.</p>

</body>
</html>

Selektor wszystkich elementów równorzędnych

Jeśli chcemy wybrać nie tylko pierwszy następny element równorzędny, lecz wszystkie kolejne elementy równorzędne, używamy tyldy (~).

Symbol tyldy jest również znany jako kombinator kolejnych elementów równorzędnych.

<style>

div ~ p {
  background-color: red;
}

</style>

<p>Paragraph 1.</p>
<div>
  <p>Paragraph 2.</p>
</div>
<span>span element.</span>
<p>Paragraph 3.</p>
<p>Paragraph 4</p>

Pseudoklasy i klasy CSS

Wyrażenia, które nie są klasami, ale zachowują się jak klasy, nazywamy pseudoklasami.

Nie definiujemy pseudoklas dla żadnego elementu w HTML. 

Podczas interpretowania kodu przeglądarka zakłada, że one istnieją. Dlatego możemy używać pseudoklas w selektorach CSS.

Pseudoklasa :hover

Spośród pseudoklas :hover jest bez wątpienia najbardziej znana.

Hover (:hover) to pseudoklasa, która jest automatycznie stosowana przez przeglądarkę do danego elementu, gdy kursor myszy znajduje się nad tym elementem.

Pseudoklas używa się po symbolu dwukropka (:) w instrukcji selektora.

Składnię użycia pseudoklasy przedstawiono poniżej.

selector:pseudo-class {
   property: value;
}

Stylowanie łączy za pomocą :hover

Utwórzmy teraz łącze i zobaczmy, jak będzie wyglądać po najechaniu na nie kursorem.

Ostrzeżenie: Ponieważ na urządzeniach mobilnych nie występuje zdarzenie hover takie jak w przeglądarce internetowej, efekt ten nie będzie widoczny w aplikacjach mobilnych Coddykit.

W poniższym przykładzie zobaczymy, że po najechaniu kursorem myszy na łącze jego kolor zmieni się na zielony.

<!DOCTYPE html>
<html>
<head>
<style>

.my-link{
	color:red;
	}

.my-link:hover{
	color:green;
}

</style>
</head>
<body>

<a class="my-link" href="https://www.coddykit.com">
CoddyKit Homepage Link
</a>

</body>
</html>

Pseudoklasa :first-child

Jedną z najbardziej mylących pseudoklas jest :first-child.

Zwykle na podstawie nazwy możemy wywnioskować, że służy ona do wybrania pierwszego elementu potomnego danego elementu.

W rzeczywistości ten wniosek jest nieprawidłowy.

Służy ona do wybrania pierwszego elementu spośród elementów równorzędnych danego elementu.

<!DOCTYPE html>
<html>
<head>
<style>

/* Chooses the first p element 
among children of the my-box class. */

.my-box p:first-child {
  font-size: 24px;
} 
</style>
</head>
<body>

<div class="my-box">
  <p>This is first text.</p>
  <p>This is second text.</p>
  <p>This is third text.</p>
</div>
</body>
</html>

Pseudoklasa :last-child

last-child jest przeciwieństwem pseudoklasy first-child. Służy do wybrania ostatniego elementu spośród elementów równorzędnych danego elementu.

<!DOCTYPE html>
<html>
<head>
<style>

/* Chooses the last p element 
among children of the my-box class. */

.my-box p:last-child {
  font-size: 24px;
} 
</style>
</head>
<body>

<div class="my-box">
  <p>This is first text.</p>
  <p>This is second text.</p>
  <p>This is third text.</p>
</div>
</body>
</html>

Pseudoelement ::before

Jeśli chcemy dodać coś przed elementem, używamy pseudoselektora ::before.

W poniższym przykładzie dodaliśmy treść „Hello” przed elementami nagłówków.

<!DOCTYPE html>
<html>
<head>
<style>
	h1::before {
			content: "Hello ";
	}
</style>
</head>
<body>

<h1>Coddykit</h1>
<h1>Coddykit</h1>
<h1>Coddykit</h1>

</body>
</html>

Pseudoelement ::after

Pseudoelement ::after, będący przeciwieństwem pseudoelementu ::before, służy do dodawania nowej treści za elementem.

<!DOCTYPE html>
<html>
<head>
<style>
	h1::after {
			content: " Coddykit";
	}
</style>
</head>
<body>

<h1>Hello</h1>
<h1>Hello</h1>
<h1>Hello</h1>

</body>
</html>

Pseudo-klasy listy

Poznaliśmy najczęściej używane pseudo-klasy. Istnieją jednak dziesiątki innych.

Listę wszystkich pseudo-klas można znaleźć pod poniższym linkiem. Można użyć dowolnej z nich, gdy zajdzie taka potrzeba.

Gratulacje

Gratulacje 🎉

W tej sekcji poznaliśmy rodzaje selektorów.

W następnej sekcji poznamy najczęściej używane właściwości CSS

Typy selektorów — ilustracja 21

Często zadawane pytania

Czy lekcja „Typy selektorów” jest bezpłatna?

Tak — pełny tekst „Typy selektorów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu HTML for Kids, przejdź na CoddyKit PRO. Kurs HTML for Kids zawiera 1 lekcji w sumie.

Co nauczysz się w „Typy selektorów”?

Typy selektorów Ćwiczysz HTML for Kids z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć HTML for Kids?

Nie wymagamy żadnego doświadczenia. HTML for Kids w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 1.

Ile czasu zajmuje lekcja „Typy selektorów”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji HTML for Kids?

Tak. Każda lekcja HTML for Kids zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

← Powrót do HTML for Kids