Html как сделать задний фон на всю страницу
Перейти к содержимому

Html как сделать задний фон на всю страницу

  • автор:

How to make full screen background in a web page

How to make an image as background for web page, regardless of the screen size displaying this web page? I want to display it properly. How?

10 Answers 10

its very simple use this css (replace image.jpg with your background image)

um why not just set an image to the bottom layer and forgo all the annoyances

str8's user avatar

Via jQuery plugins 😉

Use this CSS to make full screen backgound in a web page.

Muneeb Siddiqui's user avatar

Use the following code in your CSS

Arvind Shokal's user avatar

Make a div 100% wide and 100% high. Then set a background image.

A quick search for keywords background generator shows this CSS3 produced background pattern that’s dynamically created.

By keeping the image small and repeatable, you won’t have problems with it loading on mobile devices and the small image file-size takes care of memory concerns.

Here’s the markup for the head section:

If your going to use an image of something that should preserve aspect ratio, such as people or objects, then you don’t want 100% for width and height since that will stretch the image out of proportion. Instead check out this quick tutorial that shows different methods for applying background images using CSS.

Фон, который всегда растягивается на всю страницу

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

Подобный урок уже приводился на сайте RUSELLER.COM. Но с того момента прошло время и наступила пора обновить и расширить список используемых методов.

Вот требования к решению:

Заполнять изображением всю страницу без пробелов.

Масштабировать изображение, если нужно.

Сохранять пропорции изображения.

Изображение центрируется на странице.

Изображение не создает никаких полос прокрутки.

Кросс-браузерное решение по возможности.

Не использовать никаких сторонних технологий, например, Flash.

sourse

Удивительный, простой и прогрессивный метод CSS3

Задача легко решается с помощью CSS3 благодаря ставшему доступным свойству background-size . Мы используем элемент html (лучше, чем body , так как он всегда имеет, по крайней мере, высоту окна браузера). Устанавливаем фиксированные и центрированный фон для него, а затем настраиваем размер с помощью присваивания свойству background-size ключевого слова cover.

Opera 10+ (Opera 9.5 поддерживает свойство background-size, но без ключевых слов)

Техника с использованием только CSS. Часть #1.

Используем строчный элемент <img> , размеры которого можно менять в любом браузере. Устанавливаем свойство min-height , чтобы заполнить окно браузера вертикально, а свойству width присваиваем значение 100% для заполнения по горизонтали. Также устанавливаем свойство min-width равным ширине изображения, чтобы никогда оно не уменьшалось.

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

Любой версии нормального браузера: Safari / Chrome / Opera / Firefox.

IE 6: Не работает — но можно использовать какой-нибудь из трюков для позиционирования.

IE 7/8: В большинстве случаев работает, не центрирует маленькие изображения, но заполняет экран правильно.

Техника с использованием только CSS. Часть #2.

Другой способ решить задачу — поместить строчный элемент <img> на странице, зафиксировать его положение в левом верхнем углу и установить значение 100% для его свойств min-width и min-height , сохраняя коэффициент пропорциональности.

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

Safari / Chrome / Firefox (не тестировалось на всех версиях, но в последних работает прекрасно).

Opera (любая версия) и IE отказываются работать с данным способом (неправильное позиционирование изображения).

Используем jQuery

Идея очень проста, если коэффициент пропорциональности изображения (строчный элемент <img> будет использоваться как фон) сопоставляется с коэффициентом пропорциональности окна браузера. Если для изображения он меньше, то нужно присвоить только свойству изображения width значение 100%, и оно будет заполнять экран и по высоте и по ширине. А если больше, то присвоить только свойству изображения height значение 100%.

IE7+ (с заглушками, вероятно, будет работать и в IE6)

Во всех остальных браузерах.

Заключение

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

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: css-tricks.com/perfect-full-page-background-image/
Перевел: Сергей Фастунов
Урок создан: 14 Декабря 2010
Просмотров: 134855
Правила перепечатки

5 последних уроков рубрики «CSS»

Забавные эффекты для букв

Небольшой эффект с интерактивной анимацией букв.

Реализация забавных подсказок

Небольшой концепт забавных подсказок, которые реализованы на SVG и anime.js. Помимо особого стиля в примере реализована анимация и трансформация графических объектов.

Анимированные буквы

Эксперимент: анимированные SVG буквы на базе библиотеки anime.js.

Солнцезащитные очки от первого лица

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

Изображение фона на весь экран с помощью CSS

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

Но есть способ, жертвуя поддержкой IE8 и ниже, реализовать это всего лишь несколькими строчками CSS кода.

Свойство background-size

С помощью background-size можно масштабировать изображение по заданным размерам. Согласно документации этого свойства (ссылка на htmlbook) оно может принимать значения cover и contain .

  • cover — Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока.
  • contain — Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.

