Моя проблема в том, что я хочу отображать «стрелки» выше и ниже определенных разделов (которые я, конечно, давал занятия).
Эти стрелки могут быть как снизу, так и сверху, и вы можете выбрать влево и вправо как для нижней, так и для верхней стрелки:
Я сделал фрагмент для демонстрации, но не смог правильно вставить SVG, поэтому заменил этот код на background: red;
.
Проблема с приведенным выше кодом заключается в том, что он использует селектор с подстановочными знаками в классах, поэтому он может создавать помехи.Поэтому я бы предпочел что-то вроде class="arrow arrow-top arrow-left"
.Однако это создает проблему при добавлении двух стрелок в один раздел: class="arrow arrow-top arrow-left arrow-bottom arrow-right"
.
Есть предложения о том, как оптимизировать этот код?
[class*=arrow]:before, [class*=arrow]:after {
content: '';
display: none;
position: absolute;
left: 0;
right: 0;
height: 50px;
height: 12vw;
width: 100%;
//background-image: url("arrow.svg#svgView(preserveAspectRatio(none))");
background-color: red;
background-size: 100% 100%;
}
[class*=arrow-top] {
padding-top: 50px;
padding-top: 12vw;
}
[class*=arrow-bottom] {
padding-bottom: 50px;
padding-bottom: 12vw;
}
.arrow-top-left:before {
display: block;
top: 0;
}
.arrow-top-right:before {
display: block;
top: 0;
transform: scaleX(-1);
}
.arrow-bottom-left:after {
display: block;
bottom: 0;
transform: scaleY(-1);
}
.arrow-bottom-right:after {
display: block;
bottom: 0;
transform: scale(-1, -1);
}
/* unessential code */
section {
background-color: #EC644B;
height: 300px;
position: relative;
}
section:nth-child(odd) {
background-color: #DCC6E0;
}
p {
padding: 20px;
}
<section class="arrow arrow-top arrow-bottom-left">
<p>Een prachtige sectie</p>
</section>
<section class="arrow-top-right arrow-bottom-right">
<p>Een prachtige sectie</p>
</section>
<section class="arrow-bottom-right">
<p>Een prachtige sectie</p>
</section>