В 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;
}