【问题标题】:Can't get background header image to fit to width.. tried everything无法让背景标题图像适合宽度.. 尝试了一切
【发布时间】:2013-05-12 20:54:35
【问题描述】:

我已经搜索了几个小时,现在我想是时候问这个问题了。我无法让放置在标题中的背景图像适合屏幕。它适用于各种计算机分辨率,但我遇到麻烦的是当我在手机上查看时,它不想缩小。我已经完成了最小高度,最大高度,我已经尝试了所有方法,我认为部分问题是标题 div 本身比这张图片小,但我也不太了解,需要一些指导,我m 在 CSS 场景中相对较新。

这是我所拥有的:

#header {
    background-image: url('http://hamsoc.polymath.io/wp-content/uploads/2013/05/hamsocheader.png');
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 209px;
}

网址是http://hamsoc.polymath.io

提前感谢您的帮助!

Duncan Beattie 给了我答案,它就像一个魅力。他是这样说的:

"你有 background-size: 适合高度的封面 背景图像到 div 的固定高度,209px。除掉 固定高度并替换为 padding-bottom:15% 这将保持 div 的纵横比相同,并在视口中缩放图像 更小。”

【问题讨论】:

标签: css image background width resolution


【解决方案1】:

我建议在您的 HTML 中使用标题图像而不是背景图像,然后像这样设置 max-width

#header img{
    max-width: 100%;
    height: auto;
}

这也将允许您使图像“可点击”,这通常需要在标题徽标中。

DEMO FIDDLE

FULLSCREEN

【讨论】:

    【解决方案2】:

    硬编码的高度值把你弄乱了。尝试使用height: 290px 值并观察标题是否适合较小的屏幕。

    您可以尝试将图像放在 html 中并使用 CSS 属性来帮助缩小背景图像,而不是背景图像。

    img {
        max-width: 100%;
    }
    

    【讨论】:

      【解决方案3】:

      你有background-size: cover,它使背景图像的高度适合你的div的固定高度,209px。

      移除固定高度并替换为padding-bottom:15% 这将保持 div 的纵横比相同,并随着视口变小缩放图像。

      【讨论】:

      • 成功了!太感谢了!你能解释一下它是如何工作的吗?只是让我知道以供将来参考。非常感谢!
      • 将容器的深度推入主体宽度的百分比意味着它始终以相同的比例缩放。看看FluidSquares
      【解决方案4】:

      你是否使用过百分比来设置 div 中图像的高度?

      所以将图像高度设置为 div 的 100%?

      如果不是,那么也许您可以使用一些 javascript 代码来检测它们是否在移动设备上,并相应地设置它的高度?

      【讨论】:

      • 我尝试将其设置为 div 的 100%,但问题是 div 太小,所以我需要以像素为单位定义高度,否则它不会显示整个图像。跨度>
      猜你喜欢
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-16
      相关资源
      最近更新 更多