web-dev-qa-db-ja.com

フルスクリーンのレスポンシブ背景画像

私はフロントエンド開発と財団に非常に新しいです。

<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%;
}
47
Tom Rogers

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%;
}

OR

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% */
  }
}

OR

//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");

});
86
Plummer
<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>
24
9pixle

「background-size:cover」ソリューションに関する1つのヒントは、「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/

7
cn123h

ローンチ前のサイトで同じ問題が発生しました 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の修正はありません。このUI開発は初めてです。昨日このスレッドを読んだので、実用的なソリューションを共有すると思いました。

5
Anil kumar

HTMLタグにスタイルを適用することは個人的にお勧めしません。後の開発のどこかにAfter Effectsがあるかもしれません。

そのため、bodyタグにbackground-imageプロパティを適用することを個人的にお勧めします。

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

この簡単なトリックは私の問題を解決しました。これは、画面の大/小のほとんどで機能します。

それを行うには非常に多くの方法がありますが、これは最小限のAfter Effectsでより簡単であることがわかりました

4
Pavan S

フルスクリーンのレスポンシブ背景画像用

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 */
}
3
MXLink

バックストレッチ

これを確認してください one-liner plugin これは背景画像をレスポンシブにスケーリングします。

あなたがする必要があるのは:

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");

私が持っていたシンプルな「工事中のウェブサイト」サイトにそれを使用し、完全に機能しました。

2
Joshua Pinter

これを試して:

<img src="images/background.jpg" 

style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:-5000;">

http://thewebthought.blogspot.com/2010/10/css-making-background-image-fit-any.html

2
Tony Wu

シンプルなフルスクリーンと中央の画像 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>
0
maestro888
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;
}
0
Manish

私はあなたのレイアウトファイルで

<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;
}

そして、あなたのアプリ/アセット/画像に背景画像があり、また、

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

「background.png」を自分の背景写真に。

0
Michael Mudge

JavaScriptを使用せずにフルスクリーンバナーセクションを作成することもできます。純粋なCSSベースのレスポンシブフルスクリーンバナーセクションで、高さ:100vhを使用します。バナーのメイン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

0
Ashok

以下のこのコードを使用して:

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

それがうまくいくことを願っています。ありがとう

0
AL FAISAL MIA

私はこのjavascript関数を実行しました。画像の縦横比を変更せずに、背景画像を最も重要な次元(幅od高さ)でベースの画面サイズに修正します。

<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イベントから呼び出す必要があります。画像は背景の繰り返しである必要があります。繰り返しなし。バックグラウンドの添付:修正。

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

<body onload="FixBackgroundToScreen();">

あなたは私のサイトで機能を見ることができます www.andreamarulla.it

私の英語でごめんなさい...アンドレア;-)

0
rec1978