p - rkpomoce

Transkrypt

p - rkpomoce
Pseudoklasy
interfejsu
użytkownika
Css3 /2
rkijanka
W punkcie tym pojawiła się aż 17 nowych pseudoklas.
Nowe pseudoklasy możemy podzielić na 3 grupy:
- interfejsu użytkownika;
- strukturalne;
- inne nie pasujące do żadnej z tych grup.
Pola formularza
Potrzebne nam będą pojęcia disabled i enabled niedostępne, dostępne ,
dzięki czemu grupowo użytkownikowi wskażemy pola aktywne i nie
aktywne.
Przykład:
:enabled {
background:#dedede;
outline: 1px solid #3C0;
border: none;
height: 20px;
margin:3px;
}
<input type=’’text”><br>
<input type=’’email”><br>
<textarea disabled> tekst zblokowany</textarea>
Niedostępne pole formularza
Pseudoklasa :disabled pozwala zablokować wszystkie pola formularza
:enabled {
background-color:#dedede;
outline: 1px solid #3C0;
border:none;
height:20px;
margin:3px;
}
:disabled {outline:1px solid red; border:none;}
<input type=’’text”><br>
<input type="text" name="email"disabled><p>
<textarea disabled> pole zablokowane</textarea>
przykład
Pole wyboru
W html mamy dwa rodzaje pól jednokrotnego wyboru
- radio button /kółko/
i wielokrotnego wyboru
- checkbox /kwadracik/
po najechaniu myszką (:hover) na pole formularza podświetla on się lekko, a po
kliknięciu - ustawieniu fokusu (:focus) podświetla się mocniej.
: checked {outline: 1px solid green; width: 20px; height: 20px;}
input type=”checkbox”>checkbox<br>
input type=”radio”> Radio button<br>
przykład
Pseudoklasy strukturalne
Korzeń dokumentu
:root odnosi się do elementu pierwotnego.
w przypadku HTML będzie to <html> zaś synonimem selektora html dlaczego nie
miał by być body?
:root{background:black;}
body{background:blue;}
<html>
<head></head>
<body>&nbsp;</body>
</html>
przykład
Puste elementy
:empty – elementy puste na stronie- bez treści i znaczników;
Po co w takim razie go stosować?
- chociażby do eliminowania pustych niepotrzebnych elementów lub
elementów komentarzy
:empty {deklaracja}
<article>
<h1> Nagłówek stopnia pierszego.</h1>
<p>akapit</p>
<p><!—KOMENTARZ --></p>
</ article >
Pierwsze dziecko
:first-child – zaznacza pierwsze dziecko elementu nadrzędnego czyli dziecko brata
poprzedzającego
Zwykły selektor rodzeństwa
Dziecko nadrzędne
H1+p {deklaracja}
<section>
<h1>zawartość</h1>
<p>zawartość</p>
<p>zawartość</p>
<h1>zawartość</h1>
<aside>
<h1>zawartość</h1>
<h2>zawartość</h2>
<p>zawartość</p>
</aside>
</section>
Tu oscylujemy tylko 1 akapit po bracie
najbliższym nie po wszystkich braciach
p:first-child {deklaracja}
<div>
<p> Akapit1</p>
<h1> Nagłówek 1</h1>
<p> Akapit 2</p>
</div>
Nastąpiło tu odwrócenie selektora
rodzeństwa
Ostatnie i jedyne dziecko
:last-child – jak i pierwsze to może też być ostatnie.
Jedyne dziecko
Pierwsze dziecko
li:first-child {deklaracja}
<ul>
<li> punkt 1</li>
<li> punkt 2</li>
<li> punkt 3</li>
</ul>
Ostatnie dziecko
przykład
li:last-child {deklaracja}
<ul>
<li> punkt 1</li>
<li> punkt 2</li>
<li> punkt 3</li>
</ul>
li:only-child {deklaracja}
<p>
<ul>
<li> punkt 1</li>
<li> punkt 2</li>
<li> punkt 3</li>
</ul>
</p>
<article>
<ul>
<li> jedyne dziecko</li>
</ul>
</article>
przykład
Pierwszy- ostatni- jedyny element danego typu
:first-of-type
p:first-of-type {deklaracja}
<article>
<h1>Nagłówek</h1>
<p>Akapit pierwszy.</p>
<p>Akapit drugi.</p>
<p>Akapit trzeci.</p>
<div>
<p>Akapit wewnątrz .</p>
</div>
</article>
przykład
|
:last-of-type
| only-of-type
przykład
p:last-of-type {deklaracja}
<article>
<h1>Nagłówek</h1>
<p>Akapit pierwszy.</p>
<p>Akapit drugi.</p>
<p>Akapit trzeci.</p>
<div>
<p>Akapit wewnątrz .</p>
</div>
</article>
<style>
h1:only-of-type{deklaracja}
</style>
<article>
<h1>Nagłówek</h1>
<p>Akapit pierwszy.</p>
<p>Akapit drugi.</p>
<p>Akapit trzeci.</p>
<div>
<p>Akapit wewnątrz 1.</p>
<p>Akapit wewnątrz 2.</p>
</div>
</article>
przykład
Pseudoklasa :nth-child(n)
Child – dziecko, n- niewidoma , th – końcówka liczebników
- zarządzamy dziećmi elementu
Bardziej namieszamy
li:nth-child(2n+3) {deklaracja}
Dowolne dziecko
elementu
Tu zaczynamy od dziecka 3
li:nth-child(3) {deklaracja}
i zaznaczamy co drugi element
<ul>
<li>Punkt 1</li>
odd – nieparzyste
Użycie np.
<li>Punkt 2</li>
even – parzyste
(2n-2) – zaczniemy odliczanie od
<li>Punkt 3</li>
abstrakcyjnego punktu -2
<li>Punkt 4</li>
li:nth-child(odd) {color:red}
(-2n+5) – odwracamy kolejność,
<li>Punkt 5</li>
li:nth-child(even) {color:blue}
odliczanie od końca
</ul>
Punkt 1
Punkt 2
Punkt 3
Punkt 4
Punkt 5
:nth-child(1) = :first-child
Pseudoklasa :nth-last-child(n)
Klasa odwrotna do poprzedniej.
Znaczy , że elementy numerują się od ostatniego
Pseudoklasa :nth-of-type(n)
p:nth-of-type(2n+1) {deklaracja}
<article>
<h1>Nagłówek</h1>
<p>Akapit pierwszy.</p>
<p>Akapit drugi.</p>
<h1>Nagłówek 2</h1>
<h1>Nagłówek 3</h1>
<p>Akapit trzeci.</p>
<div>
<p>Akapit wewnątrz .</p>
<p>Akapit wewnątrz .2</p>
</div>
</article>
Jak widać – pomijane są tu
elementy inne niż akapit.
Wszystko rozpoczyna się od
pierwszego z nich.
Pseudoklasa :nth-last-of-type(n)
p:nth-last-of-type(2n+1){deklaracja}
<article>
<h1>Nagłówek</h1>
<p>Akapit pierwszy.</p>
<p>Akapit drugi.</p>
<h1>Nagłówek 2</h1>
<h1>Nagłówek 3</h1>
<p>Akapit trzeci.</p>
<div>
<p>Akapit wewnątrz .</p>
<p>Akapit wewnątrz .2</p>
</div>
</article>
Negacja :not( )
Aby wszystko zadziałało, sama pseudoklasa musi zostać poprzedzona
jakimś elementem, natomiast w nawiasie może mieścić się tylko jeden
selektor, który nie może być pseudoelementem.
p:not(.jeden) {deklaracja}
<div class=”jeden”>
<p class=”jeden”>Akapit pierwszy</p>
<p> Akapit drugi </p>
<p class=”dwa”>Akapit trzeci</p>
<p> Akapit czwarty </p>
<div class=”jeden”>Blok</div>
</div>
Mamy tu odniesienie do
wszystkich akapitów,
które nie mają
przypisanej klasy jeden
:not ( ) a selektor uniwersalny
*{color:black;}
:not(p) {color: #CCC}
<div>
<h1>Nagłówek</h1>
<p> Akapit </p>
<span> Linia</span>
</div>
Nagłówek
Akapit
Linia
Formatowanie kotwic
Jak pamiętamy tworzymy je atrybutem name elementu <a>, a następnie
odnosimy się do href i znaku #.
i tu mamy : target
/pamiętamy że aktywna może być tylko jedna kotwica/
body {font-family: Verdana, Geneva, sans-serif;}
:target {font-size: 25px;}
<a href=”#kotwica”>Nagłówek</a><br>
<a href=”#kotwica2”>Nagłówek drugi</a><br>
<p><a name=”#kotwica”>Akapit</a></p>
<p><a name=”#kotwica2”>Akapit drugi</a></p>
Gdy zostanie kliknięta właściwa kotwica,
akapit się powiększy.
cdn. Czcionka i tekst