在哪里放置大背景图片 css?

Where to put css for large background images?

我正在创建一个网站,每个网站的顶部都有一个大的预告图片(作为背景图片)。

现在的问题是,将背景图像的样式表放在哪里,以加快加载时间。

第一个选项是为每个站点使用嵌入式样式表:

HTML 站点 #1

<div id="teaserimage" style="background-image: url("/path/to/img1.jpg")"></div>

HTML 站点 #2

<div id="teaserimage" style="background-image: url("/path/to/img2.jpg")"></div>

HTML 站点 #3

<div id="teaserimage" style="background-image: url("/path/to/img3.jpg")"></div>

另一种选择是使用一个 .css 文件并将所有图像放在那里。

HTML 站点 #1

<div id="teaserimage" class="site1"></div>

HTML 站点 #2

<div id="teaserimage" class="site2"></div>

HTML 站点 #3

<div id="teaserimage" class="site3"></div>

CSS:

#teaserimage.site1 { background-image: url("/path/to/img1.jpg")" }
#teaserimage.site2 { background-image: url("/path/to/img2.jpg")" }
#teaserimage.site3 { background-image: url("/path/to/img3.jpg")" }

什么会更快?第二个选项更容易管理,但这个选项可能更慢,因为所有图像都已加载 - 甚至是其他站点的图像?在我当前的 Firefox 版本中,只加载了所需的图像,但我可以假设吗?

内联样式仅应用于您指定的 HTML 元素。

与内部样式表一样,这会产生维护问题。如果您想更改某些内容,则必须找到您使用该特定内联样式的每个实例。

什么时候可以使用内联样式?与内部样式表一样,当您有 1 或 2 个特定位置需要特殊样式时。同样,这可以在外部样式表中完成,以便于维护。您在第一个选项中使用了内联样式表,在第二个选项中使用了外部样式表,第二个最适合它,因为

外部样式表:

通过减少网页中包含的编码来减小网页的大小。 使维护网站和进行更改变得更加容易。 如果未按计划应用样式,则更容易解决问题。您只需从一个位置检查您的样式和它们的写入顺序。

  1. 最好使用外部 css。
  2. 如果 class 条件不匹配,将不会加载图像,因此如果您的 html 上不存在该元素,则 css 规则将不适用,并且图片将不会加载