Я хочу добиться этих линейных градиентных границ с помощью CSS. Я попробовал добавить это:
.demo-mode {
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 62.72%);
box-shadow: inset 0 100vw #111026;
border: 1px solid transparent;
border-radius: 24px;
}
Но это показывает мне левую и правую границы, а также нижнюю границу, а не верхнюю.
.wrapper {
padding: 20px;
background: #111026;
}
.demo-mode {
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 62.72%);
box-shadow: inset 0 100vw #111026;
border: 1px solid transparent;
border-radius: 24px;
width: 250px;
height: 250px
}<div class = "wrapper">
<div class = "demo-mode"></div>
</div>





Вы можете исправить это, добавив:
background-origin: border-box;
бордюр
Фон располагается относительно рамки.
Здесь вы можете найти дополнительную информацию о background-origin.
.wrapper {
padding: 20px;
background: #111026;
}
.demo-mode {
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 62.72%);
background-origin: border-box;
box-shadow: inset 0 100vw #111026;
border: 1px solid transparent;
border-radius: 24px;
width: 250px;
height: 250px
}<div class = "wrapper">
<div class = "demo-mode"></div>
</div>Спасибо, это работает, я также отредактировал свой вопрос и добавил еще один случай, который, возможно, вы сможете помочь.
Не могли бы вы адаптировать этот ответ к своему варианту использования? stackoverflow.com/a/53037637/12571484