我刚刚意识到以下两种方式都有效。我不确定是否可以省略label
而只是放[type="checkbox"]
。
我感到困惑,因为documentation与教程和人员的代码不同。有些人使用元素,有些人省略元素。
它是否起重要作用?这两个版本有什么区别吗?
我很感激一位经验丰富的人提出的建议。
<form action="/submit-your-photo" id="your-photo">
<p>How would you describe yourself?</p>
<label><input type="checkbox" name="personality" checked> Loving</label>
<label><input type="checkbox" name="personality"> Lazy</label>
<label><input type="checkbox" name="personality"> Energetic</label><br>
<input type="text" placeholder="your photo URL" required>
<button type="submit">Submit</button>
</form>
CSS:
我的版本:
input[type="checkbox"]{
margin: 20px 10px;
}
II版:
[type="checkbox"]{
margin: 20px 10px;
}
答案 0 :(得分:3)
第一个版本:
input[type="checkbox"]
...定位所有 input
元素,其type
属性的确切值为checkbox
1 。< / p>
第二个版本:
[type="checkbox"]
...定位所有元素,其type
属性的确切值为checkbox
1 。
它与此相同:
*[type="checkbox"]
由于checkbox
类型仅对input
元素 2 有效,因此两个选择器几乎完全相同。第一个版本具有更高的特异性 3 。
在下列情况下,会有显着差异。
section[class="blue-background"]
[class="blue-background"]
在第一种情况下,只有具有该类值对的section
个元素才会获得蓝色背景。
在第二种情况下,具有该类值对的所有元素都获得蓝色背景。
1 https://www.w3.org/TR/css3-selectors/#selectors
2 https://www.w3.org/TR/2016/REC-html51-20161101/sec-forms.html#checkbox-state-typecheckbox
答案 1 :(得分:2)
使用该参数查找任何内容,另一个查找具有该参数的输入元素。一个比另一个更具体。你应该使用哪一个取决于你选择风格的东西,没有正确的方式&#34;从这个意义上说。 (尽管在这种情况下它通常并不重要,因为大多数时候输入将是唯一具有该参数的元素。)