对于一个非常神秘的原因,我有一个CSS文件的范围仅局限于一个元素:隔离CSS范围
<html>
<head>
<link rel="stylesheet" type="text/css" href="one.css">
</head>
<body>
<div id="first-container">
</div>
<div id="second-container">
<link rel="stylesheet" type="text/css" href="two.css">
</div>
</body>
</html>
在one.css
的规则应该像往常一样被应用,而在two.css
规则应仅限于div#second-container
。
这正是属性scoped
属性应该做的事情:http://w3c.github.io/html-reference/style.html#style.attrs.scoped,但目前不支持(和它永远不会是)http://caniuse.com/#search=scoped。
我试图用正则表达式隔离范围(CSS是10K +行缩小),但它不能很好地工作。
像这样的奇怪用例的任何解决方案(或肮脏的解决方法)?
我可以使用这些方法之一:
- 一次性解决:一些
sed
魔术上two.css
其预先考虑与div#sed-container
- 服务器端解决方案一切:一些神奇的用PHP
- 客户端解决方案:一些神奇的JS,没有额外的服务器电话(即:AJAX)
你是否看过这个库http://arleym.com/scopedcss/static/jquery.scoped.js及其实现的演示页面http://arleym.com/scopedcss/static/index2.html –
我无法使用AJAX :( –