Bootstrap 4 - Botones
Descripción
Bootstrap proporciona un botón en el que se puede hacer clic para colocar contenido como texto e imágenes. Puede incluir el texto al botón mediante la etiqueta <input>.
Puede crear un botón usando la clase .btn seguida del estilo deseado (por ejemplo, btn-success). Bootstrap proporciona algunas opciones para diseñar botones, que se enumeran a continuación:
btn-primary
btn-secondary
btn-success
btn-danger
btn-warning
btn-info
btn-light
btn-dark
btn-link
El siguiente ejemplo demuestra todas las clases de botones anteriores:
Ejemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class="container">
<h2>Button Styles</h2>
<button type = "button" class = "btn btn-primary">Primary Button</button>
<button type = "button" class = "btn btn-secondary">Secondary Button</button>
<button type = "button" class = "btn btn-success">Success Button</button>
<button type = "button" class = "btn btn-danger">Danger Button</button>
<button type = "button" class = "btn btn-warning">Warning Button</button>
<button type = "button" class = "btn btn-info">Info Button</button>
<button type = "button" class = "btn btn-light">Light Button</button><br><br>
<button type = "button" class = "btn btn-dark">Dark Button</button>
<button type = "button" class = "btn btn-link">Link Button</button>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Producirá el siguiente resultado:
Salida
Botones de contorno
Bootstrap 4 proporciona color semántico para el contorno de un botón usando la clase .btn-outline seguida del estilo deseado (por ejemplo, btn-outline-success).
El siguiente ejemplo demuestra la visualización de botones delineados:
Ejemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Button Outlines</h2>
<button type = "button" class = "btn btn-outline-primary">Primary Button</button>
<button type = "button" class = "btn btn-outline-secondary">Secondary Button</button>
<button type = "button" class = "btn btn-outline-success">Success Button</button>
<button type = "button" class = "btn btn-outline-danger">Danger Button</button>
<button type = "button" class = "btn btn-outline-light">Light Button</button>
<button type = "button" class = "btn btn-outline-warning">Warning Button</button>
<button type = "button" class = "btn btn-outline-info">Info Button</button>
<button type = "button" class = "btn btn-outline-dark">Dark Button</button>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Producirá el siguiente resultado:
Salida
Tamaños de botones y botones de nivel de bloque
Bootstrap 4 proporciona botones más pequeños y más grandes mediante el uso de clases .btn-sm y .btn-lg y la clase .btn-block crea un botón de nivel de bloque que abarca todo el ancho de un padre como se muestra en el siguiente ejemplo:
Ejemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Button Sizes</h2>
<button type = "button" class = "btn btn-info btn-sm">Small button</button>
<button type = "button" class = "btn btn-info">Default button</button>
<button type = "button" class = "btn btn-info btn-lg">Large button</button>
</br>
</br>
<h2>Block Level Button</h2>
<button type = "button" class = "btn btn-info btn-lg btn-block">
Block Level Info Button
</button>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Producirá el siguiente resultado:
Salida
Estado activo y desactivado
Bootstrap le permite cambiar el estado de los botones como activo y desactivado . Los botones aparecerán presionados cuando esté en estado activo y el botón perderá el degradado y se desvanecerá en color en un 50%, luego decimos que está en estado desactivado.
Use la clase .active para mostrar el botón activado y agregue el atributo deshabilitado para que el botón esté inactivo. El siguiente ejemplo demuestra los estados del botón:
Ejemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Active State</h2>
<button type = "button" class = "btn btn-lg btn-primary" >
Active button
</button>
<br>
<br>
<h2>Disabled State</h2>
<button type = "button" class = "btn btn-primary btn-lg" disabled>
Disabled Button
</button>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Producirá el siguiente resultado:
Salida
Alternar casillas de verificación y botones de opción
Bootstrap 4 permite aplicar estilos de botones a botones de opción y casillas de verificación para hacer uso de la función de alternancia. Puede proporcionar alternancia de casillas de verificación y botones de opción dentro de un elemento <label>, agregando data-toggle = "buttons" dentro del elemento .btn-group .
El siguiente ejemplo muestra cómo alternar casillas de verificación y botones de opción:
Ejemplo
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "container">
<h2>Checkbox</h2>
<div class = "btn-group btn-group-toggle" data-toggle = "buttons">
<label class = "btn btn-info active">
<input type = "checkbox" name = "options" id = "option1" autocomplete = "off" checked>
HTML-5
</label>
<label class = "btn btn-info">
<input type = "checkbox" name = "options" id = "option2" autocomplete = "off">
CSS-3
</label>
<label class = "btn btn-info">
<input type = "checkbox" name = "options" id = "option3" autocomplete = "off">
Bootstrap-4
</label>
</div>
<br>
<br>
<h2>Radio Buttons</h2>
<div class = "btn-group btn-group-toggle" data-toggle = "buttons">
<label class = "btn btn-primary active">
<input type = "radio" name = "options" id = "option1" autocomplete = "off" checked>
HTML-5
</label>
<label class = "btn btn-primary">
<input type = "radio" name = "options" id = "option2" autocomplete = "off">
CSS-3
</label>
<label class = "btn btn-primary">
<input type = "radio" name = "options" id = "option3" autocomplete = "off">
Bootstrap-4
</label>
</div>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
Producirá el siguiente resultado: