bootstrap4.css
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-righ
bootstrap4.css
@media (min-width: 576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
■レイアウト:rowとcol:グリッドレイアウトのネスト 入れ子

構造が再帰的に繰り返されて記述されること 自分が自分に戻ってくること

第一階層: col-sm-9
第二階層: col-8とcol-sm-6
第二階層: ¥col-4とcol-sm-6
第一階層: col-sm-3
<p>構造が再帰的に繰り返されて記述されること 自分が自分に戻ってくること</p>
  <div class="row">
    <div class="col-sm-9">第一階層: col-sm-9 
      <div class="row">
        <div class="col-8 col-sm-6">第二階層: col-8とcol-sm-6</div>
        <div class="col-4 col-sm-6">第二階層: ¥col-4とcol-sm-6</div>
      </div>
     </div>
     <div class="col-sm-3">第一階層: col-sm-3</div>
  </div>
■カード:card:コンポーネント:カードとグリッドレイアウト

カードのタイトル

カードの内容

ボタン

カードのタイトル

カードの内容

ボタン
  
  <div class="row">
    <!-- カラム01 -->
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h4 class="card-title">カードのタイトル</h4>
          <p class="card-text">カードの内容</p>
          <a href="#" class="btn btn-primary">ボタン</a>
        </div>
      </div>
    </div>
    <!-- カラム02 -->
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h4 class="card-title">カードのタイトル</h4>
          <p class="card-text">カードの内容</p>
          <a href="#" class="btn btn-primary">ボタン</a>
        </div>
      </div>
    </div>
  </div>
■折り畳み:collapse:JavaScript:アコーディオン折り畳みcollapse

a要素の切替ボタンをクリックすることで表示と非表示とが切り替わるコンテンツ

button要素の切替ボタンをクリックすることで表示と非表示とが切り替わるコンテンツ
    <div class="row">
      <div class="col-sm-6 mb-4">
        <!-- a要素とhref属性による切替ボタン -->
        <p>
          <a class="btn btn-secondary" data-toggle="collapse" href="#collapseContent01" role="button" aria-expanded="false" aria-controls="collapseContent01">a要素とhref属性によるボタン</a>
          <a data-toggle="collapse" href="#collapseContent01" aria-expanded="false" aria-controls="collapseContent01">
            a要素とhref属性<br>
            によるボタン<br>
            罫線なし、色なしでやれば、それっぽく見えるはず
          </a>
        </p>
        <!-- 切り替えるターゲットとなるコンテンツ -->
        <div class="collapse" id="collapseContent01">
          <div class="card card-body">
            a要素の切替ボタンをクリックすることで表示と非表示とが切り替わるコンテンツ
          </div>
        </div>
      </div>
      <div class="col-sm-6 mb-4">
        <!-- button要素とdata-target属性による切替ボタン -->
        <p>
          <button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#collapseContent02" aria-expanded="false" aria-controls="collapseContent02"> button要素とdata-target属性によるボタン</button>
        </p>
        <!-- 切り替える対象となるコンテンツ -->
        <div class="collapse" id="collapseContent02">
          <div class="card card-body">
            button要素の切替ボタンをクリックすることで表示と非表示とが切り替わるコンテンツ
          </div>
        </div>
      </div>
    </div>