gpt4 book ai didi

functional-programming - CSS 不支持在样式中应用样式有什么原因吗?

转载 作者:行者123 更新时间:2023-12-02 06:11:34 24 4
gpt4 key购买 nike

在 CSS2 甚至即将推出的 CSS3 中,我找不到完全自然且省时的东西 - 从其他样式中应用 CSS 样式,而不是从 HTML 中应用。

例如:

.awesome-image {
border: 1px #000 solid;
margin: 2px;
}

.super-awesome-image {
.alwesome-image; // or something like that - this is similar to a function call in a functional language
padding: 2px;
}

很多时候,人们无法访问生成的 HTML,因此修改 CSS 是唯一的选择。

这种继承支持会让生活变得更轻松,因为我们能够将 CSS 规则视为“函数”并重用代码而不是重复代码。

还是我遗漏了什么,而 CSS 确实支持它(我以前从未见过?)或计划支持它?请赐教。

编辑:考虑另一个例子,它表明声明 .awesome-image, .super-awesome-image {common rules} 并不优雅:

.border5 {
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px
}

我宁愿不要在同一定义中堆积所有其他想要具有边界半径的类。唉,这就是在没有功能支持的情况下需要做的事情(我多次提到只能访问 CSS 文件而不是 HTML 本身)。

最佳答案

在 CSS 中,这是按如下方式实现的:

.super-awesome-image, .awesome-image {
border: 1px #000 solid;
margin: 2px;
}

.super-awesome-image {
padding: 2px;
}

样式可以同时应用于多个类,这样可以轻松继承。

关于 CSS 是否应该被赋予函数式编程技术或层继承的争论很多,但这种类继承的风格可能会保留。

编辑:如果你可以用 php 生成样式,这样的继承应该是非常可行的。查看这些脚本(主要处理 CSS 变量,但可能做的更多):

  1. http://www.shauninman.com/archive/2005/08/05/css_variables
  2. http://www.joesapt.net/2005/09/03/08.46.34
  3. http://interfacelab.com/variables-in-css-via-php/
  4. http://www.conditional-css.com/

关于functional-programming - CSS 不支持在样式中应用样式有什么原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092721/

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