[英]Why my media queries don't work?
我制作了一个页面,其中包含从HTML网格系统到CSS网格系统的代码 。 但是我的页面无法正常工作,媒体查询似乎不起作用。 他们为什么不工作? CSS lint表示CSS Lint存在一些问题
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- <meta name="viewport" content="width=device-width"> -->
<title>Flex-training</title>
<link rel="stylesheet" href="main.css" />
</head>
<body>
<div class="l-flex">
<div id="back" class="l-fg3">
<div>Featured Item</div>
<div>Featured Item</div>
<div>Grid item</div>
<div>Grid item</div>
<div>Grid item</div>
</div>
</div>
</body>
</html>
CSS:
.l-fg3 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: -10px;
}
.l-fg3 > div {
-webkit-flex-basis: 100%;
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
@media screen and (min-width: 600px) {
margin: 10px;
-webkit-flex-basis: calc(33.333%-20px);
-ms-flex-preferred-size: calc(33.333%-20px);
flex-basis: calc(33.333%-20px);
}
> div:nth-child(1),
> div:nth-child(2) {
@media (min-width: 600px) {
flex-basis: calc(50% - 20px);
}
}
}
.l-flex {
overflow-x: hidden;
}
div {
border: 0.2px solid #506183;
border-radius: 5px;
background-color: #81f6a9;
}
#back {
background-color: #36a4c3
}
媒体查询包含选择器组,而不是相反。
您需要像这样修改CSS:
.l-fg3 > div {
...
}
@media screen and (min-width: 600px) {
.l-fg3 > div {
...
}
}
这是SCSS 。 编译成CSS后,它似乎可以正常工作:
(此外,您需要在calc()
函数中的值之间放置一个空格。)
.l-fg3 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: -10px; } .l-fg3 > div { -webkit-flex-basis: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } @media screen and (min-width: 600px) { .l-fg3 > div { margin: 10px; -webkit-flex-basis: calc(33.333% - 20px); -ms-flex-preferred-size: calc(33.333% - 20px); flex-basis: calc(33.333% - 20px); } } @media (min-width: 600px) { .l-fg3 > div > div:nth-child(1), .l-fg3 > div > div:nth-child(2) { flex-basis: calc(50% - 20px); } } .l-flex { overflow-x: hidden; } div { border: 0.2px solid #506183; border-radius: 5px; background-color: #81f6a9; } #back { background-color: #36a4c3; }
<div class="l-flex"> <div id="back" class="l-fg3"> <div>Featured Item</div> <div>Featured Item</div> <div>Grid item</div> <div>Grid item</div> <div>Grid item</div> </div> </div>
我将其作为Codepen放置,因此您可以在预处理的(少/低/等/等)和原始CSS之间切换: http : //codepen.io/anon/pen/dMJqOz
如果CSS块中有错误,则整个块将停止处理。 CSS Lint会告诉您确切的问题所在。 例如:
> div:nth-child(1),
> div:nth-child(2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.