Испытание: ювелирная работа [33/33]

В курсе объяснялось, что создать треугольник с помощью рамок возможно тогда и только тогда, когда ширина и высота объекта, который окружают рамки равна 0. Почему же когда мы в испытании задаем треугольные ::beforы и ::afterы для пентагона и гексагона в коде не задаются эти условия?
.octa::before{
top: -30px;
border-width: 0 30px 30px;
}
.octa::after
{
bottom: -30px;
border-width: 30px 30px 0;
}

.hexa::after{
bottom: -30px;
border-width: 30px 40px 0;
}

.hexa::before
{
top: -30px;
border-width: 0 40px 30px;
}

А что, по умолчанию after и before имеют какую-то ширину и высоту, чтобы их обнулять?

.stone {
position: absolute;
}

.stone::before,
.stone::after {
content: “”;
position: absolute;
border-style: solid;
}

/* .hexa */

.hexa {
top: 50px;
left: 40px;
width: 80px;
height: 40px;
}

.hexa {
background-color: #2ecc40;
}

.hexa::before,
.hexa::after {
border-color: #2ecc40 transparent;
}

.hexa::before {
top: -30px;
border-width: 0 40px 30px;
}

.hexa::after {
bottom: -30px;
border-width: 30px 40px 0;
}

/* .octa */

.octa {
background-color: #7fdbff;
}

.octa {
right: 45px;
bottom: 50px;
width: 90px;
height: 35px;
}

.octa::before,
.octa::after {
width: 30px;
border-color: #7fdbff transparent;
}

.octa::before {
top: -30px;
border-width: 0 30px 30px;
}

.octa::after {
bottom: -30px;
border-width: 30px 30px 0;
}

/* .penta */

.penta {
top: 20px;
right: 40px;
width: 100px;
height: 100px;
overflow: hidden;
}

.penta::before,
.penta::after {
border-color: #ff4136 transparent;
}

.penta::before {
border-width: 0 50px 50px;
}

.penta::after {
top: 50px;
border-width: 100px 50px 0;
}

/* .rhomba */

.rhomba {
bottom: 70px;
left: 50px;
}

.rhomba::before,
.rhomba::after {
border-width: 50px 30px;
border-color: #ffdc00 transparent;
}

.rhomba::before {
top: 0;
border-bottom: 0;
}

.rhomba::after {
bottom: 0;
border-top: 0;
}

100% результат… Долговато сидел, взял себя на “слабо” и сделал (я новичок все-таки)

1 лайк