Css размер фонового изображения: 🤷🏽‍♀️ Page not found | MDN Web Docs


04.03.1971 Facebook Twitter LinkedIn Google+ Разное


Содержание

background-size | CSS | WebReference

Масштабирует фоновое изображение, согласно заданным размерам.

Краткая информация

Значение по умолчанию auto
Наследуется Нет
Применяется Ко всем элементам
Анимируется Да

Синтаксис

background-size: <bg-size> [, <bg-size> ]*

<bg-size> = [ <размер> | <проценты> | auto ]{1,2} | cover | contain

Обозначения

Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B).
normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Значения

<размер>
Задаёт размер в любых доступных для CSS единицах — пикселях (px), сантиметрах (cm), em и др.
<проценты>
Задаёт размер фоновой картинки в процентах от ширины или высоты элемента.
auto
Если задано одновременно для ширины и высоты (auto auto), размеры фона остаются исходными; если только для одной стороны картинки (100px auto), то размер вычисляется автоматически исходя из пропорций картинки.
cover
Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.
contain
Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока.

Если установлено одно значение, оно устанавливает ширину фона, второе значение принимается за auto. Пропорции картинки при этом сохраняются. Использование двух значений через пробел задаёт ширину и высоту фоновой картинки.

Пример

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>background-size</title> <style> div { height: 200px; /* Высота блока */ border: 2px solid #000; /* Параметры рамки */ background: url(/example/image/mybg. png) 100% 100% no-repeat; /* Добавляем фон */ background-size: cover; /* Масштабируем фон */ } </style> </head> <body> <div>…</div> </body> </html>

Объектная модель

Объект.style.backgroundSize

Примечание

Safari до версии 4.1, Chrome до версии 3.0 и Android используют свойство -webkit-background-size.

Opera до версии 10.53 использует свойство -o-background-size.

Firefox до версии 4 использует свойство -moz-background-size.

Opera 9.5 некорректно устанавливает положение фиксированного фона.

Спецификация

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft (Черновик спецификации) — первая черновая версия стандарта.

Браузеры

9 12 1 3 9 10.53 3 4.1 3.6 4

Браузеры

В таблице браузеров применяются следующие обозначения.

  •  — свойство полностью поддерживается браузером со всеми допустимыми значениями;
  •  — свойство браузером не воспринимается и игнорируется;
  •  — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.

Число указывает версию браузера, начиная с которой свойство поддерживается.

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 29.02.2020

Редакторы: Влад Мержевич

Растягивайте и масштабируйте изображение CSS в фоновом режиме

Я согласен с изображением в абсолютном div с 100% шириной и высотой. Убедитесь, что вы установили 100% ширину и высоту для тела в CSS и установите поля и отступы на ноль. Другая проблема, с которой вы столкнетесь при использовании этого метода, заключается в том, что при выделении текста область выделения может иногда охватывать фоновое изображение, что приводит к нежелательному эффекту превращения полной страницы в выбранное состояние. Вы можете обойти это, используя user-select:noneправило CSS, например, так:

<html>
    <head>
        <style type="text/css">

            html,body {
                height: 100%;
                width: 100%
                margin: none;
                padding: none;
            }

            #background {
                width: 100%;
                height: 100%;
                position: fixed;
                left: 0px;
                top: 0px;
                z-index: -99999;
                -webkit-user-select: none;
                -khtml-user-select: none;
                -moz-user-select: none;
                -o-user-select: none;
                user-select: none;
            }

            #background img {
                width: 100%;
                height: 100%;
            }

            #main{ z-index:10;}
        </style>
    </head>
    <body>
        <div>
            content here
        </div>
        <div><img src="bg.jpg"></div>
    </body>
</html>