Всё, что нам нужно установить фоновое изображения для HTML:

Готово! Теперь изображение отображается на весь экран, даже при изменении размера окна браузера. Работает так же в IE9+.

background-size

The background-size CSS property sets the size of the element’s background image. The image can be left to its natural size, stretched, or constrained to fit the available space.

Try it

Spaces not covered by a background image are filled with the background-color property, and the background color will be visible behind background images that have transparency/translucency.

Syntax

The background-size property is specified in one of the following ways:

  • Using the keyword values contain or cover .
  • Using a width value only, in which case the height defaults to auto .
  • Using both a width and a height value, in which case the first sets the width and the second sets the height. Each value can be a <length> , a <percentage> , or auto .

To specify the size of multiple background images, separate the value for each one with a comma.

Values

Scales the image as large as possible within its container without cropping or stretching the image. If the container is larger than the image, this will result in image tiling, unless the background-repeat property is set to no-repeat .

Scales the image (while preserving its ratio) to the smallest possible size to fill the container (that is: both its height and width completely cover the container), leaving no empty space. If the proportions of the background differ from the element, the image is cropped either vertically or horizontally.

Scales the background image in the corresponding direction such that its intrinsic proportions are maintained.

Stretches the image in the corresponding dimension to the specified length. Negative values are not allowed.

Stretches the image in the corresponding dimension to the specified percentage of the background positioning area. The background positioning area is determined by the value of background-origin (by default, the padding box). However, if the background’s background-attachment value is fixed , the positioning area is instead the entire viewport. Negative values are not allowed.

Intrinsic dimensions and proportions

The computation of values depends on the image’s intrinsic dimensions (width and height) and intrinsic proportions (width-to-height ratio). These attributes are as follows:

  • A bitmap image (such as JPG) always has intrinsic dimensions and proportions.
  • A vector image (such as SVG) does not necessarily have intrinsic dimensions. If it has both horizontal and vertical intrinsic dimensions, it also has intrinsic proportions. If it has no dimensions or only one dimension, it may or may not have proportions.
  • CSS <gradient> s have no intrinsic dimensions or intrinsic proportions.
  • Background images created with the element() function use the intrinsic dimensions and proportions of the generating element.

Note: In Gecko, background images created using the element() function are currently treated as images with the dimensions of the element, or of the background positioning area if the element is SVG, with the corresponding intrinsic proportion. This is non-standard behavior.

Based on the intrinsic dimensions and proportions, the rendered size of the background image is computed as follows:

  • If both components of background-size are specified and are not auto : The background image is rendered at the specified size.
  • If the background-size is contain or cover : While preserving its intrinsic proportions, the image is rendered at the largest size contained within, or covering, the background positioning area. If the image has no intrinsic proportions, then it’s rendered at the size of the background positioning area.
  • If the background-size is auto or auto auto :
    • If the image has both horizontal and vertical intrinsic dimensions, it’s rendered at that size.
    • If the image has no intrinsic dimensions and has no intrinsic proportions, it’s rendered at the size of the background positioning area.
    • If the image has no intrinsic dimensions but has intrinsic proportions, it’s rendered as if contain had been specified instead.
    • If the image has only one intrinsic dimension and has intrinsic proportions, it’s rendered at the size corresponding to that one dimension. The other dimension is computed using the specified dimension and the intrinsic proportions.
    • If the image has only one intrinsic dimension but has no intrinsic proportions, it’s rendered using the specified dimension and the other dimension of the background positioning area.

    Note: SVG images have a preserveAspectRatio attribute that defaults to the equivalent of contain ; an explicit background-size causes preserveAspectRatio to be ignored.

    • If the image has intrinsic proportions, it’s stretched to the specified dimension. The unspecified dimension is computed using the specified dimension and the intrinsic proportions.
    • If the image has no intrinsic proportions, it’s stretched to the specified dimension. The unspecified dimension is computed using the image’s corresponding intrinsic dimension, if there is one. If there is no such intrinsic dimension, it becomes the corresponding dimension of the background positioning area.

    Note: Background sizing for vector images that lack intrinsic dimensions or proportions is not yet fully implemented in all browsers. Be careful about relying on the behavior described above, and test in multiple browsers to be sure the results are acceptable.

    Formal definition

    Initial value auto auto
    Applies to all elements. It also applies to ::first-letter and ::first-line .
    Inherited no
    Percentages relative to the background positioning area
    Computed value as specified, but with relative lengths converted into absolute lengths
    Animation type a repeatable list of

    Formal syntax

    Examples

    Tiling a large image

    Let’s consider a large image, a 2982×2808 Firefox logo image. We want to tile four copies of this image into a 300×300-pixel element. To do this, we can use a fixed background-size value of 150 pixels.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *