1

我在下面有这段代码:

.prev, .next {
    position: absolute;
    top: 50%;
    left: 0;
    width: 69px;
    height: 135px;
    margin-top: -68px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../images/slider-nav.png) 0 0 no-repeat;
}

我在主页上需要这些类,但在关于页面上需要相同的类,但具有不同的背景。这是最好的方法。当然我可以复制它并创建例如类 prevAbout 和 nextAbout 但我认为有更好的变体来继承或类似这样的事情。

我已经添加了代码,但它只适用于 prev 类

.prev, .next, .prevClub {
    position: absolute;
    top: 50%;
    left: 0;
    width: 69px;
    height: 135px;
    margin-top: -68px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../images/slider-nav.png) 0 0 no-repeat;
}
.prev:focus, .next:focus {
    outline: none;
}
.next {
    left: auto;
    right: 0;
    background-position: -75px 0;
}

.prevClub, nextClub {
    background: url(../images/slider-nav2.png) 0 0 no-repeat;
}

.nextClub {
    left: auto;
    right: 0;
    background-position: -75px 0;
}
4

2 回答 2

3

有很多方法可以做到这一点。

一种方法是覆盖 CSS 并使用不同的图像。

.prev, .next, .another-class {
    position: absolute;
    /* Etc... */
    background: url(../images/slider-nav.png) 0 0 no-repeat;
}

.another-class {
    background: url(new image) 0 0 no-repeat;
}

另一种方法是将它们限定为层次结构树上的一个元素:

<body class="home">
  <!-- later down your html -->
  <a class="prev">prev</a>
</body>

<body class="about-us">
  <!-- later down your html -->
  <a class="prev">prev</a>
</body>

.prev, .next {
    position: absolute;
    /* Etc... */
}

.about-us .prev, .about-us .next {
    background: url(new image) 0 0 no-repeat;
}

.home .prev, .home .next {
    background: url(new image) 0 0 no-repeat;
}

另一种方法是应用一个公共类,然后应用一个特定类:

.nav-link {
  /* all common css goes here */
}

.home-prev-link {
  /* BG declaration here */
}

.about-prev-link {
  /* BG declaration here */
}

然后你可以定位他们:

<a class="nav-link home-prev-link">Prev</a>
<a class="nav-link about-prev-link">Prev</a>
于 2013-08-14T15:27:35.453 回答
0

在 about 页面上定位它们所在的容器并覆盖背景图像。

#about-container .prev, #about-container .next {
  background-image:url('image');
}
于 2013-08-14T15:28:28.277 回答