td
bootstrap5.css
bootstrap5.css
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #dee2e6;
}
bootstrap5.css
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
bootstrap5.css
.table-bordered th,
.table-bordered td {
border: 1px solid #dee2e6;
}
bootstrap5.css
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
bootstrap5.css
.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
border: 0;
}
bootstrap5.css
.table-primary,
.table-primary > th,
.table-primary > td {
background-color: #b8daff;
}
bootstrap5.css
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
border-color: #7abaff;
}
bootstrap5.css
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
background-color: #9fcdff;
}
bootstrap5.css
.table-secondary,
.table-secondary > th,
.table-secondary > td {
background-color: #d6d8db;
}
bootstrap5.css
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
border-color: #b3b7bb;
}
bootstrap5.css
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
background-color: #c8cbcf;
}
bootstrap5.css
.table-success,
.table-success > th,
.table-success > td {
background-color: #c3e6cb;
}
bootstrap5.css
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
border-color: #8fd19e;
}
bootstrap5.css
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #b1dfbb;
}
bootstrap5.css
.table-info,
.table-info > th,
.table-info > td {
background-color: #bee5eb;
}
bootstrap5.css
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
border-color: #86cfda;
}
bootstrap5.css
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #abdde5;
}
bootstrap5.css
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #ffeeba;
}
bootstrap5.css
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
border-color: #ffdf7e;
}
bootstrap5.css
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #ffe8a1;
}
bootstrap5.css
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f5c6cb;
}
bootstrap5.css
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
border-color: #ed969e;
}
bootstrap5.css
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #f1b0b7;
}
bootstrap5.css
.table-light,
.table-light > th,
.table-light > td {
background-color: #fdfdfe;
}
bootstrap5.css
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
border-color: #fbfcfc;
}
bootstrap5.css
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
background-color: #ececf6;
}
bootstrap5.css
.table-dark,
.table-dark > th,
.table-dark > td {
background-color: #c6c8ca;
}
bootstrap5.css
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
border-color: #95999c;
}
bootstrap5.css
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
background-color: #b9bbbe;
}
bootstrap5.css
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
bootstrap5.css
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
bootstrap5.css
.table-dark th,
.table-dark td,
.table-dark thead th {
border-color: #454d55;
}
bootstrap5.css
@media print {
/* 印刷字に利用するCSS mediaで大きく括って、それぞれのタグの設定をする */
*,
*::before,
*::after {
text-shadow: none !important;
box-shadow: none !important;
}
a:not(.btn) {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #adb5bd;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
@page {
size: a3;
}
body {
min-width: 992px !important;
}
.container {
min-width: 992px !important;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #dee2e6 !important;
}
.table-dark {
color: inherit;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
border-color: #dee2e6;
}
.table .thead-dark th {
color: inherit;
border-color: #dee2e6;
}
}
html bootstrap5 Sample
テーブルの基本スタイル:table
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
罫線付きテーブル:table-bordered
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>タイトル</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<td>タイトル</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<td>タイトル</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
罫線無しテーブル:table-borderless
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-borderless">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
テーブルthead:thead-dark
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
テーブルthead: thead-light
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table">
<thead class="thead-light">
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
背景色用のクラス:bg-*
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
なし(標準) | データ | データ | データ |
bg-primary | データ | データ | データ |
bg-success | データ | データ | データ |
bg-warning | データ | データ | データ |
bg-danger | データ | データ | データ |
bg-info | データ | データ | データ |
<table class="table table-dark">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>なし(標準)</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="bg-primary">
<td>bg-primary</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="bg-success">
<td>bg-success</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="bg-warning">
<td>bg-warning</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="bg-danger">
<td>bg-danger</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="bg-info">
<td>bg-info</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
th,tdの背景色:bg-*
th(標準) | th.bg-primary |
---|---|
td.bg-success | td.bg-warning |
td.bg-danger | td.bg-info |
テーブル trの背景色:table-*
背景色用のクラス | タイトル | タイトル | タイトル |
---|---|---|---|
なし(標準) | データ | データ | データ |
table-active | データ | データ | データ |
table-primary | データ | データ | データ |
table-secondary | データ | データ | データ |
table-success | データ | データ | データ |
table-danger | データ | データ | データ |
table-warning | データ | データ | データ |
table-info | データ | データ | データ |
table-light | データ | データ | データ |
table-dark | データ | データ | データ |
<table class="table">
<thead>
<tr>
<th scope="col">背景色用のクラス</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>なし(標準)</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-active">
<td>table-active</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-primary">
<td>table-primary</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-secondary">
<td>table-secondary</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-success">
<td>table-success</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-danger">
<td>table-danger</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-warning">
<td>table-warning</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-info">
<td>table-info</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-light">
<td>table-light</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr class="table-dark">
<td>table-dark</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
th,tdの背景色:table-*
th(標準) | table-active |
table-primary | table-secondary |
table-success | table-danger |
table-warning | table-info |
table-light | table-dark |
<table class="table">
<tr>
<td>th(標準) </th>
<td class="table-active">table-active</th>
</tr>
<tr>
<td class="table-primary">table-primary</td>
<td class="table-secondary">table-secondary</td>
</tr>
<tr>
<td class="table-success">table-success </td>
<td class="table-danger">table-danger</td>
</tr>
<tr>
<td class="table-warning">table-warning</td>
<td class="table-info">table-info</td>
</tr>
<tr>
<td class="table-light">table-light </td>
<td class="table-dark">table-dark</td>
</tr>
</table>
テーブルの色の反転:table-dark
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-dark">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
テーブル行のマウスオーバー:table-hover
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-hover">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
<table class="table table-hover table-dark">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
縞模様のテーブル:table-striped
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-striped">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
テキストが折り返さないように設定する:text-nowrap
途中で折り返しなし | 折り返しても良い |
---|
<table class="w-50 mx-auto">
<tr>
<th class="text-nowrap">途中で折り返しなし</th>
<td>折り返しても良い</td>
</tr>
</table>
テーブル:table-sm
タイトル | タイトル | タイトル | タイトル |
---|---|---|---|
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
タイトル | データ | データ | データ |
<table class="table table-sm">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
<tr>
<th scope="row">タイトル</th>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
レスポンシブテーブル:table-responsive
タイトル | タイトル | タイトル | タイトル | タイトル |
---|---|---|---|---|
データ | データ | データ | データ | データ |
<!-- tableタグに設定するのではなく、divで囲む -->
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
</div>
レスポンシブテーブルsm未満:table-responsive-sm
タイトル | タイトル | タイトル | タイトル | タイトル |
---|---|---|---|---|
データ | データ | データ | データ | データ |
<div class="table-responsive-sm mb-5">
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
</div>
レスポンシブテーブルmd未満:table-responsive-md
タイトル | タイトル | タイトル | タイトル | タイトル |
---|---|---|---|---|
データ | データ | データ | データ | データ |
<div class="table-responsive-md mb-5">
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
</div>
レスポンシブテーブルlg未満:table-responsive-lg
タイトル | タイトル | タイトル | タイトル | タイトル |
---|---|---|---|---|
データ | データ | データ | データ | データ |
<div class="table-responsive-lg mb-5">
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
</div>
レスポンシブテーブルxl未満:table-responsive-xl
タイトル | タイトル | タイトル | タイトル | タイトル |
---|---|---|---|---|
データ | データ | データ | データ | データ |
<div class="table-responsive-xl mb-5">
<table class="table">
<thead>
<tr>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
<th scope="col">タイトル</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
<td>データ</td>
</tr>
</tbody>
</table>
</div>
フォームバリデーション:novalidate
<form class="needs-validation" novalidate>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validation01">姓</label>
<input type="text" class="form-control" id="validation01" placeholder="First name" value="山田" required>
<div class="valid-feedback">
入力済!
</div>
</div>
<div class="col-md-6 mb-3">
<label for="validation02">名</label>
<input type="text" class="form-control" id="validation02" placeholder="Last name" value="太郎" required>
<div class="valid-feedback">
入力済!
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validation03">市町村</label>
<input type="text" class="form-control" id="validation03" placeholder="市町村名を入力" required>
<div class="invalid-feedback">
市町村名を入力してください
</div>
</div>
<div class="col-md-3 mb-3">
<label for="validation04">都道府県</label>
<input type="text" class="form-control" id="validation04" placeholder="都道府県名を入力" required>
<div class="invalid-feedback">
都道府県名を入力してください
</div>
</div>
<div class="col-md-3 mb-3">
<label for="validation05">郵便番号</label>
<input type="text" class="form-control" id="validation05" placeholder="郵便番号を入力" required>
<div class="invalid-feedback">
郵便番号を入力してください
</div>
</div>
</div>
<button class="btn btn-primary" type="submit">送信する</button>
</form>
<!-- 無効な入力がある場合にフォームの送信を無効にする -->
<script>
(function () {
'use strict';
window.addEventListener('load', function () {
// Bootstrapのフォームの入力検証スタイルを適用するフォームを取得
var forms = document.getElementsByClassName('needs-validation');
// ループして帰順を防ぐ
var validation = Array.prototype.filter.call(forms, function (form) {
form.addEventListener('submit', function (event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
ツールチップJS:valid-tooltip
<!-- マウスオンで説明文を表示する -->
<form class="needs-validation" novalidate>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validation01">姓</label>
<input type="text" class="form-control" id="validation01" placeholder="First name" value="山田" required>
<div class="valid-tooltip"> 入力済! </div>
</div>
<div class="col-md-6 mb-3">
<label for="validation02">名</label>
<input type="text" class="form-control" id="validation02" placeholder="Last name" value="太郎" required>
<div class="valid-tooltip"> 入力済! </div>
</div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validation03">市町村</label>
<input type="text" class="form-control" id="validation03" placeholder="市町村名を入力" required>
<div class="invalid-tooltip"> 市町村名を入力してください </div>
</div>
<div class="col-md-3 mb-3">
<label for="validation04">都道府県</label>
<input type="text" class="form-control" id="validation04" placeholder="都道府県名を入力" required>
<div class="invalid-tooltip"> 都道府県名を入力してください </div>
</div>
<div class="col-md-3 mb-3">
<label for="validation05">郵便番号</label>
<input type="text" class="form-control" id="validation05" placeholder="郵便番号を入力" required>
<div class="invalid-tooltip"> 郵便番号を入力してください </div>
</div>
</div>
<button class="btn btn-primary" type="submit">送信する</button>
</form>
<!-- 無効な入力がある場合にフォームの送信を無効にする -->
<script>
(function () {
'use strict';
window.addEventListener('load', function () {
// Bootstrapのフォームの入力検証スタイルを適用するフォームを取得
var forms = document.getElementsByClassName('needs-validation');
// ループして帰順を防ぐ
var validation = Array.prototype.filter.call(forms, function (form) {
form.addEventListener('submit', function (event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
タブ型ナビゲーション(JavaScript経由):thisとtabとshow
ホームのコンテンツが入ります。
プロフィールのコンテンツが入ります。
コンタクトのコンテンツが入ります。
<ul class="nav nav-tabs" id="myTab_js" role="tablist">
<li class="nav-item"><a class="nav-link active" id="home-tab" href="#home_js" role="tab" aria-controls="home"
aria-selected="true">ホーム</a></li>
<li class="nav-item"><a class="nav-link" id="profile-tab" href="#profile_js" role="tab" aria-controls="profile"
aria-selected="false">プロフィール</a></li>
<li class="nav-item"><a class="nav-link" id="contact-tab" href="#contact_js" role="tab" aria-controls="contact"
aria-selected="false">コンタクト</a></li>
</ul>
<!-- パネル部分 -->
<div class="tab-content mt-3" id="myTabContent">
<div class="tab-pane fade show active" id="home_js" role="tabpanel" aria-labelledby="home-tab">ホームのコンテンツが入ります。</div>
<div class="tab-pane fade" id="profile_js" role="tabpanel" aria-labelledby="profile-tab">プロフィールのコンテンツが入ります。</div>
<div class="tab-pane fade" id="contact_js" role="tabpanel" aria-labelledby="contact-tab">コンタクトのコンテンツが入ります。</div>
</div>
<script>
$('#myTab_js a').on('click', function (e) {
// 本来のaの通常処理をしない
e.preventDefault()
$(this).tab('show')
})
</script>