2017-02-20 3 views
2

De tout ce que je sais sur <button> s vs input[type="button"], je ne vois pas d'avantages qui me obligeraient à utiliser input[type="button"] - y en a-t-il?Dans les navigateurs modernes d'aujourd'hui, y a-t-il un avantage à utiliser l'entrée [type = "button"] sur <button>?

Notez que je ne me soucie pas de < IE11.

+0

Votre titre de la question et le texte ne correspondent pas - vous comparez ''

+0

Merci d'avoir rattrapé cela - mis à jour. – jbyrd

+0

Copie possible de [

Répondre

2

Je ne suis pas sûr s'il y a des raisons plus techniques, mais ma préférence a été pour HTML et CSS plus simples.

Il est plus facile d'écrire <button>Button</button> et de le styler avec button {…} que pour <input type="button" value="Button'> et input[type="button"] {…}. Sans oublier votre <input type="button"> héritant peut-être des styles malheureux input {…}, nécessitant plus de lignes de CSS pour annuler les dégâts.

Les deux méthodes ont fonctionné pendant des siècles (IE6 +?), Bien que je crois que certains navigateurs plus anciens ont <button> clics soumettre des formes par défaut, sauf indication contraire.

1

C'est une très bonne question car la réponse n'est pas ce à quoi vous pourriez vous attendre.

Il s'avère que la considération la plus pertinente n'est pas l'élément <input>/<button> du tout ... mais l'attribut type.

Voici pourquoi:

Le comportement par défaut de <button> est identique à <input type="submit" />

Si vous voulez obtenir un <button> à se comporter (ainsi que regarder) comme <input type="button" />, vous aurez besoin d'utiliser .. .

<button type="button">