据说Internet Explorer在每个文件中有4096个CSS规则的限制。对通过样式表应用的规则也有一个addRule
函数的限制: 参考文献
此外,它还有一个限制,即单个文档中可以嵌入的样式表数量。我认为这个限制是20。
如果你的CSS文件大小存在问题,那么我认为是时候重新考虑你的样式策略了。CSS中的C代表层叠。当CSS文件变得过于庞大时,往往是由于未适当重用样式以及对层叠行为使用不当所致。
我并不是轻易这么说的。我曾在一些大型复杂的零售网站上工作,目前也在处理非常复杂的金融交易应用程序。每当我遇到超过几百个样式的网站时,我们通过减少CSS的复杂性,实现了设计的大幅改进、复杂度的降低和可维护性的提高。
开始优化CSS的一个地方是在Google上搜索"CSS reset"。有多种不同的实现方式,但它们通常都遵循覆盖每个浏览器布局差异和删除任意边框、外边距和内边距等的主题。从一个空白状态开始,如果可以的话,然后您可以继续构建您的样式,注意充分利用级联和CSS链接。
链接是指在一个元素上有多个类的情况,例如:
<div class="box right small"></div>
box
可能有一些通用的样式,你可能希望应用到许多块级元素,如div、h1...h6、p、ul、li、table、blockquote、pre和form。 small
很容易理解,right
可能只是向右对齐,但具有4px的右填充。无论如何,关键是您可以在一个元素上拥有多个类,并从可重用的构建块(即类)中构建样式 - 即单个样式设置的分组。
在非常简单的级别上,寻找合并样式的机会:
所以:
h1 {font-family: tahoma, color:#333333; font-size:1.4em;}
h2 {font-family: tahoma, color:#333333; font-size:1.2em;}
h3 {font-family: tahoma, color:#333333; font-size:1.0em;}
变成
h1, h2, h3 {font-family: tahoma, color: #333}
h1 {font-size:1.4em;}
h2 {font-size:1.2em;}
h3 {font-size:1.0em;}
只是稍微小一点,但是如果你能这样做很多次,你就可以产生影响。
此外,请验证你的css。这将有助于发现代码中的错误。
你的CSS规则在CSS验证器中的检测结果如何?
将样式表中最后的“无效”规则复制并粘贴到开头:现在有些规则是否起作用了?
好的文本编辑器(如PSPad、Notepad++、Scite)可以发现明显的拼写错误,例如" ; /* */
等。这些错误的范围相对较小,如分号;
或未关闭的注释很容易看出来。我遇到的不太明显的错误是没有关闭括号:
background: green url(img/dummy_gradient.png left top no-repeat;
直到下面CSS规则中距离这里50行的)
才生效!
您的问题是:
CSS文件大小或行数是否有限制?
对于IE9及以下版本,答案是有限制的,具体取决于您所说的“行数”和“大小限制”。
没有限制。可能是文件被缓存了,这就是你看不到修改的原因。尝试清除浏览器缓存或使用 Ctrl+F5。
在某些浏览器中可能存在(我没有听说过,但这是有可能的),但对于 CSS 文件来说,88 KB 绝对是可以接受的。
理论上,没有限制。
实际上,大多数常规浏览器(FF、Chrome、Opera、Safari)都可以处理任何你想要的内容。然而,一些旧的和/或移动浏览器(例如Access NetFront,许多手机都预装了它)在处理较大的页面(约100KB及以上)时会遇到问题,并抛出各种错误。
简而言之:除非你想支持所有奇怪的浏览器,否则没有限制。
当然,浏览器能够处理的内容是有限制的,但它肯定比88千字节或5000行要多得多。一个合理的猜测是大约1兆字节或65535行……在达到极限之前,您很可能会遇到性能问题。
您看不到更改出现的原因可能是缓存。您可以使用Ctrl+F5来清除您自己浏览器中页面的缓存(正如Darin所提到的)。
我们在发布新版本时会将CSS文件重命名,以确保所有访问者都获得最新版本。
wget
下载你的CSS文件,看看它是否完整。如果不完整,问题可能出在服务器上。链接:http://gnuwin32.sourceforge.net/packages/wget.htm - Piskvor left the building