媒体查询在我手动调整浏览器大小时有效,但在我使用 Chrome 的 'Inspection' 中的 'Responsive' 功能时无效
Media Queries work when I resize my browser manually, but not when I use the 'Responsive' feature in Chrome's 'Inspection'
我正在研究响应式设计。这就是我的@media 断点:
@media (max-width:800px) and (min-width:400px) {
#section {
padding: 0px;
padding-top:100px;
}
.text {
text-align: center;
padding-left: 50px;
width:350px;
}
.headline{
height: 50px;
width: 350px;
text-align: center;
}
.header {
padding-top: 200px;
background-color: lightgrey;
}
.w-70 {
width: 20%;
background-color: blue;
}
.w-15 {
width: 40%;
}
}
@media (max-width: 1100px) and (min-width: 801px) {
.header {
height:350px;
background-color: red;
font-size: 2em;
}
.w-70 {
display: none;
}
.w-15 {
width: 40%;
}
}
当我手动调整浏览器大小以测试 chrome 中的响应能力时,一切正常并且断点对应。当我使用Chrome检查工具中的"Responsive"功能进行测试时,第一个断点:
@media(最大宽度:800px)和(最小宽度:400px)
没有回应。我被告知检查工具是测试响应式设计的更准确的方法,所以我想知道我应该信任哪一个以及为什么一个响应而不是另一个。
我似乎看不出问题出在我的代码中,我尝试了努力刷新并重新启动 chrome 以查看它是否会在 "Inspection" 中工作,但都没有有用。
有谁知道为什么一个在工作而另一个不工作?我应该去哪一个?如果一个有效,另一个不应该有效吗?
任何建议都会有所帮助:我的代码,或者为什么一种测试方法有效而另一种无效。我对编码还很陌生!
我也有标签
<meta name="viewport" content="width=device-width, initial-scale=1.0">
在我的脑海里,因为我读了一些我应该读的地方,但老实说,我不确定它的作用,或者它是否会对这个问题有任何影响。
提前致谢!!
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
这对我有用(参见 minimum-scale=1
)
您尚未发布 HTML 因此我们很难全面了解您的 400 - 800 像素视口问题
但是,我首先要看的是您是否已对#section、.text 和.headline 的宽度(以像素为单位)进行了硬编码。 .text 的 padding-left 也有一个像素宽度。
如果元素对于其父元素而言太宽,则硬编码像素宽度可能会成为问题。
例如,如果视口或屏幕宽度为 400 像素,您的 .w-70 元素将为 20% x 400px = 80px 宽。
您还将 .text 的宽度设置为 350px + 50px padding = 400px。
如果你在 .w-70 中有 .text 它将强制 .w-70 为 400px 宽,而不是 80px
要快速检查这是否是您的问题的原因,请更改您的内部元素的像素宽度
@media (max-width:800px) and (min-width:400px) { ...}
媒体查询相对宽度,例如 100% 或 50%
如果这仍然没有帮助,请发布您的 HTML 将帮助我们解决问题。
祝你好运!
我正在研究响应式设计。这就是我的@media 断点:
@media (max-width:800px) and (min-width:400px) {
#section {
padding: 0px;
padding-top:100px;
}
.text {
text-align: center;
padding-left: 50px;
width:350px;
}
.headline{
height: 50px;
width: 350px;
text-align: center;
}
.header {
padding-top: 200px;
background-color: lightgrey;
}
.w-70 {
width: 20%;
background-color: blue;
}
.w-15 {
width: 40%;
}
}
@media (max-width: 1100px) and (min-width: 801px) {
.header {
height:350px;
background-color: red;
font-size: 2em;
}
.w-70 {
display: none;
}
.w-15 {
width: 40%;
}
}
当我手动调整浏览器大小以测试 chrome 中的响应能力时,一切正常并且断点对应。当我使用Chrome检查工具中的"Responsive"功能进行测试时,第一个断点:
@media(最大宽度:800px)和(最小宽度:400px)
没有回应。我被告知检查工具是测试响应式设计的更准确的方法,所以我想知道我应该信任哪一个以及为什么一个响应而不是另一个。
我似乎看不出问题出在我的代码中,我尝试了努力刷新并重新启动 chrome 以查看它是否会在 "Inspection" 中工作,但都没有有用。
有谁知道为什么一个在工作而另一个不工作?我应该去哪一个?如果一个有效,另一个不应该有效吗?
任何建议都会有所帮助:我的代码,或者为什么一种测试方法有效而另一种无效。我对编码还很陌生!
我也有标签
<meta name="viewport" content="width=device-width, initial-scale=1.0">
在我的脑海里,因为我读了一些我应该读的地方,但老实说,我不确定它的作用,或者它是否会对这个问题有任何影响。
提前致谢!!
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
这对我有用(参见 minimum-scale=1
)
您尚未发布 HTML 因此我们很难全面了解您的 400 - 800 像素视口问题
但是,我首先要看的是您是否已对#section、.text 和.headline 的宽度(以像素为单位)进行了硬编码。 .text 的 padding-left 也有一个像素宽度。
如果元素对于其父元素而言太宽,则硬编码像素宽度可能会成为问题。
例如,如果视口或屏幕宽度为 400 像素,您的 .w-70 元素将为 20% x 400px = 80px 宽。
您还将 .text 的宽度设置为 350px + 50px padding = 400px。
如果你在 .w-70 中有 .text 它将强制 .w-70 为 400px 宽,而不是 80px
要快速检查这是否是您的问题的原因,请更改您的内部元素的像素宽度 @media (max-width:800px) and (min-width:400px) { ...} 媒体查询相对宽度,例如 100% 或 50%
如果这仍然没有帮助,请发布您的 HTML 将帮助我们解决问题。
祝你好运!