2012-12-16 50 views
2

我正在开发一个asp.net 4.0的网站。在设计时,我有一个问题每个网页的独立css

  • 是不是每个网页都有单独的CSS?

OR

  • 有一个CSS的所有样式?

请告诉我什么是最好的解决办法?

+2

最好的解决办法是中间道路 - 在所有页面上的通用CSS,但小的不同页面之间可以随时存在。 – Aristos

回答

2
从缓存和在其他的答案中概述减少福利

除此之外,考虑到你的CSS基本上分配主题到您的网站或Web应用程序。如果您考虑主题在您最喜爱的媒体播放器或网络浏览器中的工作方式,那么当您应用该主题时,它通常会影响整个应用程序,而不仅仅是其中的一部分。

因此,如果你认为你的CSS为题材,它就变得更容易为你的设计师,然后改变你的网站的外观和感觉,而不必碰HTML单行。由于一个好的设计实践是将HTML,JavaScript和CSS完全分开,因此可以更轻松地对其中一个进行更改,而无需担心其他人的更改。这减少了错误的可能性,因为没有改变的事物保持稳定。

更重要的是,您的设计人员只需对1个文件进行更改即可创建新主题,这使他们的工作更轻松。它让你的工作变得更轻松,因为你不必经过并修复一堆破碎的HTML和JavaScript,因为CSS专家必须修改那些可能不是他们专业领域的代码。

这种做法的一个很好的例子是Stack Exchange。堆栈溢出,Server Fault,Super UserStack Apps都运行在相同的Q &引擎,但每一个都有一个稍微不同的主题。要创建一个全新的Q &网站,前端更改几乎只涉及CSS更改。这就是Stack Exchange如何脱颖而出,只有1名设计人员Jin负责管理网络上每个Q站点的设计。使他的工作更轻松的是标准化和简单化,并遵循“不要重复自己”的经验法则。

通过观察浏览器的源代码,你可以看到只有1 CSS文件:

<link rel="stylesheet" type="text/css" 
     href="http://cdn.sstatic.net/stackoverflow/all.css?v=52aab16f8140"> 
2

最好是把所有的规则在一个CSS文件,因为这个文件将被缓存以后的所有请求。

除非你有大量的CSS(即超过几百kB),这不应该影响CSS引擎的性能,但它会显着加快页面的加载速度,因为不必为每个CSS重复请求页面加载,除了您生成的HTML页面外,这将是您最大的单次加载时间增长。

编辑:您应该考虑实现编译时(或按需)串联;这样你可以拥有多个CSS文件,这些文件将作为单个文件提供给客户端。

2

这取决于您的代码库的大小。

典型的全球规则都应该在一个文件中,除非你正在处理一个庞大的代码库,在那里他们组织到不同的文件是有道理的(但仍然在全球包括在每次请求)。

通常页面特定CSS应放在自己的文件,只包括在需要它的网页。

通常与大型代码库来说,你将有一个minifier和建立的过程,串接所有全局CSS到一个文件中,包括在生产环境中。这可能很难调试,所以在开发中最好将它们保存为单独的文件。

1

不,不要为每个网页保留单独的css。一个职业从来不会这样做。但你可以使用不同的浏览器两个或三个独立的CSS ..

+2

嗨shonosn,欢迎来到Stack Overflow。你可以通过解释为什么*专业人士从不这样做来让你的答案更好。否则,你只是一个随机的人在互联网上发表声明。 ;)希望这有助于,并欢迎! – jmort253