Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

<button> ou <input>

Sobre a semântica do HTML, na aula, é mostrada a criação de um botão utilizando a tag <input>. Porém, a tag <button> também existe. Qual é a diferença em termos semânticos e funcionais entre usar uma ou outra? Como escolher a melhor opção?

2 respostas
solução!

Olá Khayan!

Semanticamente, eles tem o mesmo significado. O elemento <button> foi criado mais recentemente e tem um modo de uso diferente, veja como fica o mesmo botão usando <input> e <button>:

<input class="favorite styled"
       type="button"
       value="Add to favorites">

<button class="favorite styled"
        type="button">
    Add to favorites
</button>

A página do MDN sobre <button> (em inglês), diz sobre as vantagens de usá-lo:

É muito mais fácil estilizar elementos <button> do que elementos <input>. Você pode adicionar conteúdo HTML (como <em>, <strong>, ou até <img>), e usar pseudo-elementos ::after e ::before para executar composições complexas, enquanto <input> aceita apenas um atributo value do tipo texto.

Ou seja, através da tag <button> conseguimos além de uma melhor semântica, facilidades e vantagens na estilização do elemento. Legal, Pablo! Obrigado.