Slika ozadja CSS se prilega širini, višina mora biti sorazmerna
Imam
body {
background: url(images/background.svg);
}
Želeni učinek je, da ima ta slika v ozadju širino, ki je enaka širini strani, višina pa se spreminja, da se ohrani razmerje. npr. če je prvotna slika 100*200 (poljubne enote) in je telo široko 600px, mora biti slika v ozadju visoka 1200px. Višina se samodejno spremeni, če se spremeni velikost okna. Ali je to mogoče?
Trenutno je videti, da Firefox prilagodi višino in nato prilagodi širino. Ali je to morda zato, ker je višina najdaljša dimenzija in se poskuša izogniti obrezovanju? Želim* obrezati navpično, nato pa se pomikati: brez vodoravnega ponavljanja.
Poleg tega Chrome postavi sliko na sredino, brez ponavljanja, tudi če je izrecno navedena možnost background-repeat:repeat
, ki je tako ali tako privzeta.
329
3
Za to obstaja lastnost CSS3, in sicer
background-size
(preverjanje združljivosti). Čeprav lahko nastavimo vrednosti dolžine, se običajno uporablja s posebnima vrednostmacontain
incover
. V vašem primeru morate uporabiticover
:div > div { background-image: url(http://i.stack.imgur.com/r5CAq.jpg); background-repeat: no-repeat; background-position: center center; background-color: #ccc; border: 1px solid; width: 20em; height: 10em; } div.contain { background-size: contain; } div.cover { background-size: cover; } /**** Additional styles for the explanation boxes *****/
div > div { margin: 0 1ex 1ex 0; float: left; } div + div { clear: both; border-top: 1px dashed silver; padding-top:1ex; } div > div::after { background-color: #000; color: #fefefe; margin: 1ex; padding: 1ex; opacity: 0.8; display: block; width: 10ex; font-size: 0.7em; content: attr(class); }
Note the grey background. The image does not cover the whole region, but it's fully contained.
Note the ducks/geese at the bottom of the image. Most of the water is cut, as well as a part of the sky. You don't see the complete image anymore, but neither do you see any background color; the image covers all of the.
```
Na podlagi nasvetov s spletne strani https://developer.mozilla.org/en-US/docs/CSS/background-size sem pripravila naslednji recept, ki se mi je obnesel.
Nisem prepričan, kaj točno iščete, vendar bi si morali ogledati te odlične objave na blogu, ki jih je napisal Chris Coyier iz CSS-Tricks:
http://css-tricks.com/how-to-resizeable-background-image/.
http://css-tricks.com/perfect-full-page-background-image/
Preberite opise vseh člankov in preverite, ali so to, kar iščete.
Prvi članek odgovarja na naslednje vprašanje:
Cilj drugega prispevka je dobiti naslednje: "slika ozadja na spletni strani, ki ves čas pokriva celotno okno brskalnika. "
Upam, da to pomaga.