我曾希望CSS3会带来JavaScript可读的自定义CSS属性,并影响元素的行为。像jQuery UI之类的JavaScript库通过JavaScript API传递样式选项,就像ASP.NET控件例如它应该打扰有严重AOP的严重开发人员。为什么使用CSS自定义属性不被认为是有用的,例如“-ui-resizable-handles:e se;”或者以任何格式。 AOP是CSS的全部内容,不是吗?自定义CSS属性,为什么不呢?
回答
也许不完全是你的意思,但确实可以节省很多时间,并提供更多的灵活性!
以内的动态行为 如变量,混入,操作 和功能扩展CSS。 LESS运行在客户端(IE 6+,Webkit,Firefox) 和服务器端的 上,带有Node.js.
不是我正在寻找的,但有趣的是。我认为这与ern0的建议是一致的,即为了生成CSS具有更大的灵活性,但并没有解决让CSS提供超出其固定属性集的样式的问题。我经常认为css伪类如下:徘徊在思考之后,在解决一个更大的问题时不断努力。 IE的CSS“行为”不是最好的实现,但可能有一点指向它,即CSS的可扩展性。 – user788364 2011-06-08 17:10:52
不回答问题。 – 2012-12-08 05:14:50
没错,好主意,但我认为有创造增强CSS样式表的更自然方式:生成与PHP(ASP,JSP等,无论您使用)CSS,在服务器端,只是在HTML的情况。那么,这取决于你,从什么来源获得什么CSS。
所有网页都使用动态生成的HTML页面(在AJAX之前,它是构建应用程序的唯一方式),但是使用静态CSS样式。为什么?
在确定会使生成动态CSS规则变得更容易之前,我有过这样的想法。这里提出的问题是不同的,我希望有一种方法来分隔关注点,例如JS(如jQuery插件)编码器不需要在JS API中使用样式命令,例如{height:“fill “}。 – user788364 2011-06-08 17:20:52
我明白了。另外,服务器端生成的/ JS操纵的CSS是一个常见的“父”神话中的“孩子”:CSS是神圣且不可触及的,它必须被编辑并存储在最终的形式中......而我们有1000个模板用于服务器端HTML构建的引擎和用于客户端HTML(DOM)操作的600 JS框架。 – ern0 2011-06-09 06:51:36
很多站点都会生成CSS。但是,这并没有解决OP需要找到级联自定义CSS属性的方法。 – 2012-12-08 05:15:56
您可以借用一个现有的属性,该属性的值为任意字符串。想到的是font-family
,counter-reset
和counter-increment
或animation-name
。使用counter-reset
你可以做这样的事情:
CSS
* {counter-reset: inherit;} /* by default, counter-reset does NOT inherit */
HTML
<div style="counter-reset: my-value; "> <!-- want to set value here -->
<p id="para">Some text.</p> <!-- and retrieve result of cascade here -->
</div>
JS这里
var p_styles = window.getComputedValue(document.getElementById("para"),null);
var p_reset_value = p_styles.counterReset;
var p_myvalue = p_reset_value.split(" ")[0]; /* computed value will be 'my-value 0' */
唯一可能的兼容性问题,因为你是不太可能发生实际上在代码中使用计数器是CSS规则的不必要的副作用。另请注意,该值必须符合"identifier"的CSS定义。如果用空格给出值,它将被解释为两个不同的计数器,并且如果将其用引号括起来,则CSS值将被视为无效。
使用-webkit-区域
如果你是真正的勇者,你也可以使用-webkit-locale
。由于它继承并接受单个字符串值,因此不需要上述大部分内容,包括CSS规则和JS将计算值分开,并消除了值为CSS“identifer”的限制:
HTML
<div style="-webkit-locale: 'bar foo'; "> <!-- want to set value here -->
<p id="para">Some text.</p> <!-- and retrieve result of cascade here -->
</div>
JS
var style = window.getComputedValue(document.getElementById("para"),null);
var prop = style.webkitLocale; // "bar foo"
希望在不久的将来,我们将有CSS层叠变量,这两轮牛车将不再是必要的。
+1纯粹是因为我需要将一些功能转入现有站点(尽可能少地改变),并且需要在图像中存储可点击的url,但是需要在CSS中存储。我使用了'font-family',现在看到该网站的人可以更改图片网址和点击通过网址(如果他们有字体系列值,我只是创建了一个包含链接标签的图片脚本)。辉煌 - 谢谢:) – Archer 2014-01-06 15:24:13
- 1. 为什么我的Polymer自定义CSS属性不起作用?
- 2. JavaFX:自定义CSS属性
- 3. Wix自定义操作属性 - 为什么这不起作用?
- 4. 为什么css转换属性不是独立的css属性?
- 5. WCF DataContractSerializer不提取契约属性......为什么不呢?
- 6. 从JQuery创建iframe - 属性不起作用,为什么不呢?
- 7. 为什么在CSS中定义身体属性?
- 8. 为什么属性值“未定义”?
- 9. 为什么我的自定义属性参数为空?
- 10. CSS属性定义
- 11. 自定义属性为空
- 12. sass mixins和css自定义属性
- 13. CSS自定义属性如何级联?
- 14. ng样式和自定义css属性
- 15. 自定义CSS属性SCSS混入
- 16. ie11的CSS自定义属性填充
- 17. 为什么在Lambda中未收到Cognito自定义属性
- 18. 为什么XhtmlTextWriter会忽略自定义属性?
- 19. JavaScript:为什么getOwnPropertyDescriptor()包含自定义的继承属性?
- 20. HTML5自定义属性 - 为什么要使用它们?
- 21. 为什么cloneNode排除自定义属性?
- 22. performSelector:withObject:afterDelay:不会接受我的自定义UIImageView指针,为什么不呢?
- 23. 为什么不可能为计算属性定义属性观察者?
- 24. 什么“|”性格呢?
- 25. 自定义Sharepoint 2010中的自定义CSS属性WebPart
- 26. 为什么属性在函数中定义时未定义?
- 27. 未在HTML文档中定义JavaScript函数,为什么不呢?
- 28. 将类定义为CSS属性?
- 29. 自定义属性
- 30. 自定义属性
“影响元素行为”没有。 – BoltClock 2011-06-08 04:59:08
有意详细说明或指出来源? – user788364 2011-06-08 17:22:28