Опять же, Internet Explorer здесь плохой парень, потому что он не распознает опцию выбора пользователя — даже предварительный просмотр Internet Explorer 10 не поддерживает его, поэтому у вас есть возможность использовать JavaScript для предотвращения выбора фонового изображения (например, http : //www.felgall.com/jstip35.htm ) или используя метод растягивания фона CSS 3 .

Кроме того, для SEO я бы поместил фоновое изображение внизу страницы, но если фоновое изображение загружается слишком долго (то есть изначально с белым фоном), вы можете перейти к верхней части страницы.

Css размер фонового изображения — Вэб-шпаргалка для интернет предпринимателей!

При вёрстке страниц веб-сайта часто требуется задать фон определённому объекту для улучшения читаемости текста и внешнего вида портала в целом. Какими способами и методами можно задавать фон в CSS?

Работа с фоном в CSS

С помощью свойства background можно задать положение, цвет, изображение, повторяемость и привязку фона, как для отдельных элементов, так и полностью для всего сайта, что по своей сути, кстати, является заданием определённых настроек для тега . Рассмотрим все свойства, которые связаны с заданием фона.

background-color

Задаёт цвет фона. Его можно применять как к отдельным элементам

, так и ко всему веб-сайту с помощью тега .

background-image

Данное свойство используется для вставки фоновой картинки, указывая при этом ссылку на неё.

Обратите внимание на то, как указан путь к картинке. Это значит, что изображение должно находиться в той же директории, что и файл стилей CSS. Иначе придётся указывать полный путь к файлу.

background-repeat

Изображение из предыдущего примера будет повторяться по всему экрану благодаря данному свойству.

Оно может иметь несколько значений:

  • background-repeat: repeat-x — повторение по горизонтали;
  • background-repeat: repeat-y — повторение по вертикали;
  • background-repeat: repeat — повторение и по горизонтали и по вертикали;
  • background-repeat: no-repeat — изображение не повторяется.

Например, повторение по горизонтали выглядит так:

background-attachment

Это свойство определяет фиксирование фонового изображения при скроллинге:

  • background-attachment: scroll — фон прокручивается вместе со страницей;
  • background-attachment: fixed — фон остаётся неподвижным.

background-position

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

Свойство может задаваться в процентном формате, в пикселях, сантиметрах или словесно: top, bottom, center, right, left .

  • background-position: 50% 20% — изображение располагается по центру по горизонтали и на 20% отступает сверху;
  • background-position: 80px 60px — отступ изображения вниз на 80 пикселей от верхнего края и на 60 пикселей вправо от левого:

gradient

Плавный переход от одного цвета к другому, причем переходов допускается несколько.

Использование градиента можно наглядно продемонстрировать в примере кода:


Все приведённые настройки можно сделать в одном свойстве background, записав их в перечисленном порядке.

Если пропустить какое-либо свойство, для него устанавливается значение по умолчанию.

Работа с размером фона в CSS

В CSS 2.1 фоновая картинка сохраняет фиксированный размер, однако в CSS 3 было введено подсвойство size, благодаря которому фоновое изображение может быть растянуто или сжато.

Существует несколько способов, позволяющих определить размер:

Абсолютное изменение размера

Ширина и высота по умолчанию устанавливаются автоматически, а новый размер можно задать с помощью различных единиц измерения.

Например, если исходное изображение имеет разрешение 300 на 300 пикселей, то такой код сделает его ширину в два раза меньше:

Если указано только одно значение, оно по умолчанию считается как ширина, высота определяется автоматически, и пропорции сохраняются.

Код, который масштабирует картинку до размера 100 на 100 пикселей, выглядит так:

Относительное изменение размера

Если применять проценты, размер будет основываться не на изображении, а на элементе.

То есть, ширина фонового изображения зависит от параметров контейнера. Если ширина контейнера составляет 600 пикселей, размер фонового изображения уменьшится до величины 300 на 300 пикселей.

Как показывает практика, использование процентов весьма полезно для адаптивного дизайна.

Масштабирование до максимального размера

В свойстве background-size значение contain масштабирует фоновое изображение так, чтобы оно полностью заполняло контейнер или всю страницу.

Уменьшение или увеличение происходит пропорционально до тех пор, пока высота или ширина не будет выходить за рамки контейнера.

Такой фон страницы будет автоматически подгоняться под любое разрешение:

Заполнение фоном

Используя в свойстве background-size значение cover, фон масштабируется таким образом, чтобы заполнить всё пространство контейнера.

В том случае, если соотношения сторон различаются, картинка обрежется:

Масштабирование сразу нескольких фонов

Они могут быть масштабированы при помощи списка значений, которые разделены запятыми в том же порядке:

Создание полупрозрачного фона в CSS

Полупрозрачный элемент хорошо заметен на фоновом рисунке. В веб-дизайне полупрозрачность достигается за счёт свойства opacity или задаваемого для фона формата цвета RGBA.

Особенность данного свойства заключается в том, что прозрачность действует не только на фон, но и на все дочерние элементы. После увеличения прозрачности, и текст и фон станут полупрозрачными.

Пример создания полупрозрачного блока:


Однако достаточно часто полупрозрачным должен быть только фон определённого элемента, а текст оставаться непрозрачным для читабельности.

В таком случае opacity не подходит и следует воспользоваться форматом RGBA, в котором помимо значений яркости синего, красного и зелёного цветов устанавливается ещё и значение прозрачности. 1 означает абсолютную непрозрачность, а 0 — полную прозрачность.

Пример задания прозрачного фона:


Надеемся, что данное руководство вам пригодилось, и желаем успехов в освоении веб-дизайна!

Есть блок, с фоном.

А можно тут указать размер этого изображение? Хочу под каждое расширение экрана что бы сжималось, а то придеться делать много картинок под каждоме расширение.

1 ответ 1

Пример с contain :

Всё ещё ищете ответ? Посмотрите другие вопросы с метками html css или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

Каждый блок html-элемента имеет фоновый слой, который может быть полностью прозрачным (по умолчанию) или заполнен цветом и/или одним или несколькими изображениями. CSS-свойства фона указывают, какой цвет background-color и изображения background-image использовать, а также их размер, расположение, способ укладки и т.д.

Свойства фона не наследуются, но фон родительского блока будет просвечивать по умолчанию из-за начального значения в background-color: transparent .

Фон не отображается у пустых элементов с нулевой высотой. Отрицательные значения свойства margin не влияют на фон элемента.

Свойства фона html-элементов

  • Содержание:
  • 1. Базовый цвет: свойство background-color
  • 2. Источник изображения: свойство background-image
  • 3. Укладка изображений: свойство background-repeat
  • 4. Фиксация изображения: свойство background-attachment
  • 5. Позиционирование изображений: свойство background-position
  • 6. Область рисования: свойство background-clip
  • 7. Область расположения фона: свойство background-origin
  • 8. Размер изображений: свойство background-size
  • 9. Краткая запись свойств фона: свойство background
  • 10. Множественные фоны

1. Базовый цвет: свойство background-color

Свойство background-color устанавливает цвет фона элемента. Цвет рисуется за фоновыми изображениями. Для блочных элементов цвет фона распространяется на всю ширину и высоту блока элемента, для строчных — только на область их содержимого.

Цвет фона обрезается в соответствии со значением background-clip самого нижнего слоя фонового изображения.

Свойство не наследуется.

background-color
Значения:
цвет Значение принимает все форматы цвета свойства color. Значение по умолчанию transparent .
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Рис. 1. Свойство background-color для разных элементов

2. Источник изображения: свойство background-image

Свойство background-image устанавливает фоновое изображение (одно или несколько) элемента. Значение none считается слоем изображения, но ничего не рисует. Изображение, которое является пустым (нулевой ширины или нулевой высоты), которое не загружается или не может быть отображено (например, потому что оно не в поддерживаемом формате изображения) также считается слоем, но ничего не рисует.

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

Свойство не наследуется.

background-image
Значения:
изображение Обозначает 2D-изображение. Это может быть ссылка на URL, нотация image() или запись градиента. Значение по умолчанию none .
inherit Наследует значение свойства от родительского элемента.

3. Укладка изображений: свойство background-repeat

Свойство background-repeat определяет, как фоновые изображения укладываются в области фона после того, как для них установлены размеры и позиционирование. Если значение свойства имеет два ключевых слова, первое используется для горизонтального направления, второе — для вертикального.

Свойство не наследуется.

background-repeat
Значения:
repeat-x Изображение повторяется в горизонтальном направлении. Вычисляется в repeat no-repeat .
repeat-y Изображение повторяется в вертикальном направлении. Вычисляется в no-repeat repeat .
repeat Изображение повторяется в обоих направлениях так часто, чтобы покрыть область отрисовки фона. Если изображение не помещается, оно обрезается. Вычисляется в repeat repeat . Значение по умолчанию.
space Изображение повторяется столько раз, сколько оно помещается в области фона, не обрезаясь, изображения расположены на равном расстоянии друг от друга. Первое и последнее изображения касаются краев области. Если область рисования фона больше, чем область позиционирования фона, шаблон повторяется, чтобы заполнить область рисования фона. Если недостаточно места для двух копий изображения, то размещается только одно изображение, а свойство background-position определяет его положение. Вычисляется в space space .
round Изображение повторяется так часто, чтобы заполнить область фона, масштабируясь и не обрезаясь. Вычисляется в round round .
no-repeat Изображение размещается один раз и не повторяется. Вычисляется в no-repeat no-repea t.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Рис. 2. Свойство background-repeat

4. Фиксация изображения: свойство background-attachment

Свойство background-attachment указывает, является ли фоновое изображение фиксированными относительно области просмотра или прокручивается вместе с элементом или его содержимым.

Свойство не наследуется.

background-attachment
Значения:
scroll Фоновое изображение прокручивается вместе с текстом и другим содержимым. Значение по умолчанию.
fixed Предотвращает перемещение, фиксирует фоновое изображение на заднем плане.
local Фоновое изображение прокручивается вместе с содержимым элемента.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

5. Позиционирование изображений: свойство background-position

Если для элемента заданы фоновые изображения, свойство background-position указывает их начальное положение (после любого изменения размера) в соответствующей области расположения фона.

Свойство не наследуется.

background-position
Значения:
% Горизонтальное смещение вычисляется по формуле ширина области расположения фона — ширина фонового изображения. Вертикальное смещение по формуле высота области расположения фона — высота фонового изображения , где размер изображения — это размер, заданный свойством background-size . Значение по умолчанию 0% 0% .
длина Значение длины дает фиксированную длину в качестве смещения.
left Вычисляет до 0% для горизонтальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно левого края.
center Вычисляет в left 50% для горизонтального положения, если не указано иное горизонтальное положение, или как top 50% для вертикального положения, если оно задано.
right Вычисляет в 100% для горизонтального положения, если задано одно или два значения, в противном случае смещение происходит относительно правого края.
top Вычисляет в 0% для вертикальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно верхнего края.
bottom Вычисляет в 100% для вертикальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно нижнего края.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Если указано только одно значение, второе значение считается center . Если заданы два значения в единицах длины или % , то первое значения представляет горизонтальную позицию, второе — вертикальную. Значения в единицах длины или % представляют смещение верхнего левого угла фонового изображения от верхнего левого угла области расположения фона.

Пара ключевых слов может быть переупорядочена, в то время как комбинация ключевого слова и длины или процента не может. Например, center left — допустимое значение, а 50% left — нет.

Если заданы три или четыре значения в единицах длины или % , то перед каждым значением должно стоять ключевое слово, которое указывает, от какого края дается смещение. Если даны три значения, недостающее смещение считается равным нулю.

Положительные значения смещают внутрь от края области расположения фона. Отрицательные значения смещают наружу от края области расположения фона.

Рис. 3. Свойство background-position

Можно задать фоновую картинку так, чтобы она располагалась только по низу блока:

Рис. 4. Фоновое изображение по низу блока

Также благодаря свойству позиционирования, для одного блока можно использовать несколько фоновых изображений:

Рис. 5. Задание для блока нескольких фоновых изображений

6. Область рисования: свойство background-clip

Свойство background-clip определяет область рисования фона. Фон всегда рисуется под рамкой элемента, если таковая имеется.

Корневой элемент имеет другую область рисования фона, поэтому свойство background-clip на него не влияет.

Свойство не наследуется.

background-clip
Значения:
border-box Фон закрашивает область в пределах рамки элемента. Значение по умолчанию.
padding-box Фон закрашивает область в пределах внутренних полей элемента.
content-box Фон закрашивает только область содержимого.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Рис. 6. Свойство background-clip

7. Область расположения фона: свойство background-origin

Свойство background-origin указывает область расположения фона для элементов, которые выводятся на экране как единый блок (например, не абзацы текста).

Свойство не наследуется.

background-origin
Значения:
padding-box Фон позиционируется относительно верхних границ области внутренних полей элемента. Значение по умолчанию.
border-box Фон позиционируется относительно верхних границ рамки элемента.
content-box Фон позиционируется относительно верхних границ области содержимого элемента.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Если для элемента установлено background-attachment: fixed , свойство не будет иметь эффекта.

Если для элемента заданы background-clip: padding-box , background-origin: border-box , background-position: top left , и элемент имеет ненулевую рамку, тогда верхняя и левая части фонового изображения будет обрезаны.

Рис. 7. Свойство background-origin

8. Размер изображений: свойство background-size

Свойство background-size устанавливает размер фоновых изображений.

Свойство не наследуется.

background-size
Значения:
auto Значение по умолчанию. Высота и ширина изображения равны его оригинальным размерам.
длина Размер задается парой значений, первое значение устанавливает ширину изображения, второе — высоту. Для того, чтобы фон масштабировался вместе с текстом, размеры изображения нужно задавать в em .
% Задает размер фонового изображения в процентах от ширины или высоты элемента, которое заполняется фоном.
cover Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.
contain Масштабирует изображение с сохранением пропорций таким образом, чтобы оно целиком поместилось внутри блока.
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Рис. 8. Свойство background-size

9. Краткая запись свойств фона: свойство background

Свойство background позволяет описать в одном объявлении следующие свойства фона: background-color , background-image , background-position , background-size , background-repeat , background-origin , background-clip и background-attachment . Необязательно указывать все перечисленные свойства, если какое-либо свойство будет пропущено, оно примет значение по-умолчанию.

Если вы указываете в краткой записи фона свойство background-size , то его значения нужно будет записать через слеш / , чтобы отделить его от свойства background-position .

10. Множественные фоны

Фон блока элемента может иметь несколько слоев в CSS3. Количество слоев определяется количеством значений, разделенных запятыми, указанных в свойстве background-image . Значение none по-прежнему создает слой.

Первое изображение в списке — это слой, отображаемый ближайший к пользователю, следующий отрисовывается за первым, и так далее. Цвет фона, если он есть, закрашивается под всеми остальными слоями.

Рис. 9. Пример использования нескольких фоновых изображений

Рекомендуем к прочтению

Как установить размер фонового изображения с помощью CSS?

Как установить размер фонового изображения с помощью CSS? В следующей статье вы узнаете, как использовать CSS для установки размера фонового изображения, я надеюсь, это поможет вам.

Свойство CSS background-size можно использовать для установки размера фонового изображения; используйте значения свойств height и width, чтобы установить размер фонового изображения.

грамматика:

background-size: width height;

Примечание:

● Если первое значение не указано, изображение принимает исходную ширину.

● Если второе значение не указано, изображение примет исходную высоту.

Пример 1: background-size устанавливает значения ширины и высоты для установки размера фонового изображения.

<!DOCTYPE html>  
<html>  
    <head>  
        <title> Установить размер фонового изображения </title> 
        <style> 
            #myDiv1 { 
                height: 200px; 
                width: 400px; 
                background:url("1.jpg"); 
                background-size: 400px 200px; 
                  
            }
            #myDiv2 { 
                height: 337px; 
                width: 600px; 
                background:url("1.jpg"); 
                background-size: 600px 337px; 
                  
            } 
        </style> 
    </head> 
      
    <body>  
        <div id= "myDiv1"></div>
        <div id= "myDiv2"></div>
    </body>  
