Novosti v CSS-u

Kaj prinašajo nove specifikacije?

45 min

keynote.weingerl.com

CSS spremenljivke

CSS custom properties

  • ideja iz predprocesorjev – SASS ($) in LESS (@)
  • spreminjanje med izvajanjem
    (preko JS ali @media pravil)
Lokalna uporaba spremenljivk
            
                section.hero {
                  --main-color: orange;
                }

                p {
                  color: var(--main-color);
                }
            
          

            
            
          
Privzeta vrednost
            
                section.hero {
                  --main-color: orange;
                }

                p {
                  color: var(--main-color, red);
                }
            
          

            
            
          
Globalna uporaba spremenljivk
            
                :root {
                  --main-color: orange;
                }

                p {
                  color: var(--main-color);
                }
            
          

            
            
          
Definiranje s @property
                
                  
                
              

syntax values – vrednosti tipi

Uporaba znotraj JS
              
                
              
            
  • imena so občutljiva na velike in male črke
  • uporabljene so lahko samo kot vrednosti
  • ne moremo jih uporabiti pri imenovanju lastnosti, selektorjih, definiranju medijskih poizvedb (@media), poizvedb o vsebniku (@container) ...
  • ne moremo jih uporabiti za interpolacijo, kot pri SASS ali LESS #{$variable} .icon-#{$size} { width: $size; }

Zakaj bi uporabljali spremenljivke?

CSS gnezdenje

CSS Nesting

Dosedanja praksa
descendent selector

                
Gnezdenje
z uporabo operatorja &

            
Gnezdenje brez operatorja &

            
Obvezna uporaba &

            
Pripenjanje ugnezdenih selektorjev

appended nesting selector


            
Ugnezdena @ pravila

@media, @support, @container ...


                

              

Zakaj bi uporabljali gnezdenje?

Poizvedbe o vsebniku

container queries


              

                


                

                  

Ne moremo spreminjati lastnosti, ki jo merimo oz. na podlagi česar pogojujemo dizajn.


            

            
Imenovanje vsebnika

            
Imenovanje vsebnika

            
container-type
  • size: poizvedba na podlagi inline in block dimenzij (širine in višine)
    širina in višina vsebnika sta neodvisni od ugnezdenih otrok
  • inline-size: poizvedba na podlagi inline dimenzije (širine)
    širina vsebnika je neodvisna od ugnezdenih otrok
  • normal: vsebnik pri katerem poizvedba ne bo na podlagi njegove velikosti

Zakaj bi uporabljali poizvedbe o vsebniku?

Kaskadne plasti

Cascade Layers

@layer theme

@layer components

@layer normalizemain.css

Kaskadne plasti

Kaskada

  1. Izvor slogov in pomembnost
  2. Specifičnost selektorjev
  3. Položaj oz. vrstni red pravil
  4. Kaskadne plasti

Kakšne barve sem?


            
          

uporabnik (vtičnik)


                
              

avtor (razvijalec)


                
              

Kakšne barve sem?


            
          

uporabnik (vtičnik)


                
              

avtor (razvijalec)


                
              
Pravilo @layer

            
          

                
              
Deklaracija @layer

                
              
Funkcija layer()

                
              
Slogi izven plasti

                
              
Ugnezdene plasti

                
              
Plasti & !important

                
              
Lokacija Pomembnost
1 stili znotraj plasti normal
2 stili izven plasti normal
3 inline stili normal
4 animations
5 stili izven plasti !important
6 stili znotraj plasti !important
7 inline stili !important
8 transitions

Zakaj bi uporabljali kaskadne plasti?

CSS barve

CSS Colors

Nova sintaksa

                
              
Neodvisni barvni prostori

                
              

RGB

OKLAB

Funkcija color()
Izbira barvnih prostorov

            
          

                
              
Funkcija color()
Izbira barvnih prostorov

            
          

                
              
Relativne barve

            
          
Relativne barve

            
          

                
              
Mešanje barv
color-mix()

            
          
Barvne sheme
podpora barvnih tem – color-scheme

            
          
Barvne sheme
pogojno oblikovanje z medijskimi poizvedbami

            
          
Barvne sheme
pogojno oblikovanje s funkcijo light-dark()

            
          

Vprašanja?

keynote.weingerl.com

Hvala za pozornost