Szukaj…


Wprowadzenie

Dzięki CSS możesz ustawić kolory, gradienty i obrazy jako tło elementu.

Możliwe jest określenie różnych kombinacji obrazów, kolorów i gradientów oraz dostosowanie ich rozmiaru, położenia i powtarzalności (między innymi).

Składnia

  • kolor tła: kolor | przezroczysty | inicjał | dziedziczyć;
  • obraz w tle: adres URL | brak | inicjał | dziedziczyć;
  • pozycja-tło: wartość;
  • background-size: <bg-size> [<bg-size>]
  • <bg-size>: auto | długość | okładka | zawierają | inicjał | dziedziczyć;
  • powtórz w tle: powtórz | repeat-x | powtórz-y | bez powtórzeń | inicjał | dziedziczyć;
  • pochodzenie tła: padding-box | obramowanie | pole zawartości | inicjał | dziedziczyć;
  • klip-tło: ramka | padding-box | pole zawartości | inicjał | dziedziczyć;
  • załącznik w tle: przewiń | naprawione | lokalny | inicjał | dziedziczyć;
  • tło: bg-kolor bg-pozycja obrazu / bg-rozmiar bg-powtórzenie bg-pochodzenie bg-klip bg-początkowy załącznik | dziedziczyć;

Uwagi

  • Gradienty CSS3 nie będą działać na wersjach Internet Explorera mniejszych niż 10.

Kolor tła

Właściwość background-color ustawia kolor tła elementu za pomocą wartości koloru lub słów kluczowych, takich jak transparent , inherit lub initial .

  • przezroczysty , określa, że kolor tła powinien być przezroczysty. To jest domyślne.

  • dziedziczy , dziedziczy tę właściwość po elemencie nadrzędnym.

  • initial , ustawia tę właściwość na wartość domyślną.

Można to zastosować do wszystkich elementów i pseudoelementów ::first-letter / ::first-line .

Kolory w CSS można określić różnymi metodami .


Nazwy kolorów

CSS

div {
  background-color: red;  /* red */
} 

HTML

<div>This will have a red background</div>
  • Powyższy przykład jest jednym z kilku sposobów, w jaki CSS musi reprezentować jeden kolor.

Kody kolorów szesnastkowych

Kod szesnastkowy służy do oznaczania składników RGB koloru w notacji szesnastkowej base-16. # ff0000, na przykład, jest jasnoczerwony, gdzie czerwony składnik koloru to 256 bitów (ff), a odpowiadające mu zielone i niebieskie części koloru to 0 (00).

Jeśli obie wartości w każdej z trzech par RGB (R, G i B) są takie same, kod koloru można skrócić do trzech znaków (pierwsza cyfra każdej pary). #ff0000 można skrócić do #f00 , a #ffffff można skrócić do #fff .

Notacja szesnastkowa nie uwzględnia wielkości liter.

body {
  background-color: #de1205; /* red */
}

.main {
  background-color: #00f; /* blue */
}

RGB / RGBa

Innym sposobem zadeklarowania koloru jest użycie RGB lub RGBa.

RGB oznacza czerwony, zielony i niebieski i wymaga trzech oddzielnych wartości od 0 do 255, umieszczonych między nawiasami, które odpowiadają dziesiętnym wartościom kolorów odpowiednio dla czerwonego, zielonego i niebieskiego.

RGBa pozwala na dodanie dodatkowego parametru alfa od 0,0 do 1,0 w celu zdefiniowania krycia.

header {
  background-color: rgb(0, 0, 0); /* black */
}

footer {
  background-color: rgba(0, 0, 0, 0.5); /* black with 50% opacity */
}

HSL / HSLa

Innym sposobem zadeklarowania koloru jest użycie HSL lub HSLa i jest podobny do RGB i RGBa.

HSL oznacza odcień, nasycenie i lekkość, i często jest również nazywany HLS:

  • Barwa to stopień na kole kolorów (od 0 do 360).
  • Nasycenie to procent od 0% do 100%.
  • Lekkość stanowi również procent od 0% do 100%.

HSLa umożliwia dodanie dodatkowego parametru alfa między 0,0 a 1,0 w celu zdefiniowania krycia.

