bootstrap4.css
.input-group-prepend,
.input-group-append {
  display: -ms-flexbox;
  display: flex;
}
bootstrap4.css
.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}
bootstrap4.css
.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
  z-index: 3;
}
bootstrap4.css
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -1px;
}
bootstrap4.css
.input-group-append {
  margin-left: -1px;
}
bootstrap4.css
.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}
bootstrap4.css
.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}
bootstrap4.css
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
bootstrap4.css
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
■フォーム:form-group:コンポーネント:入力コントロールの前後にアドオンを配置

$
.00
      <div class="input-group">
        <div class="input-group-prepend"> <span class="input-group-text">$</span> </div>
        <input type="text" class="form-control" aria-label="金額">
        <div class="input-group-append"> <span class="input-group-text">.00</span> </div>
      </div>
■フォーム:form-group:コンポーネント:入力グループ ボタン付きアドオン

      <div class="input-group mb-3">
        <input type="text" class="form-control" placeholder="検索キーワード" aria-label="検索キーワード" aria-describedby="basic-addon1">
        <div class="input-group-append">
          <button class="btn btn-secondary" type="button">検索</button>
        </div>
      </div>
      <div class="input-group mb-3">
        <div class="input-group-prepend">
          <button class="btn btn-secondary" type="button">好き</button>
        </div>
        <input type="text" class="form-control" placeholder="商品名" aria-label="商品名" aria-describedby="basic-addon2">
        <div class="input-group-append">
          <button class="btn btn-secondary" type="button">嫌い</button>
        </div>
      </div>
■フォーム:form-group:コンポーネント:入力グループ ドロップダウン付きアドオン

      <div class="input-group">
        <input type="text" class="form-control" aria-label="ドロップダウン付テキスト入力欄">
        <div class="input-group-append">
          <button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">アクション</button>
          <div class="dropdown-menu">
            <a class="dropdown-item" href="#">リンク1</a>
            <a class="dropdown-item" href="#">リンク2</a>
            <a class="dropdown-item" href="#">リンク3</a>
          </div>
        </div>
      </div>
■フォーム:form-group:コンポーネント:入力グループ 複数のアドオンを組み合わせる

$ 0.00
$ 0.00
      <div class="input-group mb-3">
        <div class="input-group-prepend">
          <div class="input-group-text">
            <input type="radio" aria-label="次のテキスト入力用のラジオボタン"> </div> <span class="input-group-text">$</span> <span class="input-group-text">0.00</span> </div>
        <input type="text" class="form-control" aria-label="金額"> </div>
      <div class="input-group">
        <input type="text" class="form-control" aria-label="金額">
        <div class="input-group-append"> <span class="input-group-text">$</span> <span class="input-group-text">0.00</span>
          <div class="input-group-text">
            <input type="checkbox" aria-label="前のテキスト入力用のチェックボックス"> 
          </div>
        </div>
      </div>
■フォーム:form-group:コンポーネント:入力グループ スプリットボタン付きアドオン

      <div class="input-group">
        <input type="text" class="form-control" aria-label="スプリットボタン付テキスト入力欄">
        <div class="input-group-append">
          <button type="button" class="btn btn-secondary">アクション</button>
          <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <span class="sr-only">ドロップダウン切替</span>
          </button>
          <div class="dropdown-menu">
            <a class="dropdown-item" href="#">リンク1</a>
            <a class="dropdown-item" href="#">リンク2</a>
            <a class="dropdown-item" href="#">リンク3</a>
          </div>
        </div>
      </div>