Отзывчивые css фоновые изображения



У меня есть сайт (g-floors.eu) и я хочу сделать фон (в css я определил bg-изображение для контента) также отзывчивым. К сожалению, я действительно не знаю, как это сделать, за исключением одной вещи, о которой я могу думать, но это довольно обходной путь. Создание нескольких изображений, а затем с помощью css размер экрана, чтобы изменить изображения, но я хочу знать, если есть более практичный способ для достижения этой цели.



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



Ссылка:g-floors.eu



код у меня есть до сих пор (содержательной части)



#content   
{
background-image: url('../images/bg.png');
background-repeat: no-repeat;
position: relative;
width: 85%;
height: 610px;
margin-left: auto;
margin-right: auto;
}
682   17  

17 ответов:

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

background-image:url('../images/bg.png');
background-repeat:no-repeat;
background-size:contain;
background-position:center;

Не устанавливайте ширину, высоту или поля.

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

background-repeat:no-repeat;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
background-size:cover;
background-position:center;

попробуйте это :

background-image: url(_images/bg.png);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
background-size: cover;

CSS:

background-size: 100%;

Это должно сделать трюк! :)

вот Sass mixin для отзывчивого фонового изображения, которое я использую. Он работает для любого block элемент. Конечно же, то же самое может работать в простом CSS, вам просто нужно будет вычислить padding вручную.

@mixin responsive-bg-image($image-width, $image-height) {
  background-size: 100%;
  height: 0;
  padding-bottom: percentage($image-height / $image-width);
  display: block;
}


.my-element {
  background: url("images/my-image.png") no-repeat;

  // substitute for your image dimensions
  @include responsive-bg-image(204, 81);
}

Пример http://jsfiddle.net/XbEdW/1/

вот лучший способ, который я получил.

#content   {
    background-image:url('smiley.gif');
    background-repeat:no-repeat;
    background-size:cover;
}

проверить w3schools

более доступные варианты

background-size: auto|length|cover|contain|initial|inherit;

Это легко =)

body {
    background-image: url(http://domains.com/photo.jpeg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

посмотри демо jsFiddle

Я

#content {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center top;
}

, который работал очень хорошо.

отзывчивый сайт, добавив отступ в нижнюю высоту изображения / ширину x 100 = отступ-Нижний %:

http://www.outsidethebracket.com/responsive-web-design-fluid-background-images/


более сложный метод:

http://voormedia.com/blog/2012/11/responsive-background-images-with-fixed-or-fluid-aspect-ratios


попытаться изменить фон эквалайзер для Firefox сочетание клавиш Ctrl + M, чтобы увидеть волшебные хороший сценарий, я подумайте лучше один:

http://www.minimit.com/demos/fullscreen-backgrounds-with-centered-content

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

background-image:url('../images/bg.png');
background-repeat:no-repeat;
background-size:100% 100%;
background-position:center;

Это покажет все изображение независимо от размера экрана.

#container {
    background-image: url("../images/layout/bg.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 100vh;
    margin: 3px auto 0;
    position: relative;
}

вы можете использовать это. Я проверил и его работа 100% правильно:

background-image:url('../images/bg.png'); 
background-repeat:no-repeat;
background-size:100%;
background-position:center;

вы можете проверить свой сайт с отзывчивостью на этом симуляторе размера экрана: http://www.infobyip.com/testwebsiteresolution.php

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

Если вы хотите использовать форму изображения другого сайта / URL и не нравится: background-image:url('../images/bg.png'); //Эта структура должна использовать изображение с вашего собственного хостинга сервер. Тогда используйте вот так: background-image: url(http://173.254.28.15/~brettedm/wp-content/uploads/Brett-Edmonds-Photography-14.jpg) ;

наслаждайтесь :)

    <style> 
         * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

#res_img {
  background: url("https://s15.postimg.org/ve2qzi01n/image_slider_1.jpg");
  width: 100%;
  height: 500px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  border: 1px solid red;
}

@media screen and (min-width:300px) and (max-width:500px) {
  #res_img {
    width: 100%;
    height: 200px;
  }
}

    </style>

<div id="res_img">
</div>

всего две строки кода, он работает.

#content {
  background-image: url('../images/bg.png');
  background-size: cover;
}

адаптивный для квадратного отношения с jQuery

var Height = $(window).height();
var Width = $(window).width();
var HW = Width/Height;

if(HW<1){
      $(".background").css("background-size","auto 100%");
    }
    else if(HW>1){
      $(".background").css("background-size","100% auto");
    }
background:url("img/content-bg.jpg") no-repeat;
background-position:center; 
background-size:cover;

или

background-size:100%;

Я думаю, лучший способ сделать это:

body {
    font-family: Arial,Verdana,sans-serif;
    background:url("/images/image.jpg") no-repeat fixed bottom right transparent;
}

таким образом, нет необходимости делать ничего больше, и это довольно просто.

по крайней мере, это работает для меня.

Я надеюсь, что это помогает.

Comments

    Ничего не найдено.