jquery - 根据具有背景大小封面的内容固定图像大小比例

标签 jquery html css sass

我花了几天时间试图找到在不同屏幕尺寸上正确显示背景图像的最佳方式。

这是工作示例 http://mobile-development.ru/ .这是 JSFiddle . 但是在网站上可以更好地看到。

问题如下。 如您所见,我的初始图片大小为 1920x920
我有以下标题图像的 SASS 类。

$header-min-height: 920px;
.l-header {
  min-height: $header-min-height;
  height: 110%;
  width: 100%;
  @include background-size(cover);
  background-position: center top;
  background-repeat: no-repeat;
  background-image:url('../images/background-header.jpg');
  @include respond-to-less-than(desktops) {
    min-height: $header-min-height*1.6;

  }
  @include respond-to-less-than(tablets) {
    min-height: $header-min-height*1.8;
  }
}

初始页眉背景图片看起来不错(不是很好但还可以)。 内容适合。

enter image description here

但是当我的屏幕尺寸开始减小时,由于 background-size 属性图像开始缩放。此外,如您所见,对于较小的屏幕,我增加了 min-height 以适应图像中的内容。 因为在小屏幕上,行中的元素占满宽度。

enter image description here

正如您所见,由于图像比例和缩放,图像质量变得很糟糕。

在方形图像的情况下,我可以拍摄全高图像并仅显示它的一部分,另一部分将隐藏在下一个 div 下,直到需要为止。

但在我的例子中,我的图片底部有圆形边框,我无法仅使用 CSS 获得相同的结果。

我想要这样的结果

enter image description here

为了使这张照片我只是裁剪等于初始图像的前一个屏幕截图部分。

像那样

enter image description here

我不知道如何获得理想的结果,使图像在不同的屏幕上看起来不错。我尝试了很多不同的技巧,但仍然如您所见。

请建议获得所需结果的可能方法是什么,是否只有根据屏幕尺寸更改不同图像的方法(如 srcset)。 最坏的情况是在小于 990px​​ 的屏幕上图像可能没有圆 Angular 。 如果有任何帮助建议如何使它看起来更好,我将不胜感激。

非常感谢。

最佳答案

尝试更改您的布局:

.l-header {
    width: 100%;
    height:auto;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: url(../images/background-header.jpg);
}
@media only screen and (max-width: 992px)
.l-header {
    background-image: url(../new picture with portrait orienbtation);
}
.l-header-wrapper {
    width: 100%;
    height: auto;
}
.l-our-services {
    padding: 50px 0;
}

删除这条规则:

@media only screen and (max-width: 992px)
.l-header {
    min-height: 1472px;
}
.l-our-services {
    padding-left: 0; 
    padding-right: 0;
    padding-top: 50px;
}
.l-header-wrapper {
    width: 100%;
    height: 100%;
}

我看到了唯一的方法:使用另一张图片(纵向)进行移动布局。 您的新图片必须具有大约 1500 像素的高度,以便在您的布局中正确查看。宽度 - 大约 950px

关于jquery - 根据具有背景大小封面的内容固定图像大小比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39437957/

相关文章:

javascript - JQuery 重置所有其他子元素的 z-index

javascript - 使用 jQuery 如何订阅容器大小调整事件?

html - 将图像显示更改为内联

javascript - 自动居中列表项/图像 100% 页面高度

asp.net - jqGrid、ASP.NET、JSON 让我抓狂。请帮忙

php - jQuery $.post 不返回 JSON 数据

jquery - 有没有可以替代 html select 标签的 jQuery 插件?

javascript - css - 以较少的服务器请求频繁更改图像

Javascript Button onClick 在 Chrome 扩展弹出窗口中不起作用

javascript - 如何将文本缩放到父 div 插件问题