我知道这个问题已被多次询问,但我找到的答案没有帮助。 我的媒体查询正在桌面上正常工作,但不是在3个不同的Android设备上。没有任何变化,好像MQ不存在一样。 我只尝试使用全屏,屏幕。基本上所有选项,将我的元标记更改为您可以在下面看到的内容。
元:
<meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1" name="viewport">
<link rel="stylesheet" href="style_mini.css">
@media掌上电脑,屏幕和(max-width:48em){some style}
这是我的第一个网站,我真的不知道自己做错了什么。
好的,所以我花了几个小时测试我的设备和#34;思考&#34;他们有960px并使用媒体查询这个宽度而不是使用更小的MQ。 这里建议做的事情:http://webdesign.tutsplus.com/articles/quick-tip-dont-forget-the-viewport-meta-tag--webdesign-5972没有帮助。
html {}
* {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-webkit-text-size-adjust:none;
}
body {
font-family: 'Slabo 27px', serif;
color: #3F4D59;
background-color: #F2E9DE;
width: 98%;
margin: 0 auto;
}
.flex {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
align-content: center;
align-items: center;
}
.top {
flex-direction: row;
order: 1;
background-color: #F2E9DE;
justify-content: left;
align-content: left;
align-items: left;
}
.top {
width: 100%;
position: fixed;
top: 0px;
z-index: 1000;
margin: auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=92);
-moz-opacity: 0.92;
-khtml-opacity: 0.92;
opacity: 0.92;
}
.anchor {
display: block;
height: 200px;
/*same height as header*/
margin-top: -200px;
/*same height as header*/
visibility: hidden;
}
.content {
padding-top: 200px;
}
.header {
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
/* min-width: 0;*/
min-height: auto;
width: 35%;
text-align: center;
font-size: 3em;
padding: 2%;
}
.nav {
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
/* min-width: 0;*/
min-height: auto;
width: 50%;
font-size: 2.5em;
text-align: right;
}
.nav a {
padding: 3%;
}
a:link,
a:visited {
color: #3F4D59;
text-decoration: none;
font-weight: bolder;
}
a:hover {
color: #9CA1A6;
text-decoration: none;
}
.stamp {
width: 15%;
}
.stamp {
background: url(images/kowalew_ALL.jpg);
display: block;
height: 200px;
width: 200px;
background-repeat: no-repeat;
/* text-indent: -9999px;*/
}
.stamp:hover {
background-position: 0 -200px;
}
.offer {
order: 4;
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
min-width: 0;
min-height: auto;
padding-top: 3%;
padding-bottom: 4%;
padding-left: 2%;
background-image: url(images/pea3.jpg);
background-repeat: no-repeat;
background-size: cover;
}
h1 {
font-size: 2em;
color: #3F4D59;
}
li {
font-size: 1.4em;
font-weight: 600;
text-align: left;
color: #F2E9DE;
}
.mini-contact {
order: 5;
background-color: #9ca1a6;
flex-direction: row;
}
.mini-contact p {
padding: 0 5%;
font-size: 1.2em;
}
.nolist {
list-style-type: none;
}
.sectionheader {
text-align: center;
font-size: 2.5em;
font-weight: 800;
flex-direction: column;
background-color: #F2E9DE;
}
.subsectionheader {
text-align: center;
font-size: 1.8em;
background-color: #F2E9DE;
}
.gallery {
flex-direction: row;
background-color: #F2E9DE;
}
.gallery img {
width: 20%;
margin: 0.1%;
border: solid 4px #3F4D59;
}
.videocontainer iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: solid 4px #3F4D59;
}
.gallery img:hover {
position: relative;
overflow-x: hidden;
border-radius: 10px;
margin: auto 0;
box-shadow: 7px 7px 10px #9ca1a6;
transition: 0.5s ease-in-out;
z-index: 2000;
}
.right:hover {
transform: scale(2) translateX(-25%);
}
.left:hover {
transform: scale(2) translateX(25%);
}
.middle:hover {
transform: scale(2);
}
.videocontainer a img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: solid 4px #3F4D59;
}
.video {
flex-direction: row;
}
.videocontainer {
position: relative;
padding-bottom: 10%;
padding-top: 135px;
margin-right: 2%;
margin-left: 2%;
height: 0;
overflow: hidden;
flex-direction: column;
width: 33%;
order: 1
}
.caption {
flex-direction: row;
width: 100%;
padding: 0;
}
.caption p {
width: 33%;
padding: 0;
}
.backgroundcon {
background-color: #9ca1a6;
padding-bottom: 4%;
}
.con {
background-color: #9ca1a6;
}
.contact p {
font-size: 1.4em;
font-weight: 700;
}
.map {
border: solid 3px #3F4D59;
}
footer {
text-align: center;
padding-top: 3%;
padding-bottom: 2%;
}
/*MEDIA QUARIES*/
@media handheld, screen and (max-width: 85.375em) {
.hide {
display: none;
}
}
@media handheld, screen and (max-width: 64em) {
.header {
font-size: 2em;
}
.nav {
font-size: 1.8em;
}
.subsectionheader {
font-size: 1.3em;
}
.sectionheader {
font-size: 2em;
font-weight: 300;
}
}
@media handheld, screen and (max-width: 48em) {
.shide {
display: none;
}
.gallery img {
width: 25%;
}
.contact p {
font-size: 1.1em;
font-weight: 300;
}
.sectionheader {
font-size: 1.8em;
}
.nav {
width: 60%;
}
.header {
width: 40%;
}
.content {
padding-top: 130px;
}
}
@media handheld, screen and (max-width: 40em) {
.xshide {
display: none;
}
.gallery img {
width: 33%;
}
.top {
flex-direction: column;
}
.header {
flex-direction: row;
width: 100%;
text-align: center;
}
.nav {
flex-direction: row;
width: 100%;
text-align: center;
}
.content {
padding-top: 130px;
}
}
@media handheld, screen and (max-width: 30em) {
.xxshide {
display: none;
}
.gallery img {
width: 50%;
}
.offer {
background-image: none;
margin-top: 2px;
}
a:hover {
color: #498099;
text-decoration: none;
}
li {
color: #3F4D59;
}
.top {
background-color: #9ca1a6;
box-shadow: 3px 3px 3px #a7a4a4;
border: solid 1px #a7a4a4;
border-radius: 5px;
}
.mini-contact {
box-shadow: 3px 3px 3px #a7a4a4;
border: solid 1px #a7a4a4;
border-radius: 5px;
}
.nav a {
padding-bottom: 3%;
}
.backgroundcon {
box-shadow: 3px 3px 3px #a7a4a4;
border: solid 1px #a7a4a4;
border-radius: 5px;
}
.caption p {
width: 50%;
}
.videocontainer {
width: 50%;
}
.content {
padding-top: 80px;
}
}
@media handheld, screen and (max-width: 20em) {
.nav {
flex-direction: column;
width: auto;
}
.top {
flex-direction: column;
}
.xxxshide {
display: none;
}
li {
font-size: 1.1em;
}
h1 {
font-size: 1.5em;
}
footer {
font-size: .8em;
}
}
答案 0 :(得分:0)
尝试替换最大尺寸的单位:使用px
代替em
。
以下是我一直用于媒体查询的代码示例,它始终适用于移动设备:
@media screen and (max-width : 1024px) {
/* Change 1024 by what you need. */
}
以下是em
单位的W3schools说明:
相对于元素的字体大小(2em意味着当前字体大小的2倍)
根据文档的字体大小定义媒体查询有点奇怪!
答案 1 :(得分:0)
您的媒体查询运行,他们只是没有做您期望的事情。我使用不同的屏幕尺寸得到了不同的结果,大多数是30em左右。要对此进行调试以了解发生的情况,您可以将color: blue
或color:red
等添加到标题或正文标记中,然后显示更改。使用已编辑的媒体查询(对于px,内容替换为颜色)与HTML和桌面css进行演示jsfiddle。
将handheld
与逗号一起使用意味着每个媒体查询都将针对任何手持设备运行,这可能会导致混淆的结果,因为屏幕大小将被忽略,如explained here。我没有在其他地方看到媒体查询中使用的handheld
并且无法查看使用它的原因,除非您正在处理需要不同css而非相同大小桌面的非常大的手持设备。
从您的CSS看起来您可能没有意识到and (max-width: 48em)
和and (max-width:40em)
的媒体查询将两者运行40em或更少的屏幕尺寸 - 某些行重复几个媒体查询。如果您希望(max-width:48em)
不能为较小的尺寸运行,那么您可以添加与此类似的内容,但我建议转换为 px ,否则40.0001em(例如)赢了&#39 ; t触发查询:
@media handheld, screen and (max-width: 48em) and (min-width:40.1em) {
/* code for 40.1 to 48em */
}
@media handheld, screen and (max-width: 40em) {
/* code for 40em and under */
}
另一种选择是反转先前的媒体查询中的任何问题,例如使用display: block
来显示之前隐藏的内容。媒体查询按照给定的顺序运行。
您的代码不是MCVE,因为它应该是Stackoverflow的代码 - 大量编辑代码,无论您是在此处发布还是在自己的强文上调试,它都会帮助您解决错误。