Angular 2アプリケーションでNgbDropdown
コンポーネントを使用しています。正常に動作していますが、ボタンの右側に表示されている矢印を削除したいです。
<div class="d-inline-block" ngbDropdown #myDrop="ngbDropdown">
<button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle>Toggle dropdown</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu1">
<button class="dropdown-item">Action - 1</button>
<button class="dropdown-item">Another Action</button>
<button class="dropdown-item">Something else is here</button>
</div>
</div>
次のCSSスタイルを追加するだけで、.dropdown-toggle::after
疑似要素のデフォルトスタイルを上書きできます。
.dropdown-toggle::after {
display:none;
}
デフォルトでは、bootstrapは ::after
pseudo-element を介してドロップダウンコンポーネントに矢印を追加します。
これを行うと削除されます。
これはLIVE DEMOのデモです。
chrome devツールを使用して、要素を検査できます:
上記から、.dropdown-toggle
クラスに疑似要素:: afterのスタイルセットがあることがわかります。要素のプロパティを変更してみましょう!この目的のために、display
プロパティをnone
に変更します。
疑似要素はもうありません!!:
Bootstrap 4では、$enable-caret
SASS変数を宣言してfalse
に設定することにより、キャレットと呼ばれるドロップダウン矢印を削除できます。
$enable-caret: false;
これは、Bootstrapの_variable.scss
に設定されているtrue
のデフォルト値を上書きします。
// Options
//
// Quickly modify global styling by enabling or disabling optional features.
$enable-caret: true !default;
ただし、対応するCSSスタイルが完全に削除されることに注意してください。したがって、グローバルにキャレットを必要とせず、CSSペイロードを減らしたい場合は、これが最良のアプローチです。