Html 更改逗号分隔选择器的顺序会破坏样式设置
如果我更改子选择器中元素的顺序,则会影响类外的元素 通用HTML:Html 更改逗号分隔选择器的顺序会破坏样式设置,html,css,css-selectors,Html,Css,Css Selectors,如果我更改子选择器中元素的顺序,则会影响类外的元素 通用HTML: <input type='text'> <hr> <table class="mytable"> <tbody> <tr><td><input type='text'></td></tr> <tr><td><input type='text'></td>
<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只需将
放在元素子列表()的第一位,就可以使表前面的第一个输入失去边距。也就是说,第一个输入框的mytable类在不应该被激活时被激活(选中)
input {
margin: 0 0 2em;
}
table.mytable select,input,a {
margin: 0;
}
我在Chrome和Firefox上都测试了这个功能,它们的功能都是一样的。这是一个bug吗?或者有人能解释一下我遗漏了什么吗?第一个选择器:
table.mytable input, select, a
table.mytable select, input, a
针对以下要素:
- 是
table.mytable
- 所有
选择
元素
- 所有锚定元件
table.mytable input
使用(空格)来构造表/输入关系。它仅对那些特定的输入应用margin:0
您的第二个选择器:
table.mytable input, select, a
table.mytable select, input, a
将margin:0
应用于以下元素:
选择
表.mytable的后代元素
- 所有
输入
元素
- 所有锚定元件
table.mytable select,
table.mytable input,
a
第一个选择器:
table.mytable input, select, a
table.mytable select, input, a
针对以下要素:
- 是
table.mytable
- 所有
选择
元素
- 所有锚定元件
table.mytable input
使用(空格)来构造表/输入关系。它仅对那些特定的输入应用margin:0
您的第二个选择器:
table.mytable input, select, a
table.mytable select, input, a
将margin:0
应用于以下元素:
选择
表.mytable的后代元素
- 所有
输入
元素
- 所有锚定元件
table.mytable select,
table.mytable input,
a
试试这个
输入{
边缘:0.02米;
}
table.mytable选择,table.mytable输入,table.mytable a{
保证金:0;
}
试试这个
输入{
边缘:0.02米;
}
table.mytable选择,table.mytable输入,table.mytable a{
保证金:0;
}
CSS的编写方式并不像您希望的那样在“子集”中工作
通过将“选择”放在第一位,您现在无意中删除了所有输入的边距
你现在的样子,如果我把它拆开,会是这样的:
input {
margin: 0 0 2em;
}
table.mytable input {
margin: 0;
}
select {
margin: 0;
}
a {
margin: 0;
}
为了让它按您想要的方式工作,您需要在每个逗号后面包含table.mytable和您想要的每个“子集”
input {
margin: 0 0 2em;
}
table.mytable select,
table.mytable input,
table.mytable a {
margin: 0;
}
CSS的编写方式并不像您希望的那样在“子集”中工作 通过将“选择”放在第一位,您现在无意中删除了所有输入的边距 你现在的样子,如果我把它拆开,会是这样的:
input {
margin: 0 0 2em;
}
table.mytable input {
margin: 0;
}
select {
margin: 0;
}
a {
margin: 0;
}
为了让它按您想要的方式工作,您需要在每个逗号后面包含table.mytable和您想要的每个“子集”
input {
margin: 0 0 2em;
}
table.mytable select,
table.mytable input,
table.mytable a {
margin: 0;
}