Selektory atrybutów w CSS3 pozwalają stylizować elementy HTML na podstawie wartości ich atrybutów. Jest to potężne narzędzie, które umożliwia precyzyjne targetowanie elementów bez konieczności dodawania dodatkowych klas czy identyfikatorów. W tej lekcji przyjrzymy się różnym typom selektorów atrybutów i ich zastosowaniu.
Przykład kompletnego kodu
Poniżej znajduje się przykład kodu HTML i CSS ilustrujący użycie różnych selektorów atrybutów. W tym przykładzie pokazujemy, jak stylizować linki (<a>), obrazy (<img>) i pola formularza (<input>) w zależności od ich atrybutów.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Selektory atrybutów w CSS3</title>
<style>
/* Stylizowanie linków na podstawie atrybutu 'href' */
a[href$=".pdf"] {
color: red; /* Linki do plików PDF będą czerwone */
}
/* Stylizowanie obrazów na podstawie atrybutu 'alt' */
img[alt~="flower"] {
border: 2px solid green; /* Obrazy z 'flower' w 'alt' mają zieloną ramkę */
}
/* Stylizowanie inputów typu 'text' */
input[type="text"] {
background-color: lightblue; /* Tło pola tekstowego jest jasnoniebieskie */
}
/* Selektor atrybutu z użyciem prefiksu */
a[href^="https"] {
font-weight: bold; /* Linki prowadzące do stron HTTPS są pogrubione */
}
/* Selektor atrybutu z użyciem podciągu */
input[value*="user"] {
border-color: purple; /* Pola formularza zawierające 'user' w wartości mają fioletową ramkę */
}
</style>
</head>
<body>
<a href="document.pdf">Pobierz PDF</a><br>
<a href="https://example.com">Odwiedź naszą stronę</a><br>
<img src="flower.jpg" alt="Beautiful flower">
<img src="landscape.jpg" alt="Mountain landscape">
<form>
<input type="text" value="Username"><br>
<input type="text" value="user@example.com"><br>
<input type="submit" value="Wyślij">
</form>
</body>
</html>
Opis selektorów atrybutów
a[href$=".pdf"]– selektor ten wybiera wszystkie elementy<a>z atrybutemhrefkończącym się na.pdf, co pozwala na specjalne stylizowanie linków do plików PDF.img[alt~="flower"]– selektor wybiera obrazy (<img>), których atrybutaltzawiera słowoflower. Używa się tego, aby dodać specyficzne style dla obrazów opisanych określonymi słowami.input[type="text"]– stylizuje wszystkie pola tekstowe (<input>z atrybutemtype="text"), umożliwiając np. zmianę tła pola tekstowego.a[href^="https"]– selektor wybiera linki (<a>), których atrybuthrefzaczyna się odhttps, co jest przydatne do wyróżnienia linków prowadzących do bezpiecznych stron.input[value*="user"]– wybiera elementy<input>, których atrybutvaluezawiera ciąg znakówuser, umożliwiając np. dodanie specjalnej ramki dla pól z określoną wartością.
Podsumowanie
Selektory atrybutów w CSS3 oferują szerokie możliwości do stylizowania elementów HTML na podstawie wartości ich atrybutów. Pozwalają one na bardziej precyzyjne i elastyczne definiowanie stylów bez potrzeby modyfikacji struktury HTML. Dzięki selektorom atrybutów, możemy dokładniej targetować elementy do stylizacji, co jest szczególnie przydatne w przypadkach, gdy pracujemy z elementami, które mają określone atrybuty charakterystyczne dla ich funkcji lub zawartości.
Selektory atrybutów są niezastąpionym narzędziem w arsenale każdego front-end developera, pozwalającym na tworzenie bardziej interaktywnych i dostosowanych do użytkownika interfejsów. Umożliwiają one także łatwiejszą współpracę z gotowymi bibliotekami i frameworkami, bez konieczności ingerencji w ich strukturę kodu źródłowego.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs WebDevelopera od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.