# Troca vertical de texto (B 116)

Categoria: Botões  
Tags: text-swap, slide, rectangle, two-labels  
Página: https://designforai.dev/pt/snippet/btn-116

## Prompt

Um botão escuro #111827, raio de 8px, altura fixa de 46px, texto branco de 15px semibold com padding lateral de 24px. O rótulo fica numa caixa com overflow hidden; no hover ele desliza para cima e sai de vista, e um segundo rótulo (vindo de um atributo data-alt, na cor #a5b4fc) entra por baixo em 300ms. No active escurece para preto. Foco com outline escuro de 2px e offset de 3px.

## HTML

```html
<button class="btn-116"><span data-alt="On my way">Get started</span></button>
```

## CSS

```css
.btn-116 {
  position: relative;
  overflow: hidden;
  font: 600 15px/1 system-ui,sans-serif;
  color: #fff;
  background: #111827;
  border: 0;
  border-radius: 8px;
  padding: 0 24px;
  height: 46px;
  cursor: pointer
}
.btn-116 span {
  display: block;
  line-height: 46px;
  transition: transform .3s cubic-bezier(.4,0,.2,1)
}
.btn-116 span::after {
  content: attr(data-alt);
  display: block;
  line-height: 46px;
  color: #a5b4fc
}
.btn-116:hover span {
  transform: translateY(-46px)
}
.btn-116:focus-visible {
  outline: 2px solid #111827;
  outline-offset: 3px
}
.btn-116:active {
  background: #000
}
```
