Как растянуть фон на всю ширину окна?

Влад Мержевич

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
9.0+3.0+9.6+3.1+3.6+2.0+1.0+

Задача

Растянуть фоновую картинку на всю ширину окна браузера с помощью CSS3.

Решение

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

Пример 1. Растягиваемый фон

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Растягиваемый фон</title>
  <style>
   body {
    background: url(images/sun2.png) no-repeat;
    -moz-background-size: 100%; /* Firefox 3.6+ */
    -webkit-background-size: 100%; /* Safari 3.1+ и Chrome 4.0+ */
    -o-background-size: 100%; /* Opera 9.6+ */
    background-size: 100%; /* Современные браузеры */
   }
  </style>
 </head>
 <body>
 </body>
</html>

Результат данного примера показан на рис. 1.

Вид фона при уменьшенном размере окна

Рис. 1. Вид фона при уменьшенном размере окна

При увеличении размера окна браузера фон также начнёт расширяться, это приведет к ухудшению вида картинки (рис. 2).

Вид фона при увеличенном размере окна

Рис. 2. Вид фона при увеличенном размере окна


Fatal error: Uncaught Error: Failed opening required '/home/gooli/html.in.ua/www/footer.php' (include_path='.:/usr/local/pear/php82') in /home/gooli/html.in.ua/app/faq/kak-rastyanut-fon-na-vsyu-shirinu-okna.php:48 Stack trace: #0 {main} thrown in /home/gooli/html.in.ua/app/faq/kak-rastyanut-fon-na-vsyu-shirinu-okna.php on line 48