Подтвердить что ты не робот

Полноэкранный отзывчивый фоновый рисунок

Я очень новичок в Front-end development и Foundation.

Я пытаюсь получить <div class="main-header"> как полноэкранное изображение, которое быстро меняется.

Может ли кто-нибудь сказать мне, что я делаю неправильно? Он масштабируется правильно, но не показывает полное изображение. Я также хотел, чтобы <div class="large-6 large-offset-6 columns"> сидел над ним на мобильном устройстве - это возможно?

HTML:

<!-- MAIN HEADER -->
<div class="main-header">
   <div class="row">
     <div class="large-6 large-offset-6 columns">
       <h1 class="logo">BleepBleeps</h1>
       <h3>A family of little friends<br>that make parenting easier</h3>
     </div> <!-- END large-6 large-offset-6 columns -->
   </div><!-- END ROW -->
</div><!-- END MAIN-HEADER -->

CSS:

.main-header {
    background-image: url(../img/bb-background2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
}

h1.logo {
    text-indent: -9999px;
    height:115px;
    margin-top: 10%;
}
4b9b3361

Ответ 1

http://css-tricks.com/perfect-full-page-background-image/

//HTML
<img src="images/bg.jpg" id="bg" alt="">

//CSS
#bg {
  position: fixed; 
  top: 0; 
  left: 0; 

  /* Preserve aspet ratio */
  min-width: 100%;
  min-height: 100%;
}

ИЛИ

img.bg {
  /* Set rules to fill background */
  min-height: 100%;
  min-width: 1024px;

  /* Set up proportionate scaling */
  width: 100%;
  height: auto;

  /* Set up positioning */
  position: fixed;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1024px) { /* Specific to this particular image */
  img.bg {
    left: 50%;
    margin-left: -512px;   /* 50% */
  }
}

ИЛИ

//HTML
<img src="images/bg.jpg" id="bg" alt="">

//CSS
#bg { position: fixed; top: 0; left: 0; }
.bgwidth { width: 100%; }
.bgheight { height: 100%; }

//jQuery
$(window).load(function() {    

        var theWindow        = $(window),
            $bg              = $("#bg"),
            aspectRatio      = $bg.width() / $bg.height();

        function resizeBg() {

                if ( (theWindow.width() / theWindow.height()) < aspectRatio ) {
                    $bg
                        .removeClass()
                        .addClass('bgheight');
                } else {
                    $bg
                        .removeClass()
                        .addClass('bgwidth');
                }

        }

        theWindow.resize(resizeBg).trigger("resize");

});

Ответ 2

