我有一個簡單的HTML頁面,如下所示: -基本CSS DIV拼圖
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>
<div id="div1">
<form>
<table>
<tr>
<td>Col1</td>
<td>Col2</td>
</tr>
</table>
</form>
</div>
</body>
</html>
的CSS是: -
div#div1 table,td {
border: 1px solid black;
}
div#div2 table,td {
border: none;
}
正如你所看到的,DIV2是不是在我的HTML甚至用,但是當我在瀏覽器中打開HTML文件時,這是在繪製表格邊框時生效的那個。它不應該使用div1的border屬性嗎?更奇怪的是 - 如果我在CSS文件中移動div#div1上方的div#div2,它可以正常工作。另外,如果我完全從CSS中刪除div#div2,它就可以工作。我在這裏很愚蠢,錯過了很基本的東西嗎?
謝謝!
http://www.w3.org/TR/selectors/#grouping – j08691
您使用的選擇器:DIV #div1 table和td,然後是div#div2 table和td,所以基本上當你改變CSS中第一個和第二個選擇器的位置時,你定義了td兩次,第一次顯示none,然後顯示一個邊框。 table和td不是嵌套在div#div1或div#div2中。要在#div1中定義table和td,您需要顯式聲明選擇器:#div1 table,#div1 td,併爲div2執行此操作。 –