</html>

Изображение эффекта:

Пример 2. Установите размер фона в процентах

<!DOCTYPE html>  
<html>  
    <head>  
                 <title> Установить размер фонового изображения </title>
        <style> 
            #myDiv1 { 
                height: 200px; 
                width: 400px; 
                background:url("1.jpg"); 
                background-size: 70%; 
                background-repeat: no-repeat;
                  
            }
            #myDiv2 { 
                height: 400px; 
                width: 600px; 
                background:url("1.jpg"); 
                background-size: 70%; 
                background-repeat: no-repeat;
                  
            } 
        </style> 
    </head> 
      
    <body>  
        <div id= "myDiv1"></div>
        <div id= "myDiv2"></div>
    </body>  
</html>

Изображение эффекта:

Рекомендуемая литература:

php сервер

php5 скачать

Layui Framework

Как установить фоновую картинку на весь экран?

Сейчас вы узнаете, каким образом можно преобразовывать бекграундную картинку, чтобы ее ширина соответствовала значению ширины родительского блока или экрана монитора.

Довольно часто на сайтах в качестве фона выступает не просто какой-нибудь цвет, а именно изображение с узором или рисунком. Очень важно уметь масштабировать рисунок под размеры своего контейнера. Этот процесс можно осуществить свойством background-size, которое устанавливает размеры фона. Если для него указать одно значение, то оно будет соответствовать ширине рассматриваемого графического файла, а высота подгонится автоматически. Но в то же время можно указывать два значения, которые определять ширину и высоту. В нашем случае нужно растянуть наш фон на всю ширину, поэтому для указанного свойства задаем ширина 100%.

Пример смотрим здесь

CSS

body {
    background: url(img.jpg) no-repeat; 
	background-size:100%;
   }

Смотрим в браузер

На заметку

Советую обращать внимание на размеры фоновой картинки. Если они буду не достаточно большие, то при расширении окна качество изображения испортиться. Нужно прикидывать максимально возможный размер окна и обработать изображение в графических редакторах так, чтобы было идеальное соотношение размеров к объему картинки.

В каких браузерах работает?
9.0+ 3.0+ 9.6+ 3.1+ 3.6+ 2.0+ 2.0+

Оценок: 3 (средняя 5 из 5)

  • 1176 просмотров

Понравилась статья? Расскажите о ней друзьям:

Курсы по CSS (в открытом доступе)

Уровень сложности:

Средний

Еще интересное

Пособие для начинающих по позиционированию фона в CSS — CSS-LIVE

Перевод статьи A Primer To Background Positioning In CSS с сайта blogs.adobe.com, автор — Сара Суэйдан.

Применение фоновых изображений к элементам, вероятно, одна из самых востребованных возможностей в CSS, и есть множество фоновых свойств, которые позволяют нам управлять различными аспектами фона элемента.

У элемента может быть более одного фонового изображения. Если вы хотите применить более одного фонового изображения, то можете представить их в виде разделённого запятыми списка значений для свойства background-image. Свойство background-position используется для указания позиции фонового изображения, и это свойство стоит рассмотреть поглубже, т.к. его различные возможные значения приводят к разным результатам, некоторые из которых могут оказаться для вас в новинку, если вы не очень хорошо разбираетесь в CSS.

Мы будем позиционировать одно фоновое изображение во всех примерах, чтобы сохранить код и общие понятия простыми на протяжении всей статьи. Но что подходит для одного фонового изображения, то применимо и ко множественным.

Фоновое изображение позиционируется внутри того, что называется «областью позиционирования фона» элемента. Эта область позиционирования фона, как ясно из названия, указывает область, внутри которой будет позиционироваться фон, и у нее есть система координат, используемая для работы с позиционированием.

Прежде чем продолжить углубляться в основные понятия позиционирования, давайте сначала быстренько заглянем в боксовую модель CSS и посмотрим, как она влияет на позиционирование фоновых изображений внутри элемента.

Области боксовой модели CSS

У элемента в CSS определены три области, называемые боксами: border box (бокс по границы включительно), padding box (бокс по отступу) и content box (бокс по содержимому). border box – область элемента, которая включает всю его внутреннюю часть плюс область, которую занимают сами границы.

Padding box – область элемента, исключающая границу, но включающая контент элемента и окружающие его отступы – указанные при помощи свойства padding.

Content box – область, созданная контентом элемента, исключающая любые отступы и границы.

Области бокса элемента. Изображение взято из CSS-справочника на Codrops, статья про свойство background-origin.

Есть также четвёртая область — «margin box», включающая элемент и его внешние поля, которые указываются при помощи свойства margin.

Когда вы назначаете элементу фон в виде изображения или сплошного цвета, то по умолчанию он закрашивает всю область границы элемента. (Можно изменить это поведение при помощи свойства background-origin, но мы вернёмся к нему в ближайшее время.)

Чтобы указать, где именно внутри области позиционирования будет находиться фоновое изображение, этой области необходима система координат, используемая для преобразования в неё значений background-position. Прежде чем двигаться дальше, давайте повнимательнее рассмотрим эту систему координат.

Система координат элемента

По умолчанию, по самой природе боксовой модели элемента в CSS, у каждого элемента есть система координат, которая определяется его высотой и шириной. Эта система координат используется, чтобы позиционировать элемент относительно других элементов и позиционировать потомков элемента относительно него самого.

У HTML-элемента есть система координат в CSS. У SVG-элементов, напротив, нет похожей системы координат, поскольку они не регламентируются концепцией боксовой модели.

Начальная точка системы координат в CSS расположена в левом верхнем углу элемента.

Область позиционирования фона также определяется системой координат, установленной для нее, и служит для позиционирования фонового изображения в этой области. У этой системы координат начальная точка тоже находится в верхнем левом углу области позиционирования.

Поскольку по умолчанию областью позиционирования является padding box, то по умолчанию начальной точкой системы координат области позиционирования фона будет верхний левый угол области внутреннего отступа элемента.

Это означает, что, когда вы применяете фоновое изображение к элементу, браузер будет позиционировать первое и последующие повторения изображения, начиная от верхнего левого угла области внутреннего отступа элемента.

Например, предположим у вас есть фоновое изображение, применённое к элементу, и вы не задали ему повторение (поэтому применяется только один экземпляр этого изображения). Исходной позицией фонового изображения внутри системы координат будет начальная точка системы координат padding box. Поэтому верхний левый угол изображения позиционируется в верхнем левом углу внутреннего отступа элемента. (См. живой пример ниже.)

К элементу применена полупрозрачная граница в 20px. Заметьте, как изображение позиционируется в верхнем левом углу внутреннего отступа элемента.

Изображение любезно предоставлено Freepik.com

Используя свойство background-position, о котором мы поговорим в этой статье, мы можем изменять позицию изображения внутри этой системы координат.

Но как упоминалось ранее, мы можем изменить область позиционирования фона, и это, в свою очередь, изменит начальную точку, используемую для позиционирования изображения внутри области фона элемента.

Изменение области позиционирования фона и системы координат при помощи

background-origin

Свойство background-origin применяется, чтобы изменить начальную точку системы координат, используемую, чтобы позиционировать фоновое изображение в области позиционирования фона.

