Podstawy CSS
Syntax CSS (notacja BNF)
- <reguła> ::= <selektor> "{" <blok deklaracji> "}"
- <blok deklaracji> ::= {<deklaracja> ";"}
- <deklaracja> ::= <atrybut> ":" <wartość>
Przykład:
p {font-size: 2em; color: red; background: yellow;}
To samo, ale porządniej sformatowane:
p {
font-size: 2em;
color: red;
background: yellow;
}
Selektory proste
- * : dowolny elementm np.
* {box-sizing:border-box;}
- element, np.
p {color:#334455;}
div {background-color: #334455;}
- identyfikator, np.
#container {width: 100%; max-width:940px; margin: 0 auto;}
- klasa, np.
.naglowek{font-size:3em;}
uwaga: to jest to samo co
*.nagłowek {...}
Selektory złożone
[element-1] [element-2] {...}
: wszystcy potomkowie [element 1] typu [element 2] np
<div> <p>
[element-1] > [element-2] {...}
: wszystkie dzieci [element 1] typu [element 2] np
<div> > <p>
Uwagi
- grupowanie, np.
h1, h2, h3, h4, h5, h6 {color:#220012;}
- element.klasa, np.
p.naglowek{font-size:3em;}
Przykłady
<p class='big'>
<p class='blue'>
<p class='big blue'>
<p class='alert'>
TU MOŻESZ EDYTOWAĆ KOD:
Pseudo-klasy
:active, :hover, :first-child, :firt-of-type, :link, :visited, :nth-of-type()....
Pseudo-elementy
:after, :before, :first-letter, :first-line,
::selection, ...
<div class="test01">
<p>ala ma kota</p>
<div>
<p>KOT MA ALE</p>
</div>
<p>ala ma kota</p>
</div>
TU MOŻESZ EDYTOWAĆ KOD:
Pytanie: co się stanie jak zmienisz kolejność tych reguł?
Kilka porad
-
Jeśli dopiero teraz poznajesz css, to z co najmniej jeden rok nie stosuj frameworków (Bootstrap, Foundation, W3.CSS)
- Jeśli budujesz styl od nowa, to zacznij od zbudowania szkicu dokumentów html.
- Stosuj mniej więcej taką organizację kodu css:
- Ogólne własności (body, p, h1, h2, ..., a)
- Naglowek strony (#naglowek { })
- Stopka strony (#stopka { } )
- Specyficzne elementy
- Pamiętaj o zasadzie
Mobile First
.