css - 背景图像响应

标签 css responsive

我遇到了一个问题,当我调整窗口大小时我的图像没有响应。我尝试通过将图像放在 html 标签之间并使用 CSS 100% 宽度的图像来修复它,但效果不佳。

之后我尝试了 background-size: cover;background-size: contain;。如果这样做,它是响应式的,但高度太小了。我希望图像显示全高,而不是 400px 之类的。当我输入 height: 100vh;height: 100%; 它没有响应。

nav {
    background:#fff;
    width:100%;
    height:120px;
}
nav#menu{
    clear: both;
    padding-top: 1.5em;
    }

.js nav#menu {
    overflow: hidden;
    max-height: 0;
    }

nav#menu.active {
    max-height: 25em;
    }

nav#menu ul {
    margin: 0;
    padding: 0;
    }

nav#menu li a {
    display: block;
    padding: 1.2em;
    text-decoration: none;
    }
nav#menu li a:hover{
  color:#668bc3;
    }

#intro {
    background-image: url(../images/hero2.jpg);
    background-repeat: no-repeat;
    height:100vh;
    background-size:cover;
    width:100%;
    }
 <header id="intro">
  <a href="#menu" class="menu-link">
     <i class="fa fa-bars" aria-hidden="true"></i>
  </a>
  <nav id="menu">
    <div class="navsvg"><img src="images/logo.svg" alt="logo"></div>
    <ul>  
      <li><a href="#intro">Introduction</a></li>
      <li><a href="#howitworks">How it works</a></li>
      <li><a href="#download">Download</a></li>
      <li><a href="#prototype">Prototype</a></li>
      <li><a href="#posts">Posts</a></li>    
      <li><a href="#contact">Contact</a></li>        
    </ul>
  </nav>
    
</header>

关于如何修复它有什么想法吗?

非常感谢任何帮助!

最佳答案

contain 会留下空格,cover 会剪掉一些东西,100% 100% 会拉伸(stretch)。你不能用不成比例的图片来满足一切。 (这甚至没有意义,这是可能的)。

解决此问题的最佳方法是使用媒体查询为不同的屏幕尺寸更改为不同比例的图像。

示例:

@media screen and (max-width: 480px) {
    #intro {
        background-image: url(../images/hero-mobile.jpg); /* Example Image */
    }
}

关于css - 背景图像响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44143205/

相关文章:

html - 移动浏览器切断了内容的底部,但在桌面浏览器中工作

css 媒体查询不适用于浏览器调整大小

html - 媒体查询最小界限不起作用

html - 使用 CSS flexbox 创建响应式表单

html - 网站上表格列的重新排序

CSS 图像叠加

html - 如何在 2 个 div 之间定位页脚?

python - django 不会从 statifiles_dirs 加载静态文件

html - 我的 CSS 的哪一部分导致文本在移动设备上消失但在 PC 上显示?

html - 我怎样才能通过将它们稍微向左移动来在右侧容纳更多链接而不只挤在一行中?