Оно принимает одно из трёх значений: padding-box  (значение по умолчанию), content-box и border-box.

В зависимости от выбора области позиционирования фона, соответствующей точке отсчета для фона — начальная точка системы координат, установленной для этой области — изменится, и начальное (по умолчанию) положение фонового изображения тоже.

Следующий живой пример показывает разные исходные точки фона/области позиционирования в действии.

Смотрите пример Сары Суэйден (@SaraSoueidan) «Разные значения background-origin» на CodePen.

Для каждой области позиционирования фона, указанной при помощи background-origin, система координат будет сдвигаться, чтобы покрыть эту область.

Затем, в этой системе координат можно указать положение фонового изображения, используя свойство background-position.

Ради простоты, в остальной части этой статьи, мы оставим область позиционирования фона элемента по умолчанию. Поэтому все наши примеры будут применены к элементу, у которого фон позиционируется именно в области отступа.

Позиционирование фоновых изображений при помощи

background-position

В прошлом разделе мы видели, как фоновое изображение по умолчанию позиционируется в левом верхнем углу области позиционирования. Это связано с тем, что по умолчанию значение  свойства background-position равно 0% 0%.

По умолчанию для background-position используются процентное значение. В background-position можно подставлять либо процентное, либо абсолютное значение, которые указывают смещение изображения от одного из четырёх краёв области позиционирования (вверх, право, низ, лево)

Углы смещения элемента и система координат в CSS.

В дополнение к процентным и абсолютным значениям, для смещения можно использовать ещё и пять ключевых слов: top, rightbottomleft и center.

Положение фона можно описывать при помощи указания одного значения для смещения (ключевое слово, проценты или длина), двух значений (пара значений с теми же тремя вариантами для каждого) или четырёх значений (ключевое слово и числовое значение смещения относительно соответствующего края). Мы поговорим об этом более детально в последующих разделах.

background-position: top left;
background-position: 50px 30%;
background-position: top 25%;
background-position: right 10px bottom 20px;
background-position: center center
background-position: 10px 20px;
background-position: 5em 2em;
background-position: 75% 50%;

Если вы укажите только одно значение, то второе будет считаться, как center. Если укажите два значения, то первое будет определять смещение от левого угла — т.е. горизонтальную позицию, а второе – смещение вниз от верхнего угла — вертикальную позицию.

background-position: 10% 50%; /* смещение на 10% вправо, и 50% вниз от верха */
background-position: top; /* идентично `top center` */
background-position: 50px; /* идентично `50px center` */

Можно смешивать и сочетать значения, комбинируя длину с процентами и/или ключевыми словами. Заметьте, что пару ключевых слов можно поменять местами, тогда как комбинацию ключевого слова и длины либо процентов — нельзя. Поэтому center left — правильная запись, а 50% left  — нет, она должна выглядеть так: left 50%. При комбинировании ключевого слова и длины или процентного значения, первое значение всегда отвечает за горизонтальное смещение, а второе — за вертикальное.

Собственно говоря, ключевое слово – это сокращённая запись для определённых процентных значений. Точнее сказать: top — смещение 0% от верхнего края, bottom — смещение 100% от верхнего края, left — смещение  0%  от левого края, right — смещение 100%  от левого края, а center — смещение 50% в том направлении (горизонтальном или вертикальном), к которому оно применяется.

Начнём с того, как работает каждый тип значения — вероятно, это наиболее важная вещь, т.к. есть фундаментальное различие между тем, как браузер позиционирует фоновые изображения при абсолютных и процентных значениях. По ходу изучения мы посмотрим больше примеров.

Как работают абсолютные значения background-position

При указании значения в абсолютных единицах, вы смещаете верхний угол фонового изображения на указанное число. Другими словами, изображение передвинется так, чтобы его верхний левый угол позиционировался на указанные в значении background-position смещения.

Лучший способ объяснить и понять это – показать наглядно, поэтому здесь представлено два примера абсолютных значений позиции фона и то, как браузеры реализуют позиционирование фонового изображения при помощи абсолютных значений. Элементу в этих двух примерах задан размер 100px на 80px.

Позиционирование фонового изображения при помощи абсолютных значений.

Абсолютное значение также может быть отрицательным. В этом случае изображение сместится в обратном направлении от края.

Пример, показывающий смещение изображения при помощи отрицательного значения.

Попробуйте изменить значения позиции фона в следующем живом примере, чтобы увидеть, как оно влияет на изображение. И обязательно попробуйте отрицательное значение!

Как работают процентные значения background-position

В отличие от значения смещения в абсолютных единицах длины, которое двигает верхний левый угол элемента на указанное расстояние, процентное значение выравнивает точку в X% от левого (для горизонтальной составляющей) или верхнего (для вертикальной) края изображения с точкой в X% от левого (для горизонтальной) или верхнего (для вертикальной) края контейнера.

Например, процентное значение 0% 0% выровняет точку 0% 0% изображении с точкой 0% 0%  в системе координат области позиционирования фона. Значение 50% 75% свойства background-position выровняет точку, которая находится в 50% от левого и в 75%  от верхнего края изображения с точкой, которая расположена на 50% 75% в области позиционирования фона.

И снова, лучше объяснит наглядный пример. Заметьте, как указанное значение background-position используется, чтобы получить точку этих координат внутри изображения, а затем выравнивает эту точку с точкой в тех же координатах в области позиционирования.

Позиционирование фонового изображения при помощи процентных значений..

Как и с абсолютными единицами длины, можно указать процентное смещение в отрицательных значениях, и они передвинут фоновое изображение на указанное значение в противоположенном направлении на соответствующей оси. Поэтому значения -10% -30% сместят изображение на 10% влево от левого края и на 30% вверх.

Поиграйте со значениями в следующем примере, чтобы увидеть, как меняется положение фонового изображения.

Смотрите пример Сары Суэйден (@SaraSoueidan) «background-position Example#2» на CodePen.

Позиционирование в предыдущих двух примерах делается относительно верхнего и левого краёв. Теперь давайте посмотрим, как можно объединить ключевые слова вместе с численными значениями смещения (процентами или абсолютными единицами), чтобы позиционировать изображения вдоль области позиционирования фона относительно любого из четырёх краёв элемента.

Смещение относительно любого края

В примерах из предыдущих двух разделов мы указывали смещения и видели, как они используются, чтобы переместить изображение относительно верхнего и левого края — т.е. поведение по умолчанию для одного или двух значений background-position.

Когда мы объединяем в четырёхзначный синтаксис ключевые слова для смещения с численными значениями, мы также можем сместить фоновое изображение от правого и нижнего краёв области позиционирования.

Чтобы это сделать, всё что нам надо, это указать название края, который нужно использовать, за которым должно следовать число (в абсолютных или процентных значениях), на которое сместится изображение от самого края.

Например, в следующем примере используется четырёхзначный синтаксис:

background-position: top 1em right 3em; /* фоновое изображение позиционируется на 1em вниз от верхнего угла и на 3em влево от правого угла */

background-position: right 1em bottom 1em; /* фоновое изображение позиционируется на 1em вверх от нижнего угла и 1em влево от правого угла */

background-position: left 20px bottom 50px;

Если указано три из четырёх значений, четвёртое значение приравнивается к нулю.

При использовании четырёхзначного синтаксиса следует кое-что помнить: когда приведено три или четыре значения, тогда каждое процентное значение или длина представляют смещение и должны идти за ключевым словом, указывающим край, от которого должно смещаться фоновое изображение. Например, background-position: bottom 10px right 20px представляет вертикальное смещение на 10px вверх от нижнего края и горизонтальное смещение на 20px влево от правого края. Если указано три значения, недостающее смещение приравнивается к нулю. Если вы укажите два численных смещения и одно ключевое слово, то такое значение будет неверным и браузер использует 0% 0% — значение по умолчанию.

Чтобы лучше это понять, поиграйтесь со значениями свойства background-position в следующем живом примере. Для лучшего понимания фоновое изображение сначала позиционируется так, чтобы оно смещалось на 0 пикселей от нижнего и 2em от правого края.

Это особенно полезно, когда вам нужно по умолчанию позиционировать изображение на расстояние от правого и нижнего краёв, что сделает эту задачу намного легче, чем вынужденное высчитывание относительных смещений от верхнего и левого углов.

Установка размеров, повторение, обрезка изображений и многое другое!

Помните, что можно к элементу можно применять множественные фоновые изображения. Для каждого фонового изображения (представленных в виде списка изображений, разделённого запятыми в background-image) можно указать соответствующую фоновую позицию; множественные позиции также разделяются запятыми.

В общем, есть девять CSS-свойств, которые управляют раскладкой, позиционированием, определением размеров и закрашиванием фоновых изображений, включая сокращённое свойство background, которое используется для установки и сброса других сокращённых свойств. Каждое свойство позволяет делать что-нибудь одно, а вместе они дают нам отличный контроль над тем, как применять фоновые изображения к любому элементу в HTML.

