html - 如何使横幅图像在大屏幕上横跨页面延伸?
问题描述
我有一个正在处理的网页,而且我以前从未在处理图像时遇到过这么大的困难。我正在使用媒体查询,我从小屏幕开始,然后逐步扩大。小号和中号都可以,但大图只覆盖页面左侧,另一半留空。我在标题和导航之间有它,所以它真的很突出。我不知道为什么它没有使用我拥有的最大图像。它超过 6000 像素,所以它应该可以到达边缘。在我让东西到达整个页面后,我会缩小它。我将在下面发布媒体查询和 CSS,以及图像的 HTML。
/*small view*/
body {
margin: 0 auto;
min-width: 250px;
max-width: 539px;
background-color: #fee9c1;
}
main {
margin: 0 auto;
min-width: 250px;
max-width: 499px;
}
header {
max-width: 100%;
margin-top: 0px;
display: flex;
}
nav {
max-width: 100%;
margin: 0 auto;
}
media query :
/*medium view*/
@media only screen and (min-width: 540px) {
.banner img {
max-width: 100%;
}
body {
max-width: 1150px;
box-sizing: border-box;
}
main {
max-width: 1150px;
box-sizing: border-box;
}
}
/*large view*/
@media only screen and (min-width: 770px) {
main {
max-width: 1150px;
margin: auto;
}
.banner picture img {
display: flex;
max-width: 100%;
z-index: 0;
}
}
<div class="banner">
<picture>
<source srcset="https://via.placeholder.com/540x250.jpg" media="(min-width: 280px) and (max-width: 539px)">
<source srcset="https://via.placeholder.com/800x400.jpg" media="(min-width: 540px) and (max-width: 799px)">
<source srcset="https://via.placeholder.com/1440x600.jpg" media="(min-width: 800px) and (max-width: 1440px">
<img src="images/welcomesign.jpg" alt="alt txt">
</picture>
</div>
解决方案
@media only screen and (min-width: 540px) {
.banner img {
max-width: 100%;
}
body {
max-width: 1150px;
box-sizing: border-box;
}
...
}
这条线导致了这个问题。每个宽度为 540px 或以上的屏幕都将 bdoy 最大宽度设置为 1150px。Sicne 您对大屏幕的媒体查询不会覆盖此属性,并且它仍然适用。意味着主体的最大宽度为 1150 像素,并且没有内容可以比这更宽。
推荐阅读
- c - OpenCL 变量声明在内核范围之外失败
- spark-streaming - 如何监控 Hadoop 集群中的 Spark 流作业?
- javascript - 反应要求。确保。无法读取 require 加载的组件的 props
- ios - 如何在swift中从根视图控制器到导航堆栈中的最后一个视图控制器执行segue?
- scala - Play 子项目是否需要每个带有 Macwire 的 ApplicationLoader?
- java - 将 JSON 转换为对象属性列表 (Java)
- imagemagick - 使用带有混合的 GraphicsMagick 拼接图像
- excel - 移动到其他电脑时如何将excel数据与我的标签文档文件绑定
- c - 表示一个指针
- java - 我正在尝试使用 FusedLocationApi 获取当前位置