li a {
  background-color: hsl(120, 100%, 50%); /* green */
}

#p1 {
  background-color: hsla(120, 100%, 50%, .3); /* green with 30% opacity */
}

Interakcja z obrazem tła

Wszystkie poniższe oświadczenia są równoważne:

body {
  background: red;
  background-image: url(partiallytransparentimage.png);
}

body {
  background-color: red;
  background-image: url(partiallytransparentimage.png);
}

body {
  background-image: url(partiallytransparentimage.png);
  background-color: red;
}

body {
  background: red url(partiallytransparentimage.png);
}

Doprowadzą one do pokazania czerwonego koloru pod obrazem, gdzie części obrazu są przezroczyste lub obraz nie jest wyświetlany (być może w wyniku background-repeat ).

Należy pamiętać, że następujące elementy nie są równoważne:

body {
  background-image: url(partiallytransparentimage.png);
  background: red;
}

Tutaj wartość background przesłania background-image .

Aby uzyskać więcej informacji na temat właściwości background , zobacz Skrót w tle

Zdjęcie w tle

Właściwość background-image służy do określenia obrazu tła, który zostanie zastosowany do wszystkich dopasowanych elementów. Domyślnie ten obraz jest kafelkowy, aby objąć cały element, z wyjątkiem marginesu.

.myClass {
  background-image: url('/path/to/image.jpg');
}

Aby użyć wielu obrazów jako background-image , zdefiniuj url() oddzielony przecinkami

.myClass {
  background-image: url('/path/to/image.jpg'),
                    url('/path/to/image2.jpg');
}

Obrazy zostaną ułożone w stos zgodnie z ich kolejnością, z pierwszym zadeklarowanym obrazem na innych i tak dalej.

Wartość Wynik
url('/path/to/image.jpg') Podaj ścieżki obrazu lub zasób obrazu określony schematem URI danych (apostrofy można pominąć), oddziel wielokrotności przecinkiem
none Brak obrazu tła
initial Domyślna wartość
inherit Dziedzicz wartość rodzica

Więcej CSS dla obrazu tła

Poniższe atrybuty są bardzo przydatne i prawie niezbędne.

background-size:     xpx ypx | x% y%;
background-repeat:   no-repeat | repeat | repeat-x | repeat-y;
background-position: left offset (px/%) right offset (px/%) | center center | left top | right bottom;

Gradienty w tle

Gradienty to nowe typy obrazów, dodane w CSS3. Jako obraz gradienty są ustawiane za pomocą właściwości background-image lub skrótu background .

Istnieją dwa rodzaje funkcji gradientu: liniowy i radialny. Każdy typ ma wariant powtarzalny i wariant powtarzalny:

  • linear-gradient()
  • repeating-linear-gradient()
  • radial-gradient()
  • repeating-radial-gradient()

gradient liniowy()

linear-gradient ma następującą składnię

background: linear-gradient( <direction>?, <color-stop-1>, <color-stop-2>, ...);
Wartość Znaczenie
<direction> Może to być argument taki jak to top , to bottom , to right lub to left ; lub kąt jako 0deg 90deg , 90deg .... Kąt zaczyna się od góry i obraca zgodnie z ruchem wskazówek zegara. Można określić w stopniach , grad , rad lub kolei . Jeśli pominięto, gradient płynie od góry do dołu
<color-stop-list> Lista kolorów, opcjonalnie po każdym z nich procent lub długość, aby wyświetlić. Na przykład yellow 10% , rgba(0,0,0,.5) 40px #fff 100% , #fff 100% ...

Na przykład tworzy to gradient liniowy, który zaczyna się od prawej i przechodzi z czerwonego na niebieski

.linear-gradient {
  background: linear-gradient(to left, red, blue); /* you can also use 270deg */
}

Możesz utworzyć gradient diagonal , deklarując poziomą i pionową pozycję początkową.

.diagonal-linear-gradient {
  background: linear-gradient(to left top, red, yellow 10%);
}

Można określić dowolną liczbę punktów przejścia koloru w gradiencie, oddzielając je przecinkami. Poniższe przykłady utworzą gradient z 8 punktami koloru

