1

我想问你是否可以为不同的 HTML 元素使用相同的背景图像?

意味着,我有 HTML 代码(其中的一部分):

<div class="src">
 <form action="#">
  <input type="text" class="text" />
  <input type="submit" class="submit" />
 </form>
</div>


<div class="menu">
 <ul class="level1">
  <li class="test1"><a href="#">Test1</a></li>
  <li class="test2"><a href="#">Test2</a></li>
 </ul>
</div>

和简单的CSS

.src {
 background: url(images.png) 0 -45px no-repeat;
}

.menu ul.level1 li {
 background: url(images.png) 0 0 no-repeat;
}

.menu ul.level1 li.test1 {
 background-position:-15px -120px;
}

.menu ul.level1 li.test2 {
 background-position: -50px -120px;
}

这个技术好不好?是占用更少的HTTP请求吗?

如何在 CSS 中编写通用背景图像并使用,对于不同的 HTML 元素,只有背景位置?还是不可能?

方法:

.generic {
 background: url(images.png) no-repeat;
}

.src {
 background-position: 0 -45px;
}

.menu ul.level1 li {
 background-position: 0 0;
}

.menu ul.level1 li.test1 {
 background-position:-15px -120px;
}

.menu ul.level1 li.test2 {
 background-position: -50px -120px;
}

谢谢

4

1 回答 1

1

是的,这很好。

您可以简单地为将使用它的每个元素声明背景图像,如下所示:

.element1, .element2, .element3 {
 background-image:url(image.png);
 background-repeat:no-repeat;
}

然后像您所做的那样声明每个元素的背景位置。

于 2012-07-30T08:50:31.330 回答