Кроме того, теперь, помимо основных свойств для фона, есть и дополнительные свойства, которые позволяют применять к фоновым изображениям эффекты наложения, похожие на эффекты, доступные в редакторах типа Photoshop — в частности, свойство background-blend-mode. Если вам интересно изучить всё о наложении в CSS, то можете прочитать об этом в этой статье.

Я надеюсь, что эта статья оказалась для вас полезной. Спасибо за чтение.

P.S. Это тоже может быть интересно:

size — свойство css :: руководство cssdot.ru

Свойство background-size позволяет указывать размеры фонового изображения, которые могут быть заданы в абсолютных величинах (cm, mm, in и т.д.), относительных (px, em и т.д.), или в процентах, по отношению к ширине и высоте элемента контейнера. Так как для элемента может быть указанно несколько фоновых картинок, то и с помощью данного свойства можно указать размеры для нескольких картинок — они последовательно перечисляются через запятую.  Масштабировать фоновое изображение возможно как с сохранением исходных пропорций, так и без них.

Допустимые значения

  • length{1,2} — задает размер фонового изображения в абсолютных величинах (cm, mm, in и т.д.) или относительных (px, em и т.д.). Если задано только одно значение, то второе вычисляется автоматически исходя из пропорций картинки. Первое значение отвечает за ширину картинки, второе — за высоту. Отрицательные значения запрещены.
  • percentage{1,2} — задает размер фонового изображения в процентах от ширины и/или высоты элемента контейнера. Если задано только одно значение, то второе вычисляется автоматически исходя из пропорций картинки. Первое значение отвечает за ширину картинки, второе — за высоту. Отрицательные значения запрещены.
  • auto{1,2} — задает размер фонового изображения равным исходному, в случае, если указаны обе величины auto, или просто auto; а если указан только для одной стороны картинки (25% auto), то размер вычисляется исходя из пропорций картинки. Первое значение отвечает за ширину картинки, второе — за высоту. 
  • cover — масштабирует картинку с сохранением пропорций по меньшей стороне, то есть так, чтобы фон с избытком покрывал блок-контейнер.
  • contain — масштабирует картинку с сохранением пропорций по большей стороне, то есть так, чтобы блок-контейнер с избытком покрывал фон.

Примечания

Это свойство описанно в CSS3 модуле CSS Backgrounds and Borders Module Level 3.

Примеры использования

 

Свойство background-size определено в спецификации CSS 3 модуль Backgrounds and Borders Level 3 (фон и рамки, уровень 3), применяется к всем элементам, и действует на всех визуальные носителях, его значение не наследуется от родительского элемента в иерархии документа, и по умолчанию принимает значение auto. На данный момент свойство поддерживается во всех основных браузерах.

Смотри также:

  • -o-background-size — Размер фонового изображения, или его масштаб относительно элемента-контейнера.
  • -moz-background-size — Размер фонового изображения, или его масштаб относительно элемента-контейнера.
  • -webkit-background-size — Размер фонового изображения, или его масштаб относительно элемента-контейнера.

Краткое описание

Размер фонового изображения, или его масштаб относительно элемента-контейнера.

Синтаксис:

[ <length> | <percentage> | auto ]{1,2} | cover | contain [, [ <length> | <percentage> | auto ]{1,2} | cover | contain]*

По умолчанию:

auto

Применяется к:

всем элементам

Наследование:
не наследуется
Тип носителя:

визуальные

Объектная модель документа (DOM):

[элемент].style.backgroundSize


Кроссбраузерная совместимость

Internet Explorer
Firefox
2.03.03.53.64.05.06.07.08.09.010.011.012.013.0
++++++++++
Chrome
1.02.03.04.15.06.07.08.09.010.011.012.013.014.015.016.017.018.019.020.0
+++++++++++++++++
Safari
1.01.11.21.32.03.03.24.05.0
+
Opera
8.59.29.59.610.110.510.611.011.111.511.6
+++++

Увеличьте размер этого фона, пожалуйста! — Апартаменты A List Apart

В мире рекламы, стремящемся использовать каждый дюйм среды для восприятия бренда или продукта, становится все более популярным разрабатывать веб-сайты с полнофункциональным фоном для браузера. Используя CSS, этого можно легко достичь. Просто поместите огромное фоновое изображение на страницу с одной строкой кода (строки с пометкой « — Ред. »):

Продолжение статьи ниже

  body {
  фон: # 000 url (myBackground_1280x960.jpg) »
центральный центр фиксированный без повтора;
}  

В первом примере показано центрированное фоновое изображение размером 1280 на 960 пикселей, закрепленное за областью просмотра (оно не прокручивается вместе с документом).

Но какой размер изображения будет достаточно большим? Мониторы и операционные системы быстро развивались, и в результате появился широкий диапазон доступных разрешений экрана. Самые популярные сегодня разрешения — 1024×768 пикселей, 1280×800 пикселей, 1280×1024 пикселей и 1440×900 пикселей. Однако с появлением экранов высокой четкости (1920×1080 пикселей) и профессиональных дисплеев, поддерживающих разрешение до 2560×1600 пикселей, возможно практически все.

Также есть основания для более низких разрешений. Многие люди изменяют размер окна браузера, чтобы заполнить часть экрана, в то время как ряд современных экранов поддерживает только разрешение 800×600 пикселей. И это оставляет множество карманных компьютеров с более низкими характеристиками.

Вместо использования одного фиксированного размера фона лучшим решением было бы масштабировать изображение, чтобы оно соответствовало разным размерам окна. К сожалению, в CSS 2.1 нет средств масштабирования фоновых изображений.

Есть несколько обходных путей, однако все они полагаются на элемент HTML img (вместо фона CSS). Они также используют абсолютное позиционирование для слоев и таблиц или сценариев, чтобы разрешить изменение размера. Кроме того, не все эти методы сохраняют пропорции изображения, что приводит к нереалистично растянутому фону.

CSS3 фоны спешат на помощь # section2

Уровень 3 модуля W3C CSS Background and Borders Module (в настоящее время — рабочий проект) определяет свойство background-size , которое соответствует нашим требованиям.Интересные значения (если ссылаться на спецификации W3C):

.

содержат Масштабировать изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до максимального размера, чтобы и его ширина, и его высота могли уместиться внутри области позиционирования фона.

cover Масштабируйте изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до наименьшего размера, чтобы и его ширина, и его высота могли полностью покрывать область позиционирования фона.

Содержит всегда помещается на все изображение в пределах вашего окна просмотра, оставляя непрозрачные границы либо на сверху-снизу , либо на слева-справа , если соотношение фонового изображения и окна браузера не совпадает.Во втором примере мы расширили код из первого примера, установив для свойства background-size значение contain .

Обложка всегда заполняет окно браузера, отрезая при этом волосы или уши, что я лично предпочитаю в большинстве случаев. Вы можете контролировать выравнивание изображения в области просмотра с помощью свойства background-position . В третьем примере мы снова расширили первый пример, на этот раз установив для свойства background-size значение cover .

Чтобы включить масштабирование фона, добавьте в таблицу стилей следующие объявления:

  body {
  фон: # 000 url (myBackground_1280x960.jpg) »
центральный центр фиксированный без повтора;
  -moz-background-size: обложка;
  размер фона: обложка;
} 
 

Свойство background-size уже поддерживается Firefox 3.6 (с использованием префикса -moz ; Firefox 4 будет использовать обычное свойство CSS3), Chrome 5, Safari 5 и Opera 10.54; и он будет включен в Internet Explorer 9 (он уже доступен в Preview 3).Старые версии Webkit и Opera уже поддерживают свойство background-size , однако эти реализации основаны на предыдущем проекте, который не включал ключевые слова , содержащие , и , охватывающие .

Обратной стороной этого метода является отсутствие свойства фона для установки минимальной ширины или высоты. Если изменить размер окна браузера до очень маленькой ширины или высоты, фоновое изображение изменится до очень маленького размера, что часто является нежелательным поведением.

Добавление медиа-запросов CSS3 в микс # section3

Модуль W3C CSS3 Media Queries (рекомендуемый кандидат) определяет условные правила, которые применяются только в определенных диапазонах ширины или высоты. Это позволяет нам реализовать масштабирование фона с минимальной ширины и высоты и так далее. Медиа-запросы поддерживаются Firefox 3.5, Chrome, Safari 3 и Opera 7, а также будут включены в Internet Explorer 9.

Добавляя следующие правила стиля, мы сообщаем браузеру, что не хотим, чтобы фоновое изображение масштабировалось меньше 1024 × 768 пикселей:

  body {
  фон: # 000 url (myBackground_1280x960.jpg) »
центральный центр фиксированный без повтора;
  -moz-background-size: обложка;
  размер фона: обложка;
} @media only all and (max-width: 1024px) и (max-height: 768px) {
  тело {
    -moz-background-size: 1024px 768px;
    размер фона: 1024px 768px;
  }
} 
 

Обратите внимание, что разрешение 1024x768 пикселей соответствует соотношению сторон фонового изображения (1280x960 пикселей). При использовании другого соотношения вы получите внезапные скачки масштабирования при изменении размера окна браузера.

В наших последних примерах, четвертом и пятом, мы добавили правило @media , чтобы наше фоновое изображение не масштабировалось меньше 1024 на 768 пикселей.Пример 5 показывает, что, установив для свойства background-position значение left-bottom вместо center-center , мы можем контролировать способ выравнивания фонового изображения в области просмотра.

Пересмотр старых методов # section4

Это захватывающие времена для веб-разработчиков, когда все производители браузеров усердно работают над внедрением новых технологий, таких как HTML5 и CSS3. В результате пришло время пересмотреть старые методы, чтобы увидеть, как то же самое можно делать более разумными и чистыми способами.Хотя циклы обновления Firefox, Chrome, Safari и Opera относительно короткие, будет интересно посмотреть, как быстро люди охватят Internet Explorer 9, так что мы можем начать использовать многие из этих новых методов в ближайшее время в больших масштабах.

Оптимизация фоновых изображений CSS с помощью медиа-запросов

• Обновлено

Появляется в: Быстрое время загрузки

Многие сайты запрашивают большие ресурсы, такие как изображения, которые не оптимизированы для определенных экранов, и отправлять большие файлы CSS, содержащие стили, которые некоторые устройства никогда не будут использовать.Использование медиа-запросов - популярный метод доставки адаптированных таблиц стилей и ресурсов на разные экраны для уменьшения объема данных, передаваемых пользователям, и повышения производительности загрузки страниц. В этом руководстве показано, как использовать медиа-запросы для отправки изображений, размер которых не превышает необходимого, метод, широко известный как отзывчивых изображений .

Предварительные требования #

В этом руководстве предполагается, что вы знакомы с Chrome DevTools. При желании вы можете использовать DevTools другого браузера.Вам просто нужно сопоставить снимки экрана Chrome DevTools в этом руководстве с соответствующими функциями в выбранном вами браузере.

Знакомство с адаптивными фоновыми изображениями #

Сначала проанализируйте сетевой трафик неоптимизированной демонстрации:

  1. Откройте неоптимизированную демонстрацию на новой вкладке Chrome.
  2. Нажмите Control + Shift + J (или Command + Option + J на Mac), чтобы открыть DevTools.
  3. Щелкните вкладку Сеть .
  4. Обновите страницу.

Вы увидите, что единственное запрошенное изображение - это background-desktop.jpg , размер которого составляет 1006KB :

Измените размер окна браузера и обратите внимание, что в сетевом журнале не отображаются новые запросы, сделанные страницей. Это означает, что для всех размеров экрана используется один и тот же фон изображения.

Вы можете увидеть стили, управляющие фоновым изображением, в style.css:

  body {
background-position: center center;
background-attachment: исправлено;
фон-повтор: без повтора; размер фона: обложка;
background-image: url (images / background-desktop.jpg);
}

Вот значение каждого из используемых свойств:

  • background-position: center center : центрировать изображение по вертикали и горизонтали.
  • background-repeat: no-repeat : показать изображение только один раз.
  • background-attachment: fixed : Избегайте прокрутки фонового изображения.
  • background-size: cover : Измените размер изображения, чтобы покрыть весь контейнер.
  • background-image: url (images / background-desktop.jpg) : URL-адрес изображения.

В сочетании эти стили говорят браузеру адаптировать фоновое изображение к разной высоте и ширине экрана. Это первый шаг к созданию отзывчивого фона.

Использование одного фонового изображения для всех размеров экрана имеет некоторые ограничения:

  • Отправляется одинаковое количество байтов, независимо от размера экрана, даже если для некоторых устройств, таких как телефоны, меньший и более легкий фон изображения будет выглядят так же хорошо.В общем, вы хотите отправить как можно меньшее изображение, которое по-прежнему хорошо выглядит на экране пользователя, чтобы повысить производительность и сохранить пользовательские данные.
  • На небольших устройствах изображение будет растянуто или обрезано, чтобы покрыть весь экран, потенциально скрывая важные части фона для пользователей.

В следующем разделе вы узнаете, как применить оптимизацию для загрузки различных фоновых изображений в зависимости от устройства пользователя.

Использование медиазапросов - распространенный метод объявления таблиц стилей, которые будут применяться только к определенным типам носителей или устройств.Они реализуются с помощью правил @media, которые позволяют вам определять набор точек останова, в которых определены определенные стили. Когда выполняются условия, определенные правилом @media (например, определенная ширина экрана), будет применена группа стилей, определенных внутри точки останова.

Следующие шаги можно использовать для применения медиа-запросов к сайту, чтобы использовать разные изображения, в зависимости от максимальной ширины устройства, запрашивающего страницу.

  • В стиле .css удалить строку, содержащую фоновое изображение URL:
  body {
background-position: center center;
background-attachment: исправлено;
фон-повтор: без повтора; размер фона: обложка;
фоновое изображение: URL (images / background-desktop.jpg);
}
  • Затем создайте точку останова для каждой ширины экрана на основе общих размеров в пикселях, которые обычно имеют экраны мобильных устройств, планшетов и настольных компьютеров:

Для мобильных устройств:

  @media (max-width : 480px) {
body {
background-image: url (images / background-mobile.jpg);
}
}

Для планшетов:

  @media (min-width: 481px) и (max-width: 1024px) {
body {
background-image: url (images / background-tablet.jpg);
}
}

Для настольных устройств:

  @media (min-width: 1025px) {
body {
background-image: url (images / background-desktop.jpg);
}
}

Откройте оптимизированную версию style.css в своем браузере, чтобы увидеть внесенные изменения.

Изображения, используемые в оптимизированной демонстрации, уже изменены, чтобы соответствовать разным размерам экрана.Показывать, как изменять размер изображений, выходит за рамки этого руководства, но если вы хотите узнать больше об этом, руководство по обслуживанию адаптивных изображений охватывает некоторые полезные инструменты, такие как пакет Sharp npm и интерфейс командной строки ImageMagick.

Измерение для разных устройств #

Затем визуализируйте получившийся сайт на экранах разных размеров и на смоделированных мобильных устройствах:

  1. Откройте оптимизированный сайт на новой вкладке Chrome.
  2. Сделайте область просмотра узкой (менее 480 пикселей ).
  3. Нажмите Control + Shift + J (или Command + Option + J на Mac), чтобы открыть DevTools.
  4. Щелкните вкладку Сеть .
  5. Обновите страницу. Обратите внимание, как запрашивалось изображение background-mobile.jpg .
  6. Расширьте область просмотра. Как только он станет шире 480px , обратите внимание, что запрашивается background-tablet.jpg . Как только он станет шире 1025px , обратите внимание, что запрашивается background-desktop.jpg .

При изменении ширины экрана браузера запрашиваются новые изображения.

В частности, когда ширина ниже значения, определенного в мобильной точке останова (480 пикселей), вы увидите следующий сетевой журнал:

Размер нового мобильного фона на на 67% меньше, чем у рабочего стола.

Сводка #

В этом руководстве вы научились применять медиа-запросы для запроса фоновых изображений, адаптированных к определенным размерам экрана, и экономии байтов при доступе к сайту на небольших устройствах, например мобильных телефонах.Вы использовали правило @media для реализации адаптивного фона. Этот метод широко поддерживается всеми браузерами. Новая функция CSS: image-set (), может использоваться для той же цели с меньшим количеством строк кода. На момент написания этой статьи эта функция поддерживается не во всех браузерах, но вы, возможно, захотите следить за тем, как развивается принятие, поскольку она может представлять интересную альтернативу этому методу.

Последнее обновление: Улучшить статью

Фоновые изображения заголовков - оптимальный размер и расположение

Опубликовано в истории и помечены как header, image.

Эта статья включает некоторую общую информацию об оптимальном размере изображения для фоновых изображений в разделе заголовка темы Story, а также некоторые общие советы по размещению изображений в зависимости от того, как вы хотите их отображать.

В разделе заголовка по умолчанию отображаются фоновые изображения с эффектом параллакса, охватывающие всю видимую область элемента. В зависимости от текущего размера экрана изображение будет отображаться по-разному на каждом экране / устройстве, поэтому нет определенного оптимального соотношения для изображений, однако рекомендуется использовать изображения размером около 1000 пикселей и не более 1500 пикселей по размеру, чтобы страница загружалась быстрее.

1. Эффект параллакса

В зависимости от изображения и соотношения сторон экрана из-за эффекта параллакса фоновые изображения иногда могут выглядеть немного увеличенными - это потому, что, когда фиксированная позиция установлена ​​на стиль фона, фоновое изображение покрывает всю область экрана вместо видимого элемента. площадь.

Вот скриншот, который лучше иллюстрирует это:

Первый пример показывает, как выглядит фоновое изображение с эффектом параллакса, а второй показывает, как на самом деле позиционируется фоновое изображение.

Отключить эффект параллакса

Отключение эффекта параллакса приведет к изменению размера фонового изображения так, что оно будет покрывать только область заголовка, а не весь экран. Вот пример того, как будет выглядеть изображение выше, когда эффект параллакса отключен:

