全屏幕响应背景图像

我对前端开发和基础很陌生。

我试图得到<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%; } 

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

关于“background-size:cover”解决scheme的一个提示,你必须把它放在“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/

我的发射前网站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的解决scheme。 我没有任何JS / JQuery修复在这里。 即使是新的UI开发。 只是以为我会分享一个工作的解决scheme,因为我昨天读了这个线程。

我个人不build议在HTML标签上应用样式,它可能在后面的某个地方发展后的效果。

所以我个人build议应用背景图像属性的身体标签。

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

这个简单的技巧解决了我的问题 这适用于大部分屏幕较大/较小的屏幕。

有这么多的方法来做到这一点,我发现这是最简单的,最小的后果

尝试这个:

 <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

非终点直道

看看这个响应式缩放背景图片的插件 。

所有你需要做的是:

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

我用它作为一个简单的“正在build设中的网站”网站,我已经完美了。

我已经完成了这个JavaScriptfunction:它将您的背景图像固定在最有意义的尺寸(宽度和高度)的基础上,而不会改变图像的纵横比。

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

这个function是你唯一需要的。 必须使用window.onresize事件和body.onload事件来调用它。 图片必须是背景重复的:不重复; background-attachment:fixed;

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

你可以在我的网站www.andreamarulla.it上看到这个function

对不起,我的英文… Andrea 😉

简单的全屏和中心图像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> 

您还可以在不使用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

全屏响应背景图像

设置CSS高度(高度: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 */ }