Меня интересует следующий код:
<html>
<head>
<title>Test HTML</title>
<link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>
<table class=foo cellpadding="2" cellspacing="2">
<tr>
<td><b>Contingency Table:</b></td>
<td><table class=bar border="2" align="left">
<tr><td>blaa</td><td>blaa</td><td>blaa</td></tr>
<tr><td>blaa</td><td>blaa</td><td>blaa</td></tr>
<tr><td>blaa</td><td>blaa</td><td>blaa</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
со следующим CSS:
table {
border-width: 2px;
border-spacing: 2px;
border-style: solid;
}
table.bar {
border-color: red;
background-color: white;
}
table.bar td {
background-color: green;
}
table.bar tr {
background-color: black;
}
table.foo {
border-color: blue;
background-color: white;
}
table.foo td {
border-color: black;
background-color: yellow;
}
table.foo tr {
background-color: yellow;
}
Проблема заключается в том, что при обмене классами "foo" и "bar" втаблица и ее вложенная таблица, стиль тегов td установлен неправильно или, по крайней мере, не так, как я ожидал.При переходе от внешнего «bar» и внутреннего «foo» к внешнему «foo» и внутреннему «bar» цвета меняются, как и ожидалось, за исключением цветов элемента td.Что я делаю здесь неправильно, так как другие элементы таблицы изменяются правильно?
Я знаю, что использование table table.foo {...}
будет работать, но для этого необходимо знать, какой стиль следует использовать для внутренней / вложенной таблицы иМне не очень нравится эта идея.Я хочу иметь возможность обмениваться стилями при желании и не включать «наследование» в таблицу стилей ... Кроме того, диктовать порядок стилей foo или bar в таблице стилей нежелательно для меня.Пожалуйста, исправьте меня, если это обычная практика HTML / CSS.