Второе изображение показывает, как на самом деле позиционируется изображение - как вы можете видеть, оно покрывает только область заголовка, расположенную в центре.

Вы можете отключить фоновый эффект параллакса для фоновых изображений заголовка в разделе Story Options »Header Settings» General »« Включить эффекты параллакса заголовка ».

2. Позиционирование изображения

Как видно из приведенного выше примера, изображение по умолчанию будет центрировано в видимой области. Если вы хотите применить определенное положение к изображению, например, расположите изображение внизу:

Вы можете сделать это с помощью настройки CSS - просто изменив свойство background-position элемента. Например, чтобы применить нижнее вертикальное выравнивание, но сохранить горизонтальное выравнивание по центру, вы можете использовать следующий фрагмент CSS:

.header-wrapper> .full-bg-image {
background-position: по центру внизу;
} 

Вы можете добавить фрагмент в Story Options -> Typography & Styles -> Additional Styles section.

Подробнее о доступном свойстве положения фона и доступных параметрах можно прочитать здесь. Короче говоря, первое значение устанавливает горизонтальное выравнивание - вы можете выбирать между слева , по центру и справа , а второй вариант устанавливает вертикальное выравнивание - вы можете выбирать между верхним , центром и низом .

Примечание: Обратите внимание, что когда включен эффект параллакса, позиция будет применяться в соответствии с окном, а не в области заголовка, поэтому, если вам нужно расположить изображение в соответствии с видимой областью заголовка, у вас будет чтобы отключить эффекты параллакса, как описано в разделе 1. выше.

Если вы хотите применить приведенный выше фрагмент CSS только к одной странице, ознакомьтесь с этой статьей, где мы описали, как это можно сделать.

3. Отображение полного изображения без скрытых частей

Фоновые изображения заголовка предназначены для покрытия области заголовка, поэтому они автоматически регулируют свой размер, чтобы покрыть всю область. Однако в некоторых случаях вам может потребоваться полностью отобразить изображение без каких-либо скрытых частей, и это можно сделать, установив размер фонового изображения, который должен содержать. Вот пример того, как это будет выглядеть:

Чтобы применить этот стиль к фоновым изображениям заголовка, добавьте следующий фрагмент в раздел Story Options -> Typography & Styles -> Additional Styles :

.header-wrapper> .full-bg-image {
размер фона: содержать;
фон-повтор: без повторения;
} 

Если вы хотите изменить положение изображения по умолчанию (например, расположить его слева), вы можете следовать инструкциям в разделе 2 выше.

Если вы хотите применить приведенный выше фрагмент CSS только к одной странице, ознакомьтесь с этой статьей, где мы описали, как это можно сделать.

Было ли это полезно? 3 1

фоновых изображений электронной почты: как удивить подписчиков (+ код)

Электронные письма могут казаться немного предсказуемыми с изображением здесь, блоком текста там ... Один из способов оживить впечатления подписчиков? Фоновые изображения.Они неожиданны и добавляют новое измерение вашему дизайну, делая ваши электронные письма «популярными». Когда все сделано хорошо, ваша электронная почта выглядит как миллион долларов, но ее невероятно легко осуществить.

Продолжайте читать для:

Что такое фоновые изображения? (А в чем смысл?)

Фоновые изображения - это изображения, которые применяются к фону или позади элемента. Вместо того, чтобы быть центральным элементом электронного письма, как изображение героя, они чаще тонкие и дополняют другой контент в кампании.

Основным преимуществом использования фоновых изображений является то, что они позволяют размещать поверх них дополнительный HTML-контент. В отличие от других изображений, где в этом пространстве может существовать только само изображение, фоновые изображения предоставляют возможности наложения слоев, поэтому вы можете иметь дополнительные изображения, текст или призывы к действию (CTA), существующие в том же пространстве.

Использование живого HTML-текста поверх фонового изображения вместо того, чтобы включать этот текст как часть изображения, означает, что ваше сообщение будет читаемым, когда изображения отключены, что делает это отличным методом для создания более удобных и доступных HTML-сообщений электронной почты.

Фоновые изображения не только помогают создавать кампании, которые улучшают восприятие чтения, но и предлагают множество возможностей дизайна, выделяя вашу кампанию среди конкурентов.

Креативные способы, которыми бренды используют фоновые изображения

Миро разместил фоновое изображение, содержащее фигуры, позади их раздела, обратив внимание на основной заголовок и сообщение электронной почты, которые наложены с использованием живого текста.

Источник: Really Good Emails

Uplers использовал фоновое изображение, чтобы выделить скидку на свои услуги, с изображением купона, помещенным за кодом купона.

Источник: Really Good Emails

Figma добавила тонкий повторяющийся фоновый узор в тело этого письма, знакомя нас с их новым продуктом в виде белой доски. Их узор перекликается с фоном продукта.

Просмотрите это письмо в Litmus Builder

Chipotle разместил гигантское фоновое изображение позади этого впечатляющего гигантского героя и области тела, включая фотографию продукта и узор из линий. Поверх этого изображения у них есть анимированный GIF с прозрачным фоном и живой текст в области основного текста.

Источник: Really Good Emails

. Анимированные GIF-файлы также можно использовать в качестве фоновых изображений, как в этом примере из Adobe Stock , рекламируя праздничные коллекции с основным контентом, включая живой текст и кнопку с призывом к действию, размещенную поверх анимированного фона.

Источник: Really Good Emails

Рекомендации по дизайну

Размышляя о внедрении фоновых изображений, стоит принять во внимание некоторые конструктивные особенности.

Контраст

Чтобы все читатели понимали ценность контента, наложенного на фоновые изображения, важно помнить о контрастах.Относитесь к изображению так же, как к однотонному цвету, и сравните цвета изображения с цветами содержимого.

Если вы разрабатываете с использованием Figma, вы можете добавить плагины, такие как Color Blind и Contrast, чтобы увидеть, соответствуете ли вы рекомендациям по обеспечению доступности веб-контента (WCAG). Существует также ряд веб-приложений, например, средство проверки контраста WebAim, где вы можете тестировать цвета в своих проектах.

Простота

Еще один способ обеспечить удобочитаемость - упростить задачу.Занятый фон может затруднить восприятие любого живого текста, который вы размещаете на своем изображении. Поэтому часто бывает полезно рассматривать фоновое изображение как улучшение, а не функцию.

Запас сплошного цвета

Поскольку не все почтовые клиенты поддерживают фоновые изображения, создайте сплошной резервный вариант. Подписчики, использующие почтовые клиенты, которые не поддерживают ваши изображения, могут по-прежнему пользоваться сплошным цветом. Обязательно выберите запасной цвет, который соответствует вашему дизайну и хорошо контрастирует с его элементами переднего плана.

Как кодировать фоновые изображения в электронном письме

Прежде чем я перейду к коду, давайте посмотрим, какие клиенты будут отображать фоновые стили CSS, а какие нуждаются в помощи запасного варианта VML.

Хорошие новости: Улучшена поддержка встроенного фонового CSS, теперь клиенты веб-почты полностью поддерживают этот метод, а это означает, что атрибут HTML фона больше не требуется.

Плохая новость: К сожалению, Почта Windows 10 не любит фоновые изображения.Он не отображает встроенный CSS или устаревший атрибут фона HTML. А применение VML вызовет проблемы с рендерингом с сообщением об ошибке «изображение не отображается».

Если вас беспокоит опыт, который получают подписчики Windows 10 Mail, рассмотрите возможность исключения VML. Это гарантирует, что резервные цвета фона предоставят вашей аудитории Microsoft Outlook Suite отличные возможности для чтения электронной почты без дополнительных украшений.

Почтовый клиент для поддержки фоновых изображений

Почтовый клиент

Использование встроенного CSS

Использование VML

Apple Mail 14

Office 365 (Mac)

Office 365 (Windows)

Outlook 2016 (macOS 10.12,6)

Outlook 2013, 2016, 2019 (Windows 10)

Почта Windows 10

Приложение Gmail (Android 10)

Приложение Gmail (iOS 13.4.1)

Outlook (Android 7.0)

Outlook (iOS 12.0)

Samsung Mail (Android 7.0)

iPad 11 Air (Gen 4 iOS 14.2)

iPhone 12 (iOS 14.2)

Почта AOL (Edge)

Gmail (Chrome)

Office 365

Outlook.com

Yahoo! Почта

Какие почтовые клиенты используют ваши подписчики?

Взгляните на свою долю рынка почтовых клиентов с помощью Litmus Email Analytics. Посмотрите, для каких почтовых клиентов вам нужно оптимизировать фоновые изображения.(Подсказка: если у Windows 10 Mail низкий уровень заряда, не переживайте.)

Узнать больше →

Теперь, когда мы разобрались с этим, давайте поговорим о коде!

Одна из забавных вещей в использовании фоновых изображений в ваших электронных письмах заключается в том, что есть несколько способов добиться этого. Вы можете заполнить небольшой раздел или закрыть тело письма, использовать одно изображение или повторяющийся узор, и вы можете переключать фоновые изображения в зависимости от того, находится ли ваш читатель на настольном компьютере, мобильном устройстве, в светлом режиме, темном режиме или даже когда они нависают над вашим изображением.