.linear-gradient-rainbow {
  background: linear-gradient(to left, red, orange, yellow, green, blue, indigo, violet)
}

gradient radialny ()

.radial-gradient-simple {
  background: radial-gradient(red, blue);
}

.radial-gradient {
  background: radial-gradient(circle farthest-corner at top left, red, blue);
}
Wartość Znaczenie
circle Kształt gradientu. Wartości to circle lub ellipse , domyślnie ellipse .
farthest-corner Słowa kluczowe opisujące, jak duży musi być końcowy kształt. Wartości są closest-side , farthest-side , closest-corner , farthest-corner
top left Ustawia pozycję środka gradientu, w taki sam sposób jak background-position .

Powtarzające się gradienty

Powtarzające się funkcje gradientu przyjmują te same argumenty, co powyższe przykłady, ale umieszczają gradient na tle elementu.

.bullseye {
  background: repeating-radial-gradient(red, red 10%, white 10%, white 20%);
}
.warning {
  background: repeating-linear-gradient(-45deg, yellow, yellow 10%, black 10%, black 20% );
}
Wartość Znaczenie
-45deg Jednostka kątowa . Kąt zaczyna się od góry i obraca zgodnie z ruchem wskazówek zegara. Można określić w stopniach , grad , rad lub kolei .
to left Kierunek gradientu, domyślnie jest to bottom . Składnia: to [y-axis(top OR bottom)] [x-axis(left OR right)] tj. to top right
yellow 10% Kolor, opcjonalnie po nim procent lub długość, aby wyświetlić go w. Powtarzane dwa lub więcej razy.

Należy pamiętać, że zamiast nazw kolorów można stosować kody kolorów HEX, RGB, RGBa, HSL i HSLa. Nazwy kolorów zostały użyte w celu ilustracji. Zauważ też, że składnia gradientu radialnego jest znacznie bardziej złożona niż gradient liniowy, a tutaj pokazano uproszczoną wersję. Aby uzyskać pełne wyjaśnienie i specyfikacje, zobacz Dokumenty MDN

Stenografia w tle

Za pomocą właściwości background można ustawić jedną lub więcej właściwości związanych z tłem:

Wartość Opis CSS Ver.
background-image Obraz w tle do użycia 1+
background-color Kolor tła do zastosowania 1+
background-position Pozycja obrazu tła 1+
background-size Rozmiar obrazu tła 3+
background-repeat Jak powtórzyć obraz tła 1+
background-origin Jak tło jest pozycjonowane (ignorowane, gdy fixed jest załączanie background-attachment ) 3+
background-clip Jak tło jest malowane w stosunku do pola content-box , border-box lub pola padding-box 3+
background-attachment Jak zachowuje się obraz tła, niezależnie od tego, czy przewija się wraz z blokiem zawierającym, czy ma stałe położenie w rzutni 1+
initial Ustawia właściwość na wartość domyślną 3+
inherit Dziedziczy wartość właściwości od rodzica 2+

Kolejność wartości nie ma znaczenia, a każda wartość jest opcjonalna

Składnia

Składnia deklaracji skróconej tła jest następująca:

background: [<background-image>] [<background-color>]  [<background-position>]/[<background-size>] [<background-repeat>] [<background-origin>] [<background-clip>] [<background-attachment>] [<initial|inherit>];  

Przykłady

background: red;

Wystarczy ustawić background-color za pomocą red wartości.

background: border-box red;

Ustawienie background-clip na obramowanie i background-color na czerwony.

background: no-repeat center url("somepng.jpg");

Ustawia background-repeat na brak powtarzania, background-origin na środek i obraz background-image na obrazie.

background: url('pattern.png') green;

W tym przykładzie background-color elementu zostałby ustawiony na green pomocą pattern.png , jeśli jest dostępny, nakładany na kolor, powtarzający się tak często, jak to konieczne, aby wypełnić element. Jeśli pattern.png zawiera jakąś przezroczystość, wówczas green kolor będzie widoczny za nią.

background: #000000 url("picture.png") top left / 600px auto no-repeat;

