html - 使用一个选择器应用多个 CSS 规则

标签 html css

例如,如果我有很多 CSS 样式,它们只需要应用于 div #container 中的对象。是否可以使用另一种类型的选择器而不是在所有前面写#container?所以我不必为 div #container 中的每个对象编写它?

HTML

<div id="container">
    <div class="letter">a</div>
    <div class="letter">b</div>
    <div class="number">1</div>
    <div class="number">2</div>
</div>
<div class="letter">c</div>
<div class="number">3</div>

CSS

.letter {
    font-size:25px;
    color:green;
}
.number {
    font-size:30px;
    color:red;
}

我想为 #container 中的每个 .letter.number 编写一个规则。

当然,我只是在这里重现我的问题,但是否有可能更改 .letter.number 的规则,使其仅适用于 #container 而不必更改它 2 次(在此复制中为 2 次)? (在我的问题中大约有 30 个对象)。


我在这些规则之前尝试了 #container 选择器,但没有成功。它打破了样式。

我的 CSS 尝试:

#container {
    .letter {
        font-size:25px;
        color:green;
    }
    .number {
        font-size:30px;
        color:red;
    }
}

有没有人知道解决方案,或者我是否必须在像这样的每个规则前手动应用 #container(我想避免,因为它需要大量工作!):

#container .letter {
    font-size:25px;
    color:green;
}

#container .number {
    font-size:30px;
    color:red;
}

最佳答案

是的,CSS 非常愚蠢和简单,你别无选择,只能在每个类前面加上#container。

但是

开发人员很懒,创建了一种预处理语言来添加一些疯狂的功能。目前,有两种选择:SASSLESS

但是使用这些技术你可以像这样写你的样式:

nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

然后自动生成这样的 CSS 文件:

nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav li {
  display: inline-block;
}

nav a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}

这称为“嵌套”,只是您会喜欢的众多内容之一。

在 SASS 和 LESS 之间使用哪个?

它们是相似的,我的建议是我们现有的框架,看看哪个可用。例如 bootstrap 使用 LESS,Foundation 使用 SASS ...但两者非常相似。

我每天都使用它们,并且对 SASS 有一些偏好,但这是我个人的看法。

关于html - 使用一个选择器应用多个 CSS 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29947120/

相关文章:

html - 我的 div 神秘地包裹在我的表单中。我该如何解决?

javascript - 使用 javascript 来设置 css 动画的当前百分比

CSS动画运行缓慢

javascript - 在*找到用户位置后*加载 Google map ?

javascript - 我应该使用什么技术或框架来构建这样的东西?

javascript - GAS HTMLService : Pushing variables with createTemplateFromFile in file included in template

html - 就可访问性而言,使用 % 而不是 em 有何缺点?

css - 仅在 HTML 电子邮件中为桌面客户端指定 CSS

html - 如何将链接置于按钮/链接的中间?

javascript - 计算 slider 位置