ブートストラップドロップダウンボタンを変更して、パディング後のボタン幅の計算からキャレットを移動したいと考えています。言い換えれば、私は両サイドに等しいパディングを提供することで、ボタンのテキストを「中央に配置」したいが、ドロップダウンキャレットはまだ右に置いておく。Bootstrapドロップダウンボタンにキャレットを配置する
私は(部分的に働いたが、縦位置/センタリングを失っ)ボタンを相対位置を使用してを含むいくつかのもの、(すべてでは動作しませんでした)と絶対配置を試してみました。
はまた、このトリッキー作るいくつかあります:
- いくつかのドロップダウンにテキストを持っていない、唯一のアイコンを
:before
要素/セレクタを使用しています) サンプルHTML:
<div class="btn-group"
<button type="button" class="btn btn-default dropdown-toggle fa fa-download">
<span class="caret"></span>
</button>
<button type="button" class="btn btn-default fa fa-envelope"></button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle">
More <span class="caret"></span>
</button>
</div>
「正しい」例でわかるように、キャレットはボタンの幅に影響を与えなくなりました(ただし、ピンクの線で示されたボタンのパディングの「内側」です)。誰でもこれがどのように可能か知っていますか?ありがとう!
UPDATE:答えを@Dekelに
おかげで(少し両方のタイプ[アイコンとテキストを持つものだけを持つもの]のための私のニーズや仕事に合うように適応):
/* I also removed the space in the HTML before the caret, which is where "top" comes in */
.btn.fa .caret {
left: 5px;
position: absolute;
top: calc(50% - 1px);
}
.btn .caret {
position: absolute;
top: calc(50% - 1px);
right: -12px;
}
.btn .caret {
position: absolute;
top: calc(50% - 1px);
}
:私は、これはあなたが探しているもので、ほぼ確信している
例を挙げることはできますか? (jsfiddle/snippet/codepen) – Dekel
@Dekelありがとう、元のメッセージに追加するのを忘れてしまった。 –