W tym przykładzie mamy czarne tło z obrazem „picture.png” u góry, obraz nie powtarza się w żadnej osi i jest umieszczony w lewym górnym rogu. Pozycja / po ma być w stanie uwzględnić rozmiar obrazu tła, który w tym przypadku jest ustawiony na szerokość 600px i automatyczny dla wysokości. Ten przykład może działać dobrze z obrazem funkcji, który może zanikać do jednolitego koloru.

UWAGA: Użycie skróconej właściwości tła resetuje wszystkie wcześniej ustawione wartości właściwości tła, nawet jeśli nie podano wartości. Jeśli chcesz zmodyfikować tylko wcześniej ustawioną wartość właściwości tła, użyj zamiast tego właściwości długiej ręki.

Pozycja w tle

Właściwość background-position służy do określenia pozycji początkowej obrazu tła lub gradientu

.myClass {
  background-image: url('path/to/image.jpg');
  background-position: 50% 50%;
}

Pozycja jest ustalana za pomocą współrzędnych X i Y i ustawiana za pomocą dowolnej jednostki używanej w CSS.

Jednostka Opis
wartość % wartość % Wartość procentowa przesunięcia poziomego odnosi się do (szerokość obszaru pozycjonowania tła - szerokość obrazu tła) .
Procent przesunięcia w pionie odnosi się do (wysokość obszaru pozycjonowania tła - wysokość obrazu tła)
Rozmiar obrazu to rozmiar podany przez background-size .
wartość px wartość px Przesuwa obraz tła o długość podaną w pikselach względem lewego górnego rogu obszaru pozycjonowania tła

Jednostki w CSS można określić różnymi metodami (patrz tutaj ).


Właściwości pozycji tła długiej dłoni

Oprócz powyższej właściwości skrótu można także użyć właściwości background-position-x długiej dłoni background-position-x i background-position-y . Umożliwiają one osobne sterowanie pozycjami x lub y.

UWAGA: Ta funkcja jest obsługiwana we wszystkich przeglądarkach oprócz Firefox (wersje 31–48) 2 . Firefox 49, który zostanie wydany we wrześniu 2016 r., Będzie obsługiwał te właściwości. Do tego czasu w odpowiedzi na przepełnienie stosu jest włamanie do Firefoksa.

Załącznik w tle

Właściwość background-attach ustawia, czy obraz w tle jest stały, czy przewija się wraz z resztą strony.

body { 
  background-image: url('img.jpg');
  background-attachment: fixed;
}
Wartość Opis
zwój Tło przewija się wraz z elementem. To jest domyślne.
naprawiony Tło jest ustalone względem rzutni.
lokalny Tło przewija się wraz z zawartością elementu.
Inicjał Ustawia tę właściwość na wartość domyślną.
dziedziczyć Dziedziczy tę właściwość po elemencie nadrzędnym.

Przykłady

załącznik w tle: przewiń

Domyślne zachowanie podczas przewijania ciała powoduje przewijanie tła:

body {
  background-image: url('image.jpg');
  background-attachment: scroll;
}

załącznik tła: naprawiony

Obraz w tle zostanie naprawiony i nie będzie się poruszał, gdy ciało zostanie przewinięte:

body {
  background-image: url('image.jpg');
  background-attachment: fixed;
}

załącznik w tle: lokalny

Obraz tła div będzie przewijany, gdy zawartość div będzie przewijana.

div {
  background-image: url('image.jpg');
  background-attachment: local;
}

powtarzanie tła

Właściwość background-repeat ustawia, czy / jak obraz tła będzie powtarzany.

Domyślnie obraz tła jest powtarzany zarówno pionowo, jak i poziomo.

div {
  background-image: url("img.jpg");
  background-repeat: repeat-y;
}

Oto jak wygląda background-repeat: repeat-y w background-repeat: repeat-y :

Oto jak wygląda tło-powtórz-y

Kolor tła z kryciem

Jeśli ustawisz opacity elementu, wpłynie on na wszystkie jego elementy potomne. Aby ustawić krycie tylko na tle elementu, musisz użyć kolorów RGBA. Poniższy przykład będzie miał czarne tło z kryciem 0,6.

/* Fallback for web browsers that don't support RGBa */
background-color: rgb(0, 0, 0);

/* RGBa with 0.6 opacity */
background-color: rgba(0, 0, 0, 0.6);

/* For IE 5.5 - 7*/
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);

/* For IE 8*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";

Wiele obrazów tła

W CSS3 możemy układać wiele tła w tym samym elemencie.

#mydiv {
  background-image: url(img_1.png), /* top image */
                    url(img_2.png), /* middle image */
                    url(img_3.png); /* bottom image */
  background-position: right bottom,
                       left top,
                       right top;
  background-repeat: no-repeat,
                     repeat,
                     no-repeat;
}

Obrazy będą układane jeden na drugim, z pierwszym tłem u góry i ostatnim tłem z tyłu. img_1 będzie na górze, img_2 i img_3 na dole.

Możemy również użyć do tego skróconej właściwości tła:

#mydiv {
  background: url(img_1.png) right bottom no-repeat,
              url(img_2.png) left top repeat,
              url(img_3.png) right top no-repeat;
}

Możemy również układać obrazy i gradienty:

#mydiv {
  background: url(image.png) right bottom no-repeat,
              linear-gradient(to bottom, #fff 0%,#000 100%);
}

Właściwość pochodzenia tła

Właściwość pochodzenia tła określa położenie obrazu tła.

Uwaga: Jeśli właściwość background-attachment jest ustawiona na fixed , ta właściwość nie ma wpływu.

Wartość domyślna: padding-box

Możliwa wartość:

  • padding-box - Pozycja odnosi się do padding-box
  • border-box - Pozycja odnosi się do ramki granicznej
  • content-box - Pozycja jest względna do pola zawartości
  • initial
  • inherit

CSS

.example {
  width: 300px;
  border: 20px solid black;
  padding: 50px;
  background: url(https://static.pexels.com/photos/6440/magazines-desk-work-workspace-medium.jpg);
  background-repeat: no-repeat;
}

.example1 {}

.example2 { background-origin: border-box; }

.example3 { background-origin: content-box; }

HTML

<p>No background-origin (padding-box is default):</p>

<div class="example example1">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

<p>background-origin: border-box:</p>
<div class="example example2">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

<p>background-origin: content-box:</p>
<div class="example example3">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

Wynik: wprowadź opis zdjęcia tutaj

Więcej:

https://www.w3.org/TR/css3-background/#the-background-origin

https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin

Klip w tle

Definicja i zastosowanie: Właściwość background-clip określa obszar malowania tła.

Wartość domyślna: border-box

Wartości

  • border-box jest wartością domyślną. Pozwala to na rozciągnięcie tła do zewnętrznej krawędzi granicy elementu.
  • padding-box zaczepia tło na zewnętrznej krawędzi dopełnienia elementu i nie pozwala mu sięgać do granicy;
  • content-box przycina tło na krawędzi pola zawartości.
  • inherit stosuje ustawienie elementu nadrzędnego do wybranego elementu.

CSS

.example {
  width: 300px;
  border: 20px solid black;
  padding: 50px;
  background: url(https://static.pexels.com/photos/6440/magazines-desk-work-workspace-medium.jpg);
  background-repeat: no-repeat;
}

.example1 {}

.example2 { background-origin: border-box; }

.example3 { background-origin: content-box; }

HTML

<p>No background-origin (padding-box is default):</p>

<div class="example example1">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

<p>background-origin: border-box:</p>
<div class="example example2">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

<p>background-origin: content-box:</p>
<div class="example example3">
  <h2>Lorem Ipsum Dolor</h2>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
  <p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>

Rozmiar tła

Przegląd ogólny

Właściwość background-size umożliwia kontrolowanie skalowania obrazu background-image . Zajmuje do dwóch wartości, które określają skalę / rozmiar uzyskanego obrazu w kierunku pionowym i poziomym. Jeśli właściwości nie ma, jej width jest uznawana za auto zarówno pod względem width jak i height .

auto zachowa proporcje obrazu, jeśli można to ustalić. Wysokość jest opcjonalna i można ją uznać za auto . Dlatego na obrazie o wymiarach 256 x 256 pikseli wszystkie poniższe ustawienia background-size dają obraz o wysokości i szerokości 50 pikseli:

background-size: 50px;
background-size: 50px auto; /* same as above */
background-size: auto 50px;
background-size: 50px 50px;

Więc jeśli zaczniemy od następującego zdjęcia (które ma wspomniany rozmiar 256 px × 256 px),

nasz niewinny obraz 256x256

skończymy z 50 pikseli × 50 pikseli na ekranie użytkownika, zawartym w tle naszego elementu:

malutki 50 pikseli

Można również użyć wartości procentowych do skalowania obrazu względem elementu. Poniższy przykład dałby obraz o wymiarach 200 × 133 pikseli:

#withbackground {
    background-image: url(to/some/background.png);

    background-size: 100% 66%;
    
    width: 200px;
    height: 200px;

    padding: 0;
    margin: 0;
}

nigdy więcej proporcji: /

Zachowanie zależy od background-origin .

Utrzymanie proporcji

Ostatni przykład w poprzedniej sekcji utracił swój pierwotny współczynnik kształtu. Koło wpadło w elipsę, kwadrat w prostokąt, trójkąt w inny trójkąt.

Podejście długości lub procentu nie jest wystarczająco elastyczne, aby utrzymać proporcje przez cały czas. auto nie pomaga, ponieważ możesz nie wiedzieć, który wymiar twojego elementu będzie większy. Jednak, aby całkowicie pokryć niektóre obszary obrazem (i mieć poprawny współczynnik kształtu) lub aby obraz o poprawnym współczynniku kształtu był całkowicie w obszarze tła, wartości, contain i cover zapewniają dodatkową funkcjonalność.

Eggsplanation contain i cover

Przepraszam za kiepską kalamburę, ale do demonstracji wykorzystamy zdjęcie dnia autorstwa Biswarupa Ganguly . Powiedzmy, że to jest twój ekran, a szary obszar znajduje się poza twoim widocznym ekranem. Dla celów demonstracyjnych założymy współczynnik 16 x 9.

ekran

Chcemy wykorzystać wspomniane zdjęcie dnia jako tło. Jednak z jakiegoś powodu przycięliśmy obraz do 4x3. Możemy ustawić właściwość background-size na pewną stałą długość, ale skupimy się na contain i cover . Zauważ, że zakładam również, że nie zmieniliśmy szerokości i / lub wysokości body .

contain

contain

Skaluj obraz, zachowując jego wewnętrzny współczynnik kształtu (jeśli istnieje), do największego rozmiaru, tak aby zarówno jego szerokość, jak i wysokość mieściły się w obszarze pozycjonowania tła.

Dzięki temu obraz tła jest zawsze całkowicie zawarty w obszarze pozycjonowania tła, jednak w tym przypadku może być pusta przestrzeń wypełniona background-color :

zawierać

cover

cover

Skaluj obraz, zachowując jego wewnętrzny współczynnik kształtu (jeśli istnieje), do najmniejszego rozmiaru, tak aby zarówno jego szerokość, jak i wysokość mogły całkowicie pokryć obszar pozycjonowania tła.

Dzięki temu obraz tła pokrywa wszystko. Nie będzie widocznego background-color , jednak w zależności od proporcji ekranu duża część obrazu może zostać odcięta:

pokrywa

Demonstracja z rzeczywistym kodem

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);
}
<div>
  <div class="contain"></div>
  <p>Note the grey background. The image does not cover the whole region, but it's fully <em>contained</em>.
  </p>
</div>
<div>
  <div class="cover"></div>
  <p>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 <em>covers</em> all of the <code>&lt;div&gt;</code>.</p>
</div>

wprowadź opis zdjęcia tutaj

Właściwość trybu mieszania tła

.my-div {
    width: 300px;
    height: 200px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(to right, black 0%,white 100%), url('https://static.pexels.com/photos/54624/strawberry-fruit-red-sweet-54624-medium.jpeg');
    background-blend-mode:saturation;
}
<div class="my-div">Lorem ipsum</div>

Zobacz wynik tutaj: https://jsfiddle.net/MadalinaTn/y69d28Lb/

Składnia CSS: tryb mieszania tła: normalny | pomnóż | ekran | nakładka | przyciemnić | rozjaśnić | unikanie kolorów | nasycenie | kolor | jasność;



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow