4

如果我正在使用,当浏览器大小发生变化时,如何消除空格background-size:contain;

对于较小的浏览器尺寸,图像和文本之间的空白太多了。网站是:http: //16debut.com/test.html

CSS是:

body { 
    margin:0px 0px; 
}

#hero {
    background-clip: content-box;
    background-image: url("imgtop.png");
    background-size: contain;
    background-repeat: no-repeat; 
    position: relative;
    height: 235vh;
}

#content {
    padding: 100px 50px;
    text-align: center;
    width: 80%;
    margin: 0px auto;
}

#content h2 {
    margin: 0px 0px 30px 0px;
}

#footer {
    padding: 30px 0px;
    text-align: center;
    background: #ddd;
}
4

1 回答 1

2

jsbin 演示

您想完全响应但将白云保持在底部吗?

为同一元素使用两个背景图像。

在此处输入图像描述

  • 剪下白色底部的云,另存为单独的 .png 图像。用作第一个背景图像。
  • 可选)再次保存您的大图像,只是没有白云。将该图像用作第二个背景图像值。

现在在 CSS 中:

  • 将云设置为background-position: bottom100% 大小(“宽度”)
  • 将较大的图像设置为中心 ( 50%) 位置并cover

CSS

html, body{height:100%; margin:0;}

#hero{
  position:relative;
  height:130vh; /* USE THE RIGHT RATIO since the image Logo is a bit up*/
  background: no-repeat 
    url(http://i.stack.imgur.com/eWFn6.png) bottom / 100%, /* BOTTOM CLOUDS OVERLAY */
    url(http://i.stack.imgur.com/IVgpV.png) 50% / cover;   /* BIG IMAGE */
}

HTML

<div id="hero"></div>

<div class="other">
  <h1>Other Divs</h1>
  <p>bla bla</p>
</div>

似乎 Safari 是一个非常愚蠢的浏览器(他们甚至从 2012 年起就取消了对 Windows 的支持......太棒了)。这是jsBin 示例和 css:

#hero{
  position:relative;
  height: 900px;
  height: 100vh; 
  background: url(http://i.stack.imgur.com/eWFn6.png) no-repeat bottom, url(http://i.stack.imgur.com/IVgpV.png) 50%;
  background-size: 100%, cover;
}
于 2015-10-16T17:07:14.557 回答