В CSS можно ли выбрать последний элемент перед оберткой?
Например,
У меня есть куча div бок о бок, и каждый div имеет border-right: 1px
Родительский элемент - это определенная ширина, поэтому в определенной точке дополнительный div обертывается на следующую строку.
В сущности, я НЕ хочу, чтобы граница была последней для последнего div перед оберткой.
Если это не имеет смысла, я могу создать скрипку. Я просто хочу знать, могу ли я настроить таргетинг на последний div перед оберткой. (last-child будет нацелен на последний div, который находится на следующей строке, которая не нужна.)
Ответы
Ответ 1
Объясните, сколько столбцов вы получаете с текущей шириной, либо с жестким кодом, либо с JS, а затем с помощью селектора nth-child
.
Например, если у вас есть 3 столбца на строку с каждым div
, имеющим класс col
, это будет
div.col:nth-child(3n){border-right:none;}
Селектор nth-child может быть изменен в зависимости от того, сколько столбцов находится в каждой строке div
s.
Ответ 2
Невозможно выбрать последний элемент из нескольких строк, только :last-child
.
Если ваши элементы выравниваются в столбцах, вам может быть интересен многоколоночный модуль. Он обладает свойством свойства столбца, который похож на границы, но отображается только вертикально между столбцами, никогда не на внешних краях.
http://cssdeck.com/labs/febtiiet
.container {
columns: 20em;
column-rule: 1px solid;
}
Может потребоваться префиксы: http://caniuse.com/#feat=multicolumn
В противном случае вам нужно будет переключиться на размещение границы слева, как предлагает MrLister:
http://cssdeck.com/labs/f8qjngd4
.container {
overflow: hidden;
padding: 0;
border-style: none;
}
.child {
border-left: 1px solid;
position: relative;
left: -1px;
display: inline-block;
width: 20em;
}