對於一個非常神祕的原因,我有一個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 :( –