【问题标题】:div wont fill 100% width on mobile Chrome/Safari Browserdiv 不会在移动 Chrome/Safari 浏览器上填充 100% 宽度
【发布时间】:2015-06-23 07:48:51
【问题描述】:

我正在尝试制作一个简单的网站,其中标题在浏览器中拉伸 100% 宽,然后将标题下方的内容设置为 1100 像素宽居中。这在桌面浏览器(Chrome、Safari、Firefox)上运行良好。但是在移动端有问题。我没有做任何响应式 CSS,但标题中的图像仍应填充浏览器的宽度。这是我与此标头相关的代码。

HTML:

<div class="featured" style="background-image:url('image.jpg');" onclick="location.href='#';">
    <div class="featured-details">
        <h2><a href="#">Headline</a></h2>
        <p>Some text goes here</p>
    </div>
</div>

CSS:

.featured {
  width: 100%;
  height: 500px;
  position: relative;
  background-size: cover; 
  background-position:center center; 
  overflow: hidden; 
  cursor: pointer;
  box-sizing: border-box;
  z-index: 100;
}

.featured-details {
  color: #ebebeb;
  bottom: 10px;
  width: 1100px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  z-index: 150;
}

如您所见,它在桌面上运行良好:http://sistestopp.com/uploads/desktop.png

但在移动设备上,标题不是 100%:http://sistestopp.com/uploads/mobile.png (页脚做同样的事情)。

有什么建议吗?

【问题讨论】:

  • 是的,抱歉,临时 URL 是 sistestopp.com/ny
  • 您希望您的标题图像拉伸到移动视图中的其他内容 div 还是什么?
  • 但是如果你想让你的标题图像响应然后使用 background-size:100%..仍然不确定你的观点所以告诉我们到底是什么问题..thanx
  • 如果您查看手机屏幕截图,您可以看到标题图像(带有羊)没有填满浏览器。我只是希望它一直向右延伸。它在所有桌面浏览器上都能完美运行,但移动浏览器似乎对此存在问题。在此处查看屏幕截图:sistestopp.com/uploads/mobile.png

标签: html css


【解决方案1】:

您的问题出在div.container。它的宽度固定为 1100px。在移动设备的分辨率宽度小于该数字时,浏览器必须缩放以显示整个页面,然后您的问题就会出现。如果你把这一行加到表头,你会看得很清楚。

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />

解决方法很简单

.container{
    /*width: 1100px;*/
    max-width: 1100px;
}

希望对您有所帮助。

【讨论】:

  • 不敢相信事情就这么简单。谢谢!
  • 我正在尝试在包装器宽度为 100% 的情况下使用它,内部容器为 1020 像素,上/下内容延伸到视口宽度。我在右边得到一个截止,只有当我将包装宽度设置为 104% 时才会消失。用这种方法,我基本上把它放大到左上角。这仅适用于特定的像素宽度吗?有没有办法用 100% 的宽度达到同样的效果?
  • 如果您不想在响应式设备上溢出或隐藏某些内容,请不要硬编码元素宽度。您可以尝试将 1020px 容器样式设置为 max-width: 1020px
【解决方案2】:

据我所知,然后解决方案。 用背景图片添加这个 css

background-repeat: no-repeat;
background-size: 100% auto;

你的这个类 .featured-details 应该有 width:100% 否则标题文本会干扰你的标题图片..

看看这个截图.. 希望我能提供帮助,否则如果有任何问题,请告诉我..

谢谢你:)

【讨论】:

    【解决方案3】:

    最好在这里使用 CSS 3 vh 和 vw。

    width:100vw;
    

    在以下链接中查看有关 vh 和 vw 的更多信息。

    http://www.w3.org/TR/css3-values/#lengths

    http://snook.ca/archives/html_and_css/vm-vh-units

    【讨论】:

    • 这似乎并没有真正改变移动设备上的任何东西。不过在桌面上看起来还是一样的,这很好。
    • @user1951116 如果您想像 div 内容一样拉伸标题图像,那么您必须将 div 内容宽度以 % 为单位。因为标题根据屏幕管理大小,以 % 为单位,但内容 div 的宽度为以 px 为单位,因此它被拉伸到屏幕之外..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多