Bootstrap 4 - Botões
Descrição
Bootstrap fornece um botão clicável para colocar conteúdo, como texto e imagens. Você pode incluir o texto no botão usando a tag <input>.
Você pode criar o botão usando a classe .btn seguida pelo estilo desejado (por exemplo, btn-sucesso). O Bootstrap oferece algumas opções para estilizar os botões, que estão listados abaixo -
btn-primary
btn-secondary
btn-success
btn-danger
btn-warning
btn-info
btn-light
btn-dark
btn-link
O exemplo a seguir demonstra todas as classes de botão acima -
Exemplo
<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>
Isso produzirá o seguinte resultado -
Resultado
Botões de contorno
O Bootstrap 4 fornece cor semântica para o contorno de um botão usando a classe .btn-outline seguida pelo estilo desejado (por exemplo, btn-outline-success).
O exemplo a seguir demonstra a exibição de botões delineados -
Exemplo
<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>
Isso produzirá o seguinte resultado -
Resultado
Tamanhos de botão e botões de nível de bloco
O Bootstrap 4 fornece botões menores e maiores usando as classes .btn-sm e .btn-lg e a classe .btn-block cria um botão de nível de bloco que abrange toda a largura de um pai, conforme mostrado no exemplo abaixo -
Exemplo
<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>
Isso produzirá o seguinte resultado -
Resultado
Estado ativo e desativado
O bootstrap permite que você altere o estado dos botões como ativos e desabilitados . Os botões aparecerão pressionados quando estiver no estado ativo e o botão perderá o gradiente e perderá a cor em 50%, então dizemos que está no estado desativado.
Use a classe .active para mostrar o botão ativado e adicione o atributo disabled para tornar o botão inativo. O exemplo a seguir demonstra os estados do botão -
Exemplo
<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>
Isso produzirá o seguinte resultado -
Resultado
Alternar caixas de seleção e botões de rádio
O Bootstrap 4 permite aplicar estilos de botão a botões de rádio e caixas de seleção para usar o recurso de alternância. Você pode alternar entre caixas de seleção e botões de opção dentro de um elemento <label>, adicionando data-toggle = "buttons" dentro do elemento .btn-group .
O exemplo a seguir demonstra como alternar entre caixas de seleção e botões de opção -
Exemplo
<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>
Isso produzirá o seguinte resultado -