我目前正在为一些CSS样式创建一个库(还有一些是由jQuery定义的,所以随意使用JavaScript/jQuery作为解决方案 - 我不认为这是可能的以任何方式使用普通的CSS)。将CSS文件附加到元素和子元素
我有一些应该只应用于具有特定类的父元素(在示例中为.style-container)的部分。
当然,这可以通过在每个CSS选择器前添加类来实现。
这需要大量的数据需要传递,所以我想也许有可能应用CSS文件,它的内容只是针对特定元素,而不是整个文档的儿童。
想象一下这样的CSS(远简体):
h1 {
color: #f00;
border-bottom: 1px solid #000;
}
这个HTML文件(体内部分):
<div class="style-container">
<h1>This should be styled</h1>
</div>
<div>
<h1>This should be standard style</h1>
</div>
现在也许有一些JavaScript/jQuery的加载该文件只是所有与课堂上的元素和它的孩子。
注:
有可能出现通过JavaScript/jQuery的新元素还没有去过那里,我真的不希望再次加载整个风格,那么,因为这可能会占用大量资源然后加载,以防内容变化非常快。
而且等待也不是一个选项,因为那样的话,元素在被等待的时候就不会被设置样式。
编辑: 再次指出:我在寻找一个更好的选择,标准的CSS孩子选择,将工作是这样的:
.style-container h1 {
color: #f00;
border-bottom: 1px solid #000;
}
我想这一点,因为它使用了大量更多数据从服务器传输到客户端。要理解这一点:我有我的代码的一部分与选择器和没有最小化的形式。带选择器的人需要3698个字符,没有选择器的版本需要2538个字符。这是1160个字符的差异。或者,在kB中,我们有3.61kB - 2.47kB = 1.14kB的差异。这似乎很少,但它只是它将要使用的代码的一小部分。我期待的代码是十倍大。这相差11,4kB。在我看来,这对于移动设备来说是相当大的数量......
我认为css是足够快,如果你指定选择器correclty。阅读这里:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS – rst
是的,CSS是足够快。但我更担心传输的数据量,尤其是因为移动设备。我希望它尽可能适合移动设备。 –