【发布时间】:2017-03-09 02:58:11
【问题描述】:
如果我更改子选择器中元素的顺序,它会影响类之外的元素。
普通 HTML:
<input type='text'>
<hr>
<table class="mytable">
<tbody>
<tr><td><input type='text'></td></tr>
<tr><td><input type='text'></td></tr>
<tr><td><input type='text'></td></tr>
</tbody>
</table>
此 CSS 有效 (jsfiddle):
input {
margin: 0 0 2em;
}
table.mytable input,select,a {
margin: 0;
}
以下 CSS 只需将 <select> 放在元素的子列表 (jsfiddle) 的首位,就会导致表格前的第一个输入丢失其边距。也就是 mytable 类在不应该被激活(选中)的第一个输入框。
input {
margin: 0 0 2em;
}
table.mytable select,input,a {
margin: 0;
}
我在 Chrome 和 Firefox 中都对此进行了测试,它们的行为方式相同。那么这是一个错误吗?或者有人可以解释我缺少什么吗?
【问题讨论】:
标签: html css css-selectors