Как без добавления лишних классов задать border только с определенных сторон
Надо чтобы border
был как на картинке (боковые границы принадлежат родительскому блоку) : у всех кто стоит слева-нет левой границы, все в верхней строке не имеют верхнюю границу, элементы прижатые к правому краю не имею правую границу, последний элемент должен иметь только верхнюю (не обязательно) и правую границу.
Но я не хочу присваивать столько class
для элементов. Можно ли это сделать через:
:first-child
,
:last-child
.p {
display: flex;
flex-flow: row wrap;
justify-content: left;
align-content: center;
width: 700px;
height: 900px;
}
.o {
padding: 30px;
flex: 1 1 calc(100% / 3);
box-sizing: border-box;
background: greenyellow;
}
.bb {
border-bottom: 5px solid rebeccapurple;
}
.br{
border-right: 5px solid rebeccapurple;
}
.item7 {
flex: 0 1 calc(100% / 3);
}
<div class="p">
<div class="o bb br">1</div>
<div class="o bb br">2</div>
<div class="o bb">3</div>
<div class="o bb br">4</div>
<div class="o bb br">5</div>
<div class="o bb br">6</div>
<div class="o br item7 ">7</div>
</div>