Для каждого метода нужен свой подход, поэтому давайте рассмотрим лучшие способы их кодирования.

Заданное по ширине или фиксированное фоновое изображение

При применении фоновых изображений всегда лучше добавлять код в ячейку содержащей его таблицы. Применение к любому другому элементу HTML, такому как

или , вряд ли получит поддержку со стороны некоторых почтовых клиентов. Вот как это должно выглядеть:

Пропорциональное изменение размера изображений с сохранением соотношения сторон • PQINA

Иногда изображения слишком большие для отображения на веб-странице.Чтобы это исправить, нам не нужен JavaScript. Мы можем пропорционально изменять размер изображений с помощью тегов изображений HTML или стилей фона CSS. Давайте посмотрим на различные варианты изменения размера изображений, при этом сохраняя их соотношение сторон под контролем.

Наш первый выбор - установить только одно свойство размера: ширина или высота , браузер автоматически вычислит размер другого края.

Представьте, что у нас есть изображение кошки с соотношением сторон 4: 3 , другими словами, его размеры составляют 4032 × 3024 , это много кошки.

Если мы хотим, чтобы он был немного меньше, мы можем установить ширину на 240 , тогда браузер автоматически рассчитает высоту, равную 180 .

    

Есть нюанс. Изображения доступны не сразу.

Браузер отобразит страницу, дождется загрузки источника изображения, а затем обновит высоту элемента изображения. Это, скорее всего, приведет к тому, что браузер дважды отобразит страницу, потому что после обновления высоты изображения все элементы под изображением сдвигаются вниз.

Это плохие новости для производительности вашей страницы.

Лучше всего установить желаемый размер, чтобы браузер мог зарезервировать место.

    

Но что, если мы не знаем соотношение сторон изображения и получаем квадратное изображение кошки? Разве нашу кошку не раздавят? Да-да, бедный кот.

Но не бойтесь, мы можем исправить это с помощью CSS.

  img {
  соответствие объекта: содержать;
}  

Pass cover вместо содержит , чтобы указать браузеру заполнить весь тег изображения кошачьими пикселями.

  img {
  объект подходит: крышка;
}  

Что, если наше изображение нужно ограничить шириной родительского элемента? В этой ситуации мы можем использовать CSS max-width или width , чтобы соответствовать изображению.

Используйте max-width: 100% , чтобы ограничить размер, но разрешить меньшие размеры изображения, используйте width: 100% , чтобы всегда масштабировать изображение по ширине родительского контейнера.

  
  div {
  ширина: 240 пикселей;
  граница: сплошной розовый 1px;
}

img {
  максимальная ширина: 100%;
  соответствие объекта: содержать;
}  

Мы можем дополнительно использовать CSS, чтобы исправить соотношение сторон изображения, узнать больше о представлении изображений с определенным соотношением сторон.

Изменение размера фоновых изображений CSS

По умолчанию background-image будет повторяться на фоне элемента, если он меньше, если он больше, он не масштабируется, но части изображения не будут видны. В приведенном ниже примере нижняя и правая части нашего кота не отображаются.

  
  div {
  фон: url ("cat.jpeg") без повтора;
  граница: сплошной розовый 1px;
}  

Мы можем исправить это, установив свойство background-size .Чтобы изображение поместилось внутри элемента, мы используем значение , содержащее . Браузер поместит изображение внутри границ элемента и пропорционально масштабирует его.

  
  div {
  фон: url ("cat.jpeg") без повтора;
  размер фона: содержать;
  background-position: center;
  граница: сплошной розовый 1px;
}  

Подобно object-fit , мы также можем использовать значение cover , чтобы указать браузеру покрыть элемент пикселями кошки.Как вы можете видеть ниже, это приведет к его уменьшению ровно настолько, чтобы соответствовать вертикальному пространству, теперь только правая сторона нашего кота обрезается.

  
  div {
  фон: url ("cat.jpeg") без повтора;
  размер фона: обложка;
  граница: сплошной розовый 1px;
}  

Мы также можем предоставить единственное значение ширины для свойства background-size . Как и в случае с элементом img , высота будет рассчитана автоматически.

  
  div {
  фон: url ("cat.jpeg") без повтора;
  размер фона: 200 пикселей;
  граница: сплошной розовый 1px;
}  

Вот и все!

Я использую Twitter, чтобы делиться новыми советами и приемами веб-разработки, так что подпишитесь на меня, если вам это интересно и вы хотите узнать больше.

Загрузить фоновые изображения в зависимости от размера экрана

TL; DR

: если все, что вас интересует, - это код для выполнения этой работы, перейдите в этот раздел и возьмите фрагмент кода.

Адаптивный фон Дисплей не отвечает Фон Загрузка

Установка для свойства фона 'background-size' значения 'cover' позволяет нам гарантировать, что он полностью покрывает область фона на экране любого размера. Но поскольку одно и то же изображение загружается независимо от размера экрана, этот параметр влияет только на отображение изображения, а не на загруженное изображение. В результате у вас может быть фоновое изображение размером 1400 пикселей, загруженное на мобильный экран Google Nexus 4.

  
html {
  фон: url ('large_bg.jpg') центральный центр без повтора исправлен;
  размер фона: обложка;
  -webkit-background-size: обложка;
  -o-background-size: обложка;
  -moz-background-size: обложка;
}
  

Загрузка адаптивного фонового изображения

Использование медиа-запросов позволяет нам указывать разные фоновые изображения для разных размеров экрана исключительно с помощью CSS. Таким образом, браузер загружает фоновое изображение, размер которого соответствует размеру экрана.

  
@media screen и (max-width: 480 пикселей) {
  html {
    фон: url ('small_bg.jpg') центральный центр без повтора исправлен;
  }
}
@media screen и (min-width: 481px) и (max-width: 900px) {
  html {
    фон: url ('med_bg.jpg') центральный центр без повтора исправлен;
  }
}
@media screen и (min-width: 901px) {
  html {
    фон: url ('large_bg.jpg') центральный центр без повтора исправлен;
  }
}
html {
  размер фона: обложка;
  -webkit-background-size: обложка;
  -o-background-size: обложка;
  -moz-background-size: обложка;
}
  

Запретить загрузку фона скрытых элементов

В случае, если вы хотите убедиться, что фоновое изображение для элемента, который скрыт на определенном экране, не загружается, просто используйте медиа-запросы CSS, чтобы установить для фона значение «none» для этого размера экрана.

  
@media screen и (max-width: 480 пикселей) {
  html {
    фон: нет;
  }
}  

Если вы хотите убедиться, что вы не загружаете скрытые изображения (загружаемые через тег ), ознакомьтесь с этим руководством.



Об авторе

Пунит Сетхи работает с крупными сайтами электронной коммерции и B2C над повышением скорости и масштабируемости их сайтов. Он часто пишет здесь твиты.

Как подделать адаптивное фоновое изображение половинной ширины

Недавно я столкнулся с дизайном, в котором требовались фоновые изображения в столбцах половинной ширины, но который также должен был покрывать поля вплоть до края экрана (т. Е. за пределами столбца сетки половинной ширины), и я обнаружил, что лучший способ сделать это - подделать его с помощью процентного фона , позиция .

Столбец справа занимает 7 из 12 столбцов сетки в контейнере максимальной ширины 1200 пикселей.Фоновое изображение должно занимать всю правую часть раздела независимо от ширины экрана.

Проблема с попыткой добавить фоновое изображение, покрывающее половину страницы, особенно если вы используете сетку, заключается в том, что вам нужно, чтобы фон выходил за пределы контейнера максимальной ширины на поля. Вы не можете установить размер фона в процентах, потому что вам нужно, чтобы высота и ширина вычислялись автоматически с помощью свойства обложки. Вместо этого, самый простой способ сделать это, не отказываясь от вашей системы сеток, - это запечь пустое пространство в вашем изображении и добавить фон в полноширинный контейнер для вашего контента.Затем установите для фона и положение значение в процентах, которое соответствует ширине столбца, который должен быть покрыт, и фон будет масштабироваться соответствующим образом.

Итак, в этом случае html выглядит примерно так: первый столбец имеет ширину пять из двенадцати столбцов сетки, а второй столбец - семь из двенадцати столбцов.

Столбцы вложены в контейнер максимальной ширины. Но все это упаковано в полноразмерный контейнер - и туда помещается фоновое изображение.Чтобы получить правильное размещение, я знаю, что граница между двумя столбцами находится между пятью столбцами слева и семью столбцами справа. 5/12 = 41,67. Так что установите положение фона на 41,67%, и все масштабируется.

На более узком экране

На большом экране

Может потребоваться небольшая настройка для очень больших или очень маленьких точек останова в зависимости от границ вашей системы сетки и того, сколько у вас свободы действий с дизайном. В моем случае все, что требовалось, - это небольшое отступление слева во втором столбце, чтобы облегчить небольшое изменение положения фона при изменении размера экрана.

.
Comments