Как сделать glass effect в css

Здравстуйте, помогите пожалуйста. Мне нужно сделать новый эффект из фигмы в моем проекте (html css), как это сделать, я не нашел информации в интернете, мне нужна именно такая кнопка (генераторы которые есть сейчас не подошли).

введите сюда описание изображения

Мне нужна обычная темная кнопка на темном фоне, с белым border (border не везде)


Ответы (2 шт):

Автор решения: BlackStar1991

Если вам надо быстро реализовать, то проще всего будет срезать две части кнопки которые не доходять до конца. элементы кнопки

И задать их через псевдоклассы. СSS код кнопки будет приблизительно такой

body {
  background: #000;
  margin: 0;

}

button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  box-sizing: border-box;
}

.decor-btn {
  margin: 20px;
  position: relative;
  padding: 10px 50px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-radius: 30px;
}

.decor-btn:before,
.decor-btn:after {
  content: "";
  position: absolute;
  top: -1px;
  width: 50px;
  height: 37px;
  z-index: 1;
}

.decor-btn:before {
  left: 0;
  background-image: url("1.webp");
  background-color: rgba(255, 0, 0, 0.3);
}

.decor-btn:after {
  right: 0;
  background-image: url("1.webp");
  background-color: rgba(255, 0, 0, 0.3);
}
<button class="decor-btn">First button</button>

Показал красным куда должны стать изображений, ну и там ещё закругления добавить, внутреннеи тени, правильный шрифт и тд.

Ну или можно искать другие варианты решения... Через канонические градиенты, блур, смещения и тд... Хотя если кнопки не прилеплены к экрану, то использовать данный метод сомнительная радость.

→ Ссылка
Автор решения: R3DRUMVNE

Вот вариант с внешней обёрткой в виде div и псевдоэлементами с background: radial-gradient.

Обратите внимание на margin: 1px; у button. Без него будут видны "артефакты" от border.

body{
    background-color: black;
}

.button{
    font-size: 16px;
    color: aliceblue;
    border-radius: 50px;
    padding: 7px 32px 7px 32px;
    background-color: black;
    border: 1px solid aliceblue;
    box-sizing: border-box;
    margin: 1px;
}

.border_glass{
    position: relative;
    overflow: hidden;
    width: max-content;
    height: max-content;
    border-radius: 50px;
}

.border_glass:before{
    content: '';
    position: absolute;
    top: 5px;
    left: -5px;
    width: 35px;
    height: 35px;
    background: radial-gradient(closest-side, black 60%, transparent);
}

.border_glass:after{
    content: '';
    position: absolute;
    top: -5px;
    right: -5px;
    width: 35px;
    height: 35px;
    background: radial-gradient(closest-side, black 60%, transparent);
}
<div class="border_glass">
    <button class="button">КРАСИВАЯ КНОПКА</button>
</div>

→ Ссылка