Saltar al contenido

Etiqueta HTML <button>

La etiqueta <button> se utiliza para crear botones clicables en la página web. La diferencia entre estos elementos y los botones creados con la etiqueta <input> es que puedes colocar contenido (imágenes o texto) dentro de <button>.

TIP

Utiliza el elemento <input> para definir un botón dentro de un formulario HTML, ya que los navegadores muestran el contenido de la etiqueta <button> de manera diferente.

Sintaxis

La etiqueta <button> se escribe en pares. El contenido se coloca entre las etiquetas de apertura (<button>) y cierre (</button>).

Ejemplo de la etiqueta HTML <button>:

Ejemplo de la etiqueta HTML <button>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Here will be our button</h1>
    <button type="button">Click</button>
  </body>
</html>

Uso de estilos CSS

Puedes aplicar estilos CSS a la etiqueta <button> para cambiar la apariencia del botón, su tamaño, color, fuente del texto, etc.

Ejemplo de la etiqueta <button> con estilos CSS:

Ejemplo de la etiqueta HTML <button> con propiedades de color y fuente CSS

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    Ordinary button
    <button type="button">Add to the recycle bin</button>
    <hr />
    Button with red text
    <button type="button" style="color: red;"><b>HTML Book </b></button>
    <hr />
    Button with increased font size
    <button type="button" style="font: bold 14px Arial;">Download the book </button><br />
  </body>
</html>

Resultado

html button styles

Atributos

TIP

La etiqueta <button> no tiene atributos obligatorios; sin embargo, recomendamos siempre usar el atributo type="button" si la etiqueta se utiliza como un botón normal.

Nota: Si se omite el atributo type y el botón se coloca dentro de un formulario HTML, su valor predeterminado es type="submit".

Atributos

AtributoValorDescripción
autofocusautofocusIndica que el botón debe recibir el foco después de cargar la página.
disableddisabledDesactiva el botón. (Se utiliza cuando el botón debe activarse después de realizar alguna acción.)
formform_idEspecifica uno o más formularios a los que pertenece el botón. Si el botón tiene varios formularios, sus identificadores (form_id) deben separarse con espacios.
formactionURLDefine la dirección a la que se enviarán los datos del formulario después de hacer clic en el botón. (Solo se utiliza para botones con el atributo type="submit").
formenctypeapplication/x-www-form-urlencodedDefine cómo se deben codificar los datos del formulario al enviarlo. (Solo se utiliza para type="submit"). Todos los símbolos se codifican antes de enviar el formulario (valor predeterminado).
multipart/form-dataCodifica los datos como MIME multipart.
text/plainLos espacios se reemplazan por el signo "+", pero los símbolos no se codifican.
formmethodgetDefine el método de la solicitud HTTP que se utilizará al enviar un formulario (solo para type="submit"). Pasa los datos del formulario en la barra de direcciones ("nombre = valor"), que se agregan a la URL de la página después del signo de interrogación y se separan por un ampersand (&).
postEl navegador se comunica con el servidor y envía los datos para su procesamiento.
formnovalidateformnovalidateIndica que los datos del formulario no deben validarse al enviarlos (solo para type="submit").
formtarget_blankEspecifica dónde se mostrará la respuesta después de enviar el formulario (solo para type="submit"). Abre la respuesta en una nueva ventana.
_selfAbre la respuesta en la ventana actual.
_parentAbre la respuesta en el marco principal.
_topAbre la respuesta en una ventana de ancho completo.
namenameDefine el nombre del botón.
typebuttonDefine un botón normal.
resetBotón que borra los datos de entrada del formulario.
submitBotón para enviar los datos del formulario.
valuetextDefine el valor del botón.

La etiqueta <button> también admite los Atributos Globales y los Atributos de Eventos.

¿Cómo agregar texto alternativo a un botón con una imagen?

Para agregar texto alternativo a un botón con una imagen, puedes usar el atributo alt. Aquí tienes un ejemplo:

¿Cómo agregar texto alternativo a un botón con una imagen?

html
<button type="button">
  <img src="button-image.png" alt="Button Label">
</button>

En este ejemplo, se ha agregado el atributo alt al elemento img dentro del elemento button. El valor del atributo alt debe ser una breve descripción de la imagen, la cual será leída por lectores de pantalla en lugar de la imagen misma.

¿Cómo agregar un enlace a un botón?

Para crear un enlace clicable que parezca un botón, utiliza un elemento <a> estilizado con CSS. Envolver un <button> dentro de un <a> no es válido en HTML5. Aquí tienes el enfoque correcto:

¿Cómo agregar un enlace a un botón?

html
<a href="https://example.com" class="button-link">
  Button Label
</a>

En este ejemplo, el elemento <a> está estilizado para parecer un botón. Cuando el usuario hace clic en él, será redirigido a la URL enlazada.

Práctica

¿Cuáles son algunas propiedades y usos de la etiqueta HTML <button>?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.