html - 为什么表中的链接引用的类采用主 <body> 标记中链接的样式?

标签 html css html-table

我正在尝试格式化表格中的链接。我已经为 <body> 中的链接指定了默认格式。标签。它们显示正确。有人能指出为什么以下 CSS 会像 <table class="links"></table> 一样格式化页面上的所有链接(包括标有 <body> 的表格内的链接)吗?标签?我已经阅读了本网站和其他各种关于使用 CSS 格式化标签内对象(使用类)的帖子,但我认为我还遗漏了一些其他基本内容。

body
{
    background-color:#800000;
    color:#FFFFFF;
    font:14px arial,sans-serif;
}
body a:link
{
    color:#FFFFFF; /* unvisited link */
    text-decoration:underline;
    font:11px arial,sans-serif;
}
body a:visited
{
    color:#FFFFFF; /* visited link */
    text-decoration:underline;
    font:11px arial,sans-serif;
}
body a:hover
{
    color:#FFFFFF; /* mouse over link */
    text-decoration:none;
    font:11px arial,sans-serif;
}
body a:active
{
    color:#FFFFFF; /* selected link */ 
    text-decoration:none;
    font:11px arial,sans-serif;
}

table
{
    border-collapse:collapse;
    background-color:#DDDDDD;
    color:#000000;
    font:14px arial,sans-serif;
}
table, td, th
{
    border:1px solid black;
    padding-left: 4px;
    padding-right: 4px;
}
td.header
{
    padding-left: 4px;
    padding-right: 4px;
    padding-top: 1px;
    padding-bottom: 1px;
    font-weight:bold;
}
tr.header
{
    padding-left: 4px;
    padding-right: 4px;
    padding-top: 1px;
    padding-bottom: 1px;
    font-weight:bold;
}
table.links a:link
{
    color:#000000; /* unvisited link */
    text-decoration:underline;
    font:14px arial,sans-serif;
}
table.links a:visited
{
    color:#000000; /* visited link */
    text-decoration:underline;
    font:14px arial,sans-serif;
}
table.links a:hover
{
    color:#000000; /* mouse over link */
    text-decoration:none;
    font:14px arial,sans-serif;
}
table.links a:active
{
    color:#000000; /* selected link */ 
    text-decoration:none;
    font:14px arial,sans-serif;
}

编辑:这是使用样式表的来源。

<?php
    include "../Core/Debug_Start.php";
    include "../Core/Database.php";
    Debug::Out( "Running 'Boat/UpdateBlades.php'" );
    include "User.php";
    include "Blades.php";

    session_start();
    if( !Users::IsUserLoggedIn() )
        header( "location:../index.php" );
?>

<html>
<head>
    <link href="../Styles/Damflask/Style_Damflask.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php
    /////////////////////////////////////////////////////////////

    // returns a full list of all blade sets
    $aBladeSets = Blades::GetAllBladeSets( $database );
    $iNumBladeSets = count( $aBladeSets );
    if( $iNumBladeSets == 0 )
        return;
    $iNumRows = $iNumBladeSets + 1;

    // create the table
    echo( "<table class=\"links\" align=\"center\">" );
    for( $iRowIndex = 0; $iRowIndex < $iNumRows; $iRowIndex++ )
    {
        echo( "<tr>" );
        if( $iRowIndex == 0 )
        {
            // NAME
            echo( "<td class=\"header\">NAME</td>" );

            // AVAILABLE
            echo( "<td class=\"header\">AVAILABLE</td>" );

            // ADDITIONAL INFO
            echo( "<td class=\"header\">INFO</td>" );

            // EDIT / DELETE
            echo( "<td class=\"header\" colspan=\"2\"></td>" );
        }
        else
        {
            // display the blade set
            $iBladeSetIndex = $iRowIndex - 1;
            $bladeSet = $aBladeSets[ $iBladeSetIndex ];

            // NAME
            echo( "<td>" . $bladeSet->GetName() . "</td>" );

            // AVAILABLE
            echo( "<td>" );
            if( $bladeSet->IsAvailable() )
                echo( "Yes" );
            else
                echo( "No" );
            echo( "</td>" );

            // ADDITIONAL INFO
            echo( "<td>" . $bladeSet->GetAdditionalInfo() . "</td>" );

            // EDIT
            echo( "<td><a class=\"tablelink\" href=\"UpdateBlades.php?BladesID=" . $bladeSet->GetID() . "\">EDIT</a></td>" );

            // DELETE
            echo( "<td><a class=\"tablelink\" href=\"DeleteBladeSet.php?BladesID=" . $bladeSet->GetID() . "\">DELETE</a></td>" );
        }
        echo( "</tr>" );
    }
    echo( "<tr><td colspan=\"5\"><a href=\"AddBlades.php\">ADD A NEW BLADE SET</a></td></tr>" );
    echo( "</table>" );

    /////////////////////////////////////////////////////////////

    $database->CloseConnection();
    include "../Core/Debug_End.php"
?>
</body>
</html> 

最佳答案

刚刚意识到(4 个月后)我还没有结束这个问题。事实证明,body{} 和 table{} 标签之间有一个空格:

body a:active
{
    color:#FFFFFF; /* selected link */ 
    text-decoration:none;
    font:11px arial,sans-serif;
}
 <--- A space.
table
{
    border-collapse:collapse;
    background-color:#DDDDDD;
    color:#000000;
    font:14px arial,sans-serif;
}

通过删除空格,它可以按预期工作。

关于html - 为什么表中的链接引用的类采用主 <body> 标记中链接的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542211/

相关文章:

自定义字体的 jQuery 颜色更改在 Firefox 中正常工作,但在 Chrome 中却不起作用?

CSS 隐藏表列以供打印

javascript - JQuery 和单选按钮数组

javascript - 如何切换结构以确定哪个类具有正文?

Android ICS 浏览器固定标题样式消失

css - 如何最大 float 网格元素的高度

JQuery 在重定向之前检查哪个输入文本框的边框颜色是红色

html - 如何垂直对齐多个表格列

javascript - 如何创建一个 html 表,每行的列数未知,使列对齐,并为每个单元格/行提供一个 id?

java - 如何从 Groovy 模板中的输入类型 ="date"获取日期?