使用CSS类

时间:2011-02-18 12:47:38

标签: asp.net css css-selectors

<td class="blue">
    <a href="lnk1.aspx">Hi1</a> 
    <a href="lnk2.aspx">Hi2</a> 
    <a href="lnk3.aspx">Hi3</a>
    <div>Not Blue</div>
</td>

我希望标签中的类(“蓝色”)使Hi1,Hi2和Hi3变为蓝色。

那该课程的负责人应该是什么?

????
{
    color:blue;
}

4 个答案:

答案 0 :(得分:7)

使用后代选择器

td.blue a {
    color: blue;
}

或者,如果你只想要直系孩子,那么子选择器

td.blue > a {
    color: blue;
}

参考资料:

  • 大多数浏览器支持的选择器:CSS 2.1
  • 某些浏览器和各种JavaScript库支持的较新选择器(用于与DOM交互):CSS3 Selectors

答案 1 :(得分:2)

使用以下内容。这意味着任何a元素中具有类名td的所有blue元素都应显示为蓝色。

td.blue a {
  color:blue;
}

但是,你应该注意,在语义上给你的CSS类特定于风格的名称(比如'blue'或'bold'或'center')是不明智的 - 如果以后你决定将颜色改为红色,你会必须将对blue类的所有引用更改为red(可能有很多工作),或者留下真正令人困惑的类名,这些名称没有意义。

尝试在有问题的元素之后命名该类。因此,在这种情况下,它可能是td.links

答案 2 :(得分:2)

您需要的CSS选择器会引用blue类及其下方的a标记。

.blue a {
    color:blue;
}

请注意,您可能还需要考虑另一种语法:

.blue>a {
    color:blue;
}

请注意此示例中>.blue之间的a。这两个示例都适用于您给定的HTML代码,但此版本比第一个更具体,因为它只会影响<a>的直接子项blue标记。换句话说,如果<a>中有<div>标记,则第一个版本会影响它,而此版本则不会。{/ p>

缺点是IE6不支持>选择器,因此如果您需要支持IE6用户,则必须使用第一个版本。幸运的是,IE6用户越来越少,但仍有一些用户在那里。

另一件事:我还建议你避免使用引用实际颜色的类名。通常最好将其称为menulink,或类似的东西。

原因是什么?想象一下,在未来你想要改变你的网站,为新版本刷新它。也许新的企业颜色需要品牌重塑。随你。您可以在不对HTML代码进行任何更改的情况下执行此操作;只是一个CSS更新:

.blue a {
    color:red;
}

...但现在你的CSS没有意义。如果您将其称为menulink,即使事情随时间发生变化,您也会始终知道该类所指的内容。

答案 3 :(得分:0)

试试这个。

td.blue a {
    color: #0000FF;
}

这会将td标记内的所有标记设置为蓝色类。