如何使第二个媒体查询正常工作?

How do I get my second media query to work?

提问人:arvine 提问时间:11/1/2023 最后编辑:arvine 更新时间:11/1/2023 访问量:69

问:

当显示更改为 600px 以下时,为什么第二个媒体查询不能将 width 属性更改为 100%?

我希望在低于 600px 的屏幕上打开时,width 属性将为 100%。

我在 w3s 编辑器中尝试了它,它起作用了。如果我在 Google Chrome 上尝试,它不起作用。我打开它并浏览了 Chrome 网络控制台,结果与预期不符。当屏幕低于 600px 时,宽度保持在 50%,即使我希望根据我的第二个媒体查询将宽度设置为 100%。这是Chrome的问题还是其他问题?

看看我的最新截图

Web console

W3C editor

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: serif;
}

body {
  background: url(latihan/aset/gambar/a.png);
  background-size: cover;
  background-position: center;
  height: 100vh;
}

header {
  display: flex;
  justify-content: space-around;
  width: 100%;
  height: 80px;
  position: fixed;
  align-items: center;
  z-index: 99;
  box-shadow: 0 0 10px #000;
  background: white;
}

#chk1 {
  display: none;
}

i {
  cursor: pointer;
}

header .logo {
  flex: 1;
  color: #251e1e;
  margin-left: 10px;
  text-transform: uppercase;
}

header ul {
  flex: 2;
  display: flex;
  justify-content: space-evenly;
}

header ul li {
  list-style-type: none;
}

header ul li a {
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 500;
  color: black;
}

header ul li a:hover {
  border-bottom: 2px solid rgb(201, 63, 63);
}

header .menu {
  display: none;
  font-size: 2em;
}

@media(max-width: 1000px) {
  header ul {
    position: fixed;
    top: 100px;
    background: rgba(0, 0, 0, 0.5);
    height: calc(100vh - 100px);
    width: 50%;
    left: -100%;
    flex-direction: column;
    align-items: center;
    transition: left 0.5s linear;
  }
  header ul li a {
    color: white;
    font-size: 3em;
  }
  header .menu {
    display: block;
    width: 100px;
    text-align: center;
  }
  #chk1:checked~ul {
    left: 0;
  }
}

@media(max-width: 600px) {
  header ul {
    width: 100%;
  }
}
<body>
  <header>
    <input type="checkbox" id="chk1">
    <div class="logo">
      <h1>Web Master</h1>
    </div>
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">Product</a></li>
      <li><a href="#">Blog</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
    <div class="menu">
      <label for="chk1"><i>Ikon</i></label>
    </div>
  </header>
</body>

HTML CSS CSS 选择器

评论

0赞 dmikester1 11/1/2023
在我的测试中完美运行:codesandbox.io/s/wizardly-banach-xhtm7q?file=/src/styles.css
1赞 isherwood 11/1/2023
你的问题不清楚。媒体查询似乎工作正常,但您仍然在屏幕外看到带有较大负边距的列表。请修改以更具体地说明问题。
0赞 Brett Donald 11/1/2023
当我运行您的代码段并使用整页链接时,您需要这样做以进行任何响应行为测试,它似乎工作正常。我看不出有什么问题。
0赞 arvine 11/1/2023
我在 w3c 编辑器中尝试了它,它起作用了。如果我在 Google Chrome 上尝试,它不起作用。我打开它并浏览了 Chrome 网络控制台,结果与预期不符。当屏幕低于 300px 时,宽度保持在 50%,即使根据我的第二个媒体查询,我希望宽度为 100%。这是Chrome的问题还是其他问题?
0赞 arvine 11/1/2023
看看我的最新截图

答: 暂无答案