gpt4 book ai didi

css - Rails 和 SCSS 协同工作

转载 作者:太空宇宙 更新时间:2023-11-04 15:21:29 26 4
gpt4 key购买 nike

如果我使用这种编码风格,在“产品”的脚手架中,我将其添加到 applications.html.erb 中:

<body class = '<%= controller.controller_name %> ' >

然后在 products.css.scc 的样式表中,我为“products”定义了这样的嵌套:

.products {
table {
border-collapse: collapse;
}

table tr td {
padding: 5px;
vertical-align: top;
}

.list_image {
width: 60px;
height: 70px;
}

.list_description {
width: 60%;

dl {
margin: 0;
}

dt {
color: #244;
font-weight: bold;
font-size: larger;
}

dd {
margin: 0;
}
}
// .... continued...

然后在 products/index/index.html.erb 中,例如我可以有类似的东西 <td class = "list_description" > , ...

所以我的问题是我是否需要某种完全限定的命名来访问该 css 文件中的嵌套类?或者我可以在没有层次结构的情况下命名它们?

我在 DHH 的敏捷书籍中看到了这种处理 CSS 的方式 - 他创造了 Rails! - 但在 Michael Hartl 的书中,他做的是更传统的 CSS 嵌入。那么哪个更好呢?

最佳答案

这更像是一个 CSS 问题。

嵌套的 CSS 选择器被提议用于 CSS3,但 Sass 现在会处理它们。他们所做的是将选择器“命名空间”在不同的元素下:因此您可以只使用 class="list_description" 只要它在带有的元素内class="products"

换句话说,Sass 会将上面的翻译成这个等价的规则:

.products .list_description {
width:60%;
}

这将匹配这个:

<div class="products">
<div class="list_description">Matches</div>
</div>

但不是这个:

<div class="products"></div>
<div class="list_description">Does not match: not inside a "products" classed element.</div>

关于css - Rails 和 SCSS 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com