2012-06-14 24 views
1

我创建了一个包含46页的新网站:http://www.lampshade111.com/ 我使用Microsoft Expression Web 4采用动态Web模板。 所有的css都嵌入在dwt页面的标题中,并更新到每个单独的网页。 一切看起来和完美的作品 - 没有问题。CSS嵌入在dwt与外部样式表

但是,我读过的所有内容都建议使用外部样式表。 因此,本着“良好实践”的精神,我从dwt标题中删除了css,并将外部样式表应用于(链接)到dwt。 当然,单个页面由dwt更新,链接的css文件显示在每个页面上。 再次,一切看起来和完美的作品像以前一样。

问题:在使用外部样式表后查看我的网站时,网站在浏览器中速度较慢。

我有另一个网站有256页,所有的CSS都嵌入在主dwt的标题 - 没有外部样式表。 http://www.hoylelamps.com/ 它已经很好的工作了很多年。

问题: 有什么理由不在dwt的标题中使用css? 这是否假设比外部样式表更高效(更快)? 我无法找到关于此主题的任何信息。

感谢您的帮助? - 吉姆

回答

1

我无法想象为什么外部样式表比外部样式“慢得多”。链接的样式表一旦被加载就会被缓存,并且不需要第二次加载。这意味着您加载的第二和第三页应该更快,除非您在每个页面上使用完全不同的格式。

嵌入样式表一开始会运行得更快,因为只有一个资源需要加载。但随着时间的推移,用嵌入式样式表维护多个页面所需的工作将变得更加沉重。请记住,每次在任何页面中更改一个CSS规则时,都必须在每个页面中进行更改,然后再次上传所有这些页面。如果你不这样做,你会在整个网站上有不同的格式。

外部链接样式表排除了这个问题。一个样式表,一个文件来纠正和上传。我能想到的唯一的事情会令你的页面加载或更慢回应如下:

  • 非常大的样式表
  • 使用“进口”,而不是“链接”命令(某些浏览器不同的反应这些命令)
  • 您正在使用非标准CSS或非常密集的样式命令。

没有看到CSS我真的不能给你任何更多的建议。浏览器首先加载两个文件的事实会导致它稍微慢一些。但很难理解为什么整个网站运行速度更慢。

以下是一些建议:

  • 你检查,并在其他浏览器和其他计算机测试网页?也许这不是网页。也许它是浏览器或你使用的计算机。
  • 如果您的样式表很大,请将其分解为逻辑组件。我有格式表格,表单和特殊组件的样式表,它们不会出现在每个页面上。仅加载与该页面相关的CSS。有一个主要样式表,然后为特定类型的组件提供专门的样式表,就像上面提到的那样。
  • 检查您正在使用的命令的类型。您是否充分利用级联,继承和特异性?尝试创建尽可能高效的CSS。

保留嵌入式样式表可能起初很容易,但更新和维护嵌入式样式表的大型网站会更加繁琐。

希望有所帮助。

+0

感谢您的详细解答。 – user1456314

+0

感谢您的详细解答,但没有考虑到我使用了包含嵌入式样式表的Dynamic Web Template(DWT)。 我从单个文件= DWT文件而不是外部样式表进行所有更改。 我不对个别页面进行更改。 我在Firefox,IE和Chrome中测试了我的网站,DWT中的嵌入式样式表在所有浏览器中都更快(与外部样式表相比)。 回到我最初的问题...... 是否有任何理由不使用动态Web模板(DWT)标题中的样式表? 样式表是20行代码。 – user1456314