通八洲科技

CSS媒体查询中缺少选择器和规则集导致语法错误

日期:2026-01-01 00:00 / 作者:霞舞

css媒体查询必须包裹在选择器定义的规则集中,不能直接在@media块内写样式声明;否则会因缺少花括号包裹的选择器上下文而报错。

你遇到的错误源于一个常见的CSS语法误解:@media 规则本身只是条件容器,它不直接接受样式声明——所有CSS属性(如 display, justify-content, height)必须写在某个具体选择器的规则集(selector + { ... })内部。

你当前的代码:

@media screen and (max-width: 960px) {
  display: flex;
  justify-content: spacebetween;
  height: 80px;
}

❌ 是非法的,因为:

✅ 正确写法示例:

/* 假设你想为导航栏在小屏下启用弹性布局 */
.navbar {
  /* 默认样式(可选) */
}

@media screen and (max-width: 960px) {
  .navbar {
    display: flex;
    justify-content: space-between; /* ✅ 修正拼写 */
    height: 80px;
  }
}

? 关键要点总结:

初学时容易混淆“哪里能写样式”,记住这个口诀:有选择器,才有声明;有@media,必须套规则集。 理解了这一层结构,媒体查询就不再神秘。