代码之家  ›  专栏  ›  技术社区  ›  DD.

嵌套CSS问题

css
  •  1
  • DD.  · 技术社区  · 14 年前

    我有以下代码:

    <table class="top">
    <tr>
    
        <td>
        <table class="errMsg"><tr><td>Required field must not be blank </td></tr></table>
    <td/>
    <tr/>
    </table>
    

    我正在尝试设置错误消息的样式,但“top”样式仍在应用:

    .top td {
    color:black;
    
    }
    
    .errmsg td {
    color:red;
    }
    

    错误信息显示为黑色…如何修复此问题? 不知道这是否重要,但当我拿出dtd它的工作正常,但它搞砸了定位。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    2 回复  |  直到 14 年前
        1
  •  4
  •   Gert Grenander Keiron Lowe    14 年前

    类名区分大小写,所以 errmsg 不等于 errMsg . 改变 <table class="errMsg"> <table class="errmsg"> .

        2
  •  1
  •   ChrisLively    14 年前

    我会使用严格的或过渡的doctype。xhtml doctype没有得到很好的支持,我的理解是它基本上正在消失。

    严格使用:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    

    过渡使用:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    

    我几乎总是使用strict,因为它提供了最好的浏览器支持。通常,我只需要设置几个次要样式来固定某些标记的边距。

    另外,值得注意的是,当您完全删除doctype行时,所有浏览器都会返回到quirks模式,这很少是一件好事。W3.org有一个 list of valid doctypes 你可能想调查一下。