Как можно добавить лейбл у кнопки по аналогии с селектом (Material ui)

Всем привет. Используется библиотека Material UI Как можно добавить для кнопки лейбл. Возможно есть какие-то костыли?

example


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

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

Все отступы на глаз подбирал. Можно добавить анимации смещения лейбла при нажатии, чтобы выглядело более презентабельно.

.btn {
  background: none;
  border: 1px solid black;
  padding: .5rem;
  position: relative;
  margin: 10px;
}

.btn:active {
  background: gray;
}

.btn2:active > .btn__label {
  display: none;
}

.btn__name {
  font-size: 2rem;
}

.btn__label {
  position: absolute;
  font-size: 1rem;
  background: white;
  padding: 0 .5rem;
  top: -0.5rem;
}

.btn3__label {
  background: none;
  left: 0;
  padding: 0 0 0 1rem;
  
}



/*длины на глаз подогнал*/
.btn3::before{
  content: "";
  position: absolute;
  display: block;
  width:  3rem;
  height: 1px;
  top: -1px;
  left: .5rem;
  background: white;
}

.btn3:active::before {
  background: gray;
}
<button class="btn btn1">
  <div class="btn__label">label</div>
  <div class="btn__name">Лейбл с фоном</div>
</button>

<br/>

<button class="btn btn2">
  <div class="btn__label">label</div>
  <div class="btn__name">Скрываем лейбл с фоном</div>
</button>

<br/>


<button class="btn btn3">
  <div class="btn__label btn3__label">label</div>
  <div class="btn__name">Лейбл без фона</div>
</button>

→ Ссылка