Я пытаюсь создать сетку, используя
display:inline=block
Мне нужно стилизовать каждый последний элемент каждой строки/строки по-разному. Я пытался
nth-child
nth-of-type
Однако, когда я использую это, он смешивается с моими другими сетками. Итак, как мне это сделать без добавления новых классов?
Изменить 1: http://jsfiddle.net/#&togetherjs=kfTw3ULKmE
Изменить 2: Я решил, что встроенные блоки были слишком сложными, поэтому я переключился на float. Моя сетка работает сейчас!
Насколько я видел из вашего кода, вы не можете использовать nth-child для достижения своей цели. Я попытаюсь объяснить с помощью примера: вы хотите, чтобы 4-й и 8-й дочерние части класса = "четыре" были окрашены в красный цвет. Чтобы использовать nth-child или nth-of-type, вы должны ссылаться на детей, начиная с их родителя, т.е. Тела. Поэтому трудно сказать, какое число в списке детей тела составляют 4-й и 8-й дети секции класса = "четыре", и это совсем не гибко. Я думаю, вы используете его неправильно, что-то вроде section.four: last-child, что неверно. Проверьте: w3schools link
Кроме того, nth-child и nth-of-type нельзя использовать с селектором, но только с элементом, поэтому не нужно делать что-то вроде.four: nth-child (в случае, если вы делаете div с классом = "четыре" вне ваших разделов).
Таким образом, единственный способ, не добавляя больше классов, - это jquery, например:
$('.four').last().css('background-color', 'red');
:nth-child()
на W3.org или :nth-child()
на MDN ,
В CSS3, если вы связываете каждый nth-child с классом какого-либо типа, а каждый n-й тип с другим классом может по-разному стилизовать каждый. Например,
<html>
<div class="nth-child">
//some code
</div>
<div class="nth-of-type">
//some code
</div>
</html>
Затем в вашем файле CSS вы сделаете что-то похожее на это:
.nth-child
{
//style rules
}
.nth-of-type
{
//style rules
}
Надеюсь, это то, что вы искали, без опубликованного примера, как это трудно понять, что вы точно имеете в виду. Но если вы хотите, чтобы мы JS для этого, вы создали бы JS-функцию для получения всех элементов на вашей странице, используя "var elements= document.getElementsByClassName("nth-child")"
Вы пропустили бы через" elements.length "каждый стиль элемента "none"
:nth-child()
и :nth-of-type()
соответственно ... что и подразумевается в этом вопросе.
:last-child
, вероятно, поможет купить его, может не сработать в ваших обстоятельствах