如何仅针对一个页面应用CSS样式更改?

时间:2011-04-12 17:28:44

标签: css css-selectors css-sprites

我有两个css文件:

  1. 主文件(main.css)

  2. 特定页面文件(page5.css)。我的page.css包含main.css(@import url(main.css));)

  3. 我的main.css将其作为设置页面高度的一部分

    #content {
        background:url(../images/image.png) no-repeat;
        width:154px;
        height:356px;
        clear:both;
    }
    

    这适用于所有其他页面,但在第5页,我需要更高的高度。

    我该怎么做呢?

4 个答案:

答案 0 :(得分:16)

您甚至不需要单独的CSS文件。您可以出于各种目的将类添加到您的身体,将页面或页面类型标识为其中之一。所以如果你有:

<body class="page5">

然后在你的CSS中你可以申请:

.page5 #content {
  height: XXXpx;
}

只有在您的主#content定义之后才会出现该页面。

答案 1 :(得分:2)

@import指令后重新定义它:

#content { height: 456px }

对于相同的CSS选择器,后一个规则会覆盖前者。

答案 2 :(得分:1)

page5.css中,只需重新定义高度。

<强> page5.css

#content {
    height:400px;
}

答案 3 :(得分:0)

其他答案在更复杂的页面上无济于事。

假设您希望在第X页上有所不同。

  1. 在页面X上,在body标签上创建一个类(body class =“ myclass”)。
  2. 打开开发人员工具(我使用chrome),然后选择要修改的项目。假设它是一个链接(a.class-'class'是锚的类名称,因此请相应地进行更改)。浏览器将提供可在开发人员工具上使用的相当通用的内容-但在现实生活中会混乱。
  3. 检查已修改字段的父级。
  4. 将HTML标记添加到开发人员工具中作为测试
  5. 如果您的新CSS路径没有变灰,那就很好。如果变灰,则您选择的路径仍需要修复。
    假设父级是具有“父级”类的div。将此路径“ div.parent>”添加到已选择镶边的a.class 符号>表示您正在树上。
  6. 您可以一直在DOM上一直追溯到body.myclass,或者您可能不需要。不需要为父母添加类,但是如果页面上有很大相似之处,则可以添加它们。

这对我有用。