<style type="text/css">
html { 
  background: url(images/bg.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
</style>

Ответ 3

Один намек на решение "background-size: cover", вы должны поместить его после определения "background", иначе это не сработает, например, это не сработает:

html, body {
    height: 100%;
    background-size: cover;
    background:url("http://i.imgur.com/aZO5Kolb.jpg") no-repeat center center fixed;
}

http://jsfiddle.net/8XUjP/58/

Ответ 4

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

поэтому я лично предлагаю применить свойство background-image к тегу body.

body{
    width:100%;
    height: 100%;
    background-image: url("./images/bg.jpg");
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

Этот простой трюк решил мою проблему. это работает для большинства экранов больших/меньших размеров.

есть так много способов сделать это, я нашел это более простым с минимумом после эффектов

Ответ 5

У меня была такая же проблема с моим предыдущим сайтом EnGrip. Я пошел с этим вопросом. Но после нескольких испытаний, наконец, это сработало для меня:

background-size: cover;
background-repeat: no-repeat;
position: fixed;
background-attachment: scroll;
background-position: 50% 50%;
top: 0;
right: 0;
bottom: 0;
left: 0;
content: "";
z-index: 0;

чистое решение CSS. Здесь у меня нет никакого JS/JQuery. Даже новичок в этом развитии пользовательского интерфейса. Просто подумал, что я поделился бы рабочим решением, так как вчера прочитал эту тему.

Ответ 7

Backstretch

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

Все, что вам нужно сделать, это:

1. Включите библиотеку:

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-backstretch/2.0.4/jquery.backstretch.min.js"></script>

2. Вызвать метод:

$.backstretch("http://dl.dropbox.com/u/515046/www/garfield-interior.jpg");

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

Ответ 8

для полноэкранного отзывчивого фонового изображения

установить css height (высота: 100vh)

пример:

.main-header {
    background-image: url(../img/bb-background2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height:100vh;  /* responsive height */
}

Ответ 9

Я сделал эту функцию javascript: она фиксирует ваше фоновое изображение на ваш размер экрана в базе с самым значительным размером (ширина od height) без изменения соотношения сторон изображения.

<script language="Javascript">

function FixBackgroundToScreen()
{
    bgImg = new Image(); 
    bgImg.src = document.body.background;

    if ((bgImg.height / window.innerHeight) < (bgImg.width / window.innerWidth))
        document.body.style.backgroundSize = "auto 100%";
    else
        document.body.style.backgroundSize = "100% auto";
};    
</script>

Эта функция - единственное, что вам нужно. Он должен вызываться с событием window.onresize и событием body.onload. Изображение должно быть фоном-повторением: no-repeat; background-attachment: fixed;

<script language="Javascript">
window.onresize=function(){FixBackgroundToScreen();};
</script>

<body onload="FixBackgroundToScreen();">

Вы можете увидеть функцию на моем сайте www.andreamarulla.it

Извините за мой английский... Андреа; -)

Ответ 10

Простое полноэкранное и центрированное изображение https://jsfiddle.net/maestro888/3a9Lrmho

jQuery(function($) {
    function resizeImage() {
        $('.img-fullscreen').each(function () {
            var $imgWrp = $(this);

            $('img', this).each(function () {
                var imgW = $(this)[0].width,
                    imgH = $(this)[0].height;

                $(this).removeClass();

                $imgWrp.css({
                    width: $(window).width(),
                    height: $(window).height()
                });

                imgW / imgH < $(window).width() / $(window).height() ?
                    $(this).addClass('full-width') : $(this).addClass('full-height');
            });
        });
    }

    window.onload = function () {
        resizeImage();
    };

    window.onresize = function () {
        setTimeout(resizeImage, 300);
    };
 
    resizeImage();
});
/*
 * Hide scrollbars
 */

#wrapper {
    overflow: hidden;
}

/*
 * Basic styles
 */

.img-fullscreen {
    position: relative;
    overflow: hidden;
}

.img-fullscreen img {
    vertical-align: middle;
    position: absolute;
    display: table;
    margin: auto;
    height: auto;
    width: auto;
    bottom: -100%;
    right: -100%;
    left: -100%;
    top: -100%;
}

.img-fullscreen .full-width {
    width: 100%;
}

.img-fullscreen .full-height {
    height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div id="wrapper">
    <div class="img-fullscreen">
        <img src="https://static.pexels.com/photos/33688/delicate-arch-night-stars-landscape.jpg" alt=""/>
    </div>
</div>

Ответ 11

Вы также можете сделать секцию полного экрана без использования JavaScript, чистой css на основе реагирующего полноэкранного баннерного раздела, используя высоту: 100vh; в главном div div, здесь есть живой пример для этого

#bannersection {
    position: relative;
    display: table;
    width: 100%;
    background: rgba(99,214,250,1);
    height: 100vh;
}

https://www.htmllion.com/fullscreen-header-banner-section.html

Ответ 12

For the full-screen responsive background image cover

<div class="full-screen">

</div>

CSS

.full-screen{
    background-image: url("img_girl.jpg");
    height: 100%; 
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

Ответ 13

Используя этот код ниже:

.classname{
    background-image: url(images/paper.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

Надеюсь, что это работает. Спасибо

Ответ 14

Я бы сказал, в вашем файле макета дать

<div id="background"></div>

а затем в вашем CSS сделать

#background {
 position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background: image-url('background.png') no-repeat;
  background-size: cover;
}

И убедитесь, что фоновое изображение есть в вашем приложении /assets/images, а также измените

background: image-url('background.png') no-repeat;

'background.png' на ваш собственный фоновый рисунок.