html - @media 查询未在我的响应式导航栏设计中运行?
问题描述
我被这个错误困住了,我尝试使用媒体查询制作的响应式导航栏根本没有响应,因为@medias 似乎无论我尝试什么都没有效果。我已经尝试了所有可能的媒体查询格式,但我得到的只是无响应;请帮我克服它。
我被这个错误困住了,我尝试使用媒体查询制作的响应式导航栏根本没有响应,因为@medias 似乎无论我尝试什么都没有效果。我已经尝试了所有可能的媒体查询格式,但我得到的只是无响应;请帮我克服它。
<!DOCTYPE html>
<html>
<head>
<title>Product Page</title>
<style>
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
body{
background-color: antiquewhite;
font-family: 'Lato', sans-serif;
}
#wrapper{
position: relative;
}
li{
list-style: none;
}
a{
color: #000;
text-decoration: none;
}
header{
width: 10s0vw;
position: fixed;
top: 0;
min-height: 75px;
display: flex;
justify-content: space-around;
align-items: center;
background-color: aquamarine;
@media screen and(max-width: 600px){
flex-wrap: wrap;
}
}
.logo{
border: 1px solid black;
width: 60vw;
@media screen and(max-width: 650px){
margin-top: 15px;
width: 100%;
posistion: relative;
}
}
#header-img{
border: 1px solid black;
width: 100%;
max-width: 80px;
display: flex;
justify-content: center;
align-items: center;
margin-left: 10px;
@media screen and(max-width: 650px)
{
margin: 0 auto;
}
}
#nav-bar{
border: 1px solid black;
font-weight: 400;
@media screen and(max-width: 650px) {
margin-top: 10px;
width: 100%;
padding: 0 50px;
li{
padding-bottom: 0px;
}
}
}
ul{
border: 1px solid black;
width: 35vw;
display: flex;
justify-content: space-around;
@media screen and(max-width: 650px){
flex-direction: column;
}
}
</style>
</head>
<body>
<div id="wrapper">
<header id="header">
<div class="logo">
<img src="http://www.pngmart.com/files/1/Civil-Engineering-Book-PNG.png" id="header-img" alt="logo of library club">
</div>
<nav id="nav-bar">
<ul>
<li class="nav-link"><a href="#">Features</a></li>
<li class="nav-link"><a href="#">Our Partners</a></li>
<li class="nav-link"><a href="#">Pricing</a></li>
</ul>
</nav>
</header>
</div>
</body>
</html>
解决方案
看起来您正在尝试使用标准 CSS 中常见的 SASS/LESS 或 CSS-in-JS 功能。
当您使用标准 CSS 时,您的媒体查询必须位于顶层并包含由选择器和定义组成的有效 CSS 块。
你可以在这里阅读更多https://developer.mozilla.org/en-US/docs/Web/CSS/@media
@media (max-width: 300px) {
#navbar {
color: pink; /* valid */
}
}
#navbar {
@media (max-width: 300px) {
color: pink; /* invalid, media nested inside a selector */
}
}
你也可以用 linters 来测试你的 CSS,一个在线的例子是http://csslint.net
推荐阅读
- sql - 使用 R 中的 DBI 包附加到 SQL Server 数据库时,字符列被转换为数字
- elasticsearch - 如何使用慢查询日志记录 solr 中的每个查询?
- python - 熊猫,附加到 excel 中的下一个可用行
- sql - 重复值和额外行
- java - 使用 Hibernate 插入多对一实体是否正确?
- python - 在使用 django 时在数据库中显示所有值 null
- java - 如何删除“状态和通知栏”?
- android - 运行完全离线的聊天机器人有什么限制?
- c# - .NET core 3.1 react-data-grid 教程/示例
- javascript - 我的 nodejs 表返回空并且表中有数据