Skip to content

background

garevna edited this page Apr 18, 2019 · 5 revisions

ico25 Фон элемента

Каждый элемент имеет background ( фоновый слой ), который может быть прозрачным (по умолчанию), цветной заливкой и изображением

В качестве изображения может выступать градиент или картинка

Для одного элемента можно задать несколько фоновых изображений

    Название атрибута     comment
background-color устанавливает цветную заливку для любого HTML-элемента. Для блочных элементов цвет фона распространяется на всю ширину и высоту блока элемента, для строчных — только на область их содержимого
background-image устанавливает изображение в качестве фона для элемента. Фоновым изображением может быть картинка или градиент
background-repeat определяет, каким образом будет повторяться фоновый рисунок
background-position управляет точным расположением фонового изображения. Можно определить начальную позицию фонового изображения в виде горизонтальной и вертикальной координат посредством ключевых слов, точных абсолютных и процентных значений
background-size позволяет масштабировать фоновое изображение по вертикали и горизонтали ( background-image ). Оно описывает, как изображение будет растягиваться и обрезаться, чтобы полностью закрыть собой фоновую область. С помощью этого свойства изображение также можно уменьшать по ширине и по высоте
background-attachment

cap-25 image

CSS
body { margin: 0; }
div {
    width: 50vw;
    height: 50vh;
    margin: 5vh 25vw;
}
.back-picture {
    background-image: url(https://ichef.bbci.co.uk/news/976/cpsprodpb/1C41/production/_104133270_78bd83b4-ec17-4ce1-be30-07dc58cc0f6d.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
html
<body>
    <div class="back-picture"></div>
</body>
Result


cap-25 textures

CSS
body {
    margin: 0;
    background-image: url(https://s3-production.bobvila.com/articles/wp-content/uploads/2016/10/popcorn-ceiling1.jpg);
    background-repeat: repeat;
    background-size: 30%;
}
div {
    width: 50vw;
    height: 50vh;
    margin: 5vh 25vw;
}
.back-picture {
    background-image: url(https://www.tripwiremagazine.com/wp-content/uploads/2014/02/ice-textures-featured.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
html
<body>
    <div class="back-picture"></div>
</body>
Result


ico20 gradient

CSS

Для старых браузеров, не поддерживающих градиент, ставьте обычную заливку

body {
    background: #059;
}

Если вы очень любите вендорные префиксы

хотите уважить старые версии мозиллы ( до 15-ой включительно ) - пожал-ста:

body {
    background: -moz-linear-gradient(top, #059 0%, #5bf 40%, #f90 100%);

для Chrome с 10-го по 25-ый и Safari с 5-го по 6-ой

body {
    background: -webkit-linear-gradient(top, #059 0%, #5bf 40%, #f90 100%);

и совсем уже извращенцам - для очень древних ишаков ( с 6-го по 9-ый )

body {
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#059', endColorstr='#f90', GradientType=0 );
}

super-30 Нормально: для ишака 10+, мозиллы 16+, Chrome 26+, Opera 12+, Safari 7+

body {
    background: linear-gradient(to bottom, #059 0%,#5bf 40%, #f90 100%);
}

Теперь посмотрите в окошко, и увидите результат wink-30

Советую воспользоваться услугами link-20 генератора градиента


cap-25 gradient

Сначала зададим градиентную заливку для страницы:

body {
    background: linear-gradient(to bottom, #059 0%, #5bf 40%, #f80 100%);
    font-family: Arial;
    font-size: 16px;
    margin: 0;
}

Теперь сделаем класс для текста с фоновой картинкой:

.text {
   font-size: 15em;
   font-weight: bold;
   text-align: center;
   background: url(http://metagrid2.sv.vt.edu/~chris582/textures/crystal.jpg);
   background-repeat: no-repeat;
   background-size: 100%;
   background-attachment: fixed;
   -webkit-text-fill-color: transparent;
   -webkit-background-clip: text;
}

Опишем круглую фигуру, расположенную горизонтально по центру:

figure {
    width: 200px;
    height: 200px;
    margin-left: calc(50% - 100px);
    border-radius: 50%;
    box-sizing: border-box;
}

Здесь мы использовали функцию calc

50% - это половина ширины viewport

100px - это половина ширины фигуры

Теперь опишем класс элемента с фоновой картинкой:

.ellipse {
    background-image: url(https://i.pinimg.com/originals/bf/fe/de/bffede1d81ebe6ddb2eb3033dc86ac68.gif);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}

Осталось вставить соответствующие элементы в документ:

html
<body>
    <div class="text">SPACE</div>
    <figure class="ellipse"></figure>
</body>
Result

Обратите внимание, что фон внутри текста и внутри фигуры прокручивается при скроллинге страницы

Это происходит потому, что для атрибута background-attachment установлено значение fixed

т.е. элементы прокручиваются, а фон - нет

Если для атрибута background-attachment установить значение local, то при прокрутке страницы фон внутри элемента будет прокручиваться вместе с элементом

cap-25 Пример


Еще примеры

© Irina H.Fylyppova 2019



Занятие 1


Занятие 2


Занятие 3


Занятие 4


Занятие 5


Занятие 6


Занятие 7


Занятие 8


Дополнительно

Clone this wiki locally