CSS中的ID被<a> color property</a>覆盖

时间:2013-11-06 02:44:33

标签: css asp.net-mvc-4

这是表创建。第一列显示与其他链接相同,即“编辑”,“详细信息”和“删除”

<tr>
        <td>
           @Html.ActionLink(item.Title, "Details", new { id = item.ID }, htmlAttributes: new {id = "myclass"})
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ReleaseDate)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Genre)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Price)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>

以下是我的CSS课程

a {
    color: #333;
    outline: none;
    padding-left: 3px;
    padding-right: 3px;
    text-decoration: underline;
}

/*.linkproperties{
    color: aqua;
}
#myclass .linkproperties { color: blue;} works fine*/

#myclass .a {color:blue;} / 不起作用 /

如上所述,如果我创建自己的类(.linkproperties),请将其附加到“编辑”,“详细信息”和“删除”操作链接,并使用#myclass覆盖它,但是#不会发生同样的情况myclass .a {color:blue}

2 个答案:

答案 0 :(得分:0)

没有看到你输出的HTML(一个JSFiddle会很好),很难说。但是,有十分之九的问题就像你一样,这是一个CSS特异性问题。 http://css-tricks.com/specifics-on-css-specificity/

答案 1 :(得分:0)

在这种情况下,您应该使用CSS中的!important属性显式覆盖声明。

a {
    color: #333;
    outline: none;
    padding-left: 3px;
    padding-right: 3px;
    text-decoration: underline;
}

.linkproperties{
    color: aqua !important;

这将导致浏览器忽略CSS属性的典型继承和向下流,并应用具有!important属性的任何属性,无论该行的哪些内容通常会覆盖它。

修改

阅读问题的错误部分。我的原则仍然适用,但需要转移到一个新的位置。另外,摆脱了。在a前面,.a是Id,a是超链接。

CSS

#myClass a {color: blue !important;}

HTML

 <td class="myClass">
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>

最后,这是显示工作结果的JSFiddle(使用实际的链接代替@ Html.ActionLinks