Я строю форму, но по сумасшедшей причине nth-child не работает на поля ввода, как кажется. Jsfiddle, чтобы проиллюстрировать проблему: http://jsfiddle.net/nGuLp/. Второе поле ввода не должно иметь правое правое поле, но это так. Почему это не работает? HTML:CSS, nth-child не работает?
<div class="block-inner">
<h1>Blah</h1>
<hr />
<input type="text" placeholder="Voornaam" name="firstname" id="firstname" class="left" />
<input type="text" placeholder="Achternaam" name="surname" id="surname" class="left" />
</div>
CSS:
input {
width: 45%;
margin-right: 10%;
}
input:nth-child(2){
margin-right: 0;
}
'input + input' выбирает второй' ', поэтому он работает в примере OPs, но это не общее решение. Используйте 'input: nth-of-type (2)' вместо этого - см. Https://developer.mozilla.org/en-US/docs/CSS/:nth-of-type –
@RobW: он не является общим, если OP ищет каждый второй «вход», чтобы не иметь правого края. (Что вполне может быть правдой, но я не могу сказать по этому вопросу.) Если OP фактически просто хочет, чтобы второй «ввод» не имел правильного поля, тогда код Нильса правильный, а «nth-child» будет неправильный выбор. –
Вам здесь не нужен div. И 'elt + elt' выбирает любой' elt', который является прямым другом другого: он может выбрать третий, четвертый, если они существуют. – FelipeAls