Bert Bos | Achtergronden (Future CSS, Utrecht 2013)
Voor diaprojectie: kies de volledig-schermstand
(Met Javascript: toets A)
Uit de demo:
p { background-image: url(sunglasses.svg), url(postit.png); background-size:4em auto, 100% 100%; background-position: bottom 0.5em right 0.5em, 0 0; background-repeat: no-repeat, no-repeat; }
Uit de demo:
div:nth-child(1) { background-size: contain } div:nth-child(2) { background-size: cover }
Waarden voor background-size
:
px
, em
, %
,
auto
('auto' behoudt de verhoudingen)
contain
(zo groot mogelijk met het hele plaatje zichtbaar)
cover
(hele achtergrond bedekt, maar het plaatje
kan in de breedte of de hoogte worden afgesneden)
Uit de demo :
div:nth-child(1) { border:10px dotted #5f749f; background-size:100px auto, 100% 100%; background-origin: border-box; background-position:85% 10px, top left; }
Uit de demo:
body{ background-attachment:fixed } div:nth-child(1){ background-attachment:local, local } div:nth-child(2){ background-attachment:local, scroll }
local
= het plaatje scrollt mee met de text van het element
scroll
= het plaatje scrollt alleen met het venster
(januari 2013: Opera, ok, Webkit ok, Firefox nee)
Uit de demo:
div:nth-child(1){ background-position: right 30% bottom 3px }
Achtergronden kunnen nu geplaatst worden ten opzichte van alle vier de hoeken
(januari 2013: Opera ok, Firefox ok, Webkit nee)
Uit de demo:
div:nth-child(1){ background-repeat:round } div:nth-child(2){ background-repeat:space }
round
= geheel aantal plaatjes, plaatjes zonodig geschaald
space
= geheel aantal plaatjes, met zonodig wat ruimte ertussen
(januari 2013: Opera afrondfouten? Webkit nee, Firefox nee)
Korte vorm
div:nth-child(1){
background:#c7c7c7 url(postit.png)
top left/cover no-repeat;
}
Uit de demo
div:nth-child(1){ background-image: linear-gradient(top, tomato, gold); } div:nth-child(10){ background-image: radial-gradient(red, yellow, green); }
(Het laatste voorbeeld in de demo heeft een gradient korter dan de resolutie van het scherm. Op dit moment (jan. 2013) doet alleen Opera dat goed.)
Eenvoudig: maak een document met een achtergrond die de window vult met een 2x2 schaakbord-patroon. Gebruik geen plaatjes, alleen 'background' en gradiënten
Moeilijk: idem, maar nu met een 8x8 schaakbordpatroon.
Hint: een zwart plaatje maak je zo:
linear-gradient(black, black)
(met zo nodig een „vendor-prefix”)