Bootstrap 4の.pull-leftクラスと.pull-rightクラスはどうなりましたか?


103

最新バージョンでは、プルレフトとプルライトが.pull- {xs、sm、md、lg、xl}-{left、right、none}に置き換えられました。

代わりにシンプルに書くのことを意味しclass="pull-right"、私は書き込みに今持っているだろうclass="pull-md-right pull-xl-right pull-lg-right pull-sm-right pull-xs-right"

退屈な方法はありますか?


5
モバイルファーストのアプローチを十分に理解していないようです。.pull-xs-rightcssはより大きなデバイスにもカスケード接続されるため、オブジェクトはすべての画面サイズで正しくフロートします。Ps最近のバージョンでは変更されているかもしれませんが、.float-rightではなくを使用する必要があります.pull-right
Phill Healey

回答:


15

この質問が最初に尋ねられた2016年に、答えは次のとおりでした:

$('.pull-right').addClass('pull-xs-right').removeClass('pull-right')

しかし今、受け入れられた答えはロバートウェントのものでなければなりません。


8
.float-{sm,md,lg,xl}-{left,right,none}左/右/なしに浮動するように.pull-leftなりました.pull-rightが、およびは削除されました。
ミルコ

1
pull-rightが戻ってきましたが、その場合はcssを使用してください.pull-right{@extend .pull-xs-right;}
Alexis

4
これは2016年9月に回答されました。正解はロバート・ウェントのものです。
Phillip Senn 2018年

9
廃止されたばかりの回答に対して21票の反対票を獲得するのはおかしいようです。
LeonardChallis

@PhillipSennは、チームプレーヤーであることのポイントを失わないように、回答を更新することを検討してください。
wizulus

212

クラスはfloat-right float-sm-right等々です。

メディアクエリはモバイルファーストであるため、を使用float-sm-rightすると小さな画面サイズやより広いものに影響するため、幅ごとにクラスを追加する理由はありません。影響を与えたい最小の画面を使用するかfloat-right、すべての画面幅に使用してください。

公式ドキュメント:

クラス:https : //getbootstrap.com/docs/4.4/utilities/float/

更新:https : //getbootstrap.com/docs/4.4/migration/#utilities

以前のバージョンのBootstrapに基づいて既存のプロジェクトを更新する場合は、sass extendを使用して、古いクラス名にルールを適用できます。

.pull-right {
    @extend .float-right;
}
.pull-left {
    @extend .float-left;
}


25

2018年更新(Bootstrap 4.1以降)

はい、pull-leftpull-rightに置き換えられているfloat-leftfloat-rightブートストラップ4で。

ただし、Bootstrap 4がflexboxになったため、フロートはすべてのケースで機能するわけではありません。

:ALIGNフレキシボックスの子どもの権利、使用自動マージン(すなわちへml-autoまたはフレキシボックスutilsパッケージ(すなわち:) justify-content-endalign-self-endなど。)。

ナビゲーション:

<ul class="nav">
   <li><a href class="nav-link">Link</a></li>
   <li><a href class="nav-link">Link</a></li>
   <li class="ml-auto"><a href class="nav-link">Right</a></li>
</ul>

パン粉:

<ul class="breadcrumb">
    <li><a href="https://stackoverflow.com/">Home</a></li>
    <li class="active"><a href="https://stackoverflow.com/">Link</a></li>
    <li class="ml-auto"><a href="https://stackoverflow.com/">Right</a></li>
</ul>

https://www.codeply.com/go/6ITgrV7pvL

グリッド:

<div class="row">
    <div class="col-3">Left</div>
    <div class="col-3 ml-auto">Right</div>
</div>

3
ml-autoは、私がnavbarに必要なものです
ckapilla


6

col-*クラスを使用する別の作業で列を使用する場合は、order-*クラスを使用できます。

列の順序は、注文クラスで制御できます。詳細については、Bootstrap 4のドキュメントをご覧ください

ブートストラップドキュメントからの簡単な:

<div class="container">
  <div class="row">
    <div class="col">
      First, but unordered
    </div>
    <div class="col order-12">
      Second, but last
    </div>
    <div class="col order-1">
      Third, but first
    </div>
  </div>
</div>

これはうまくいきました。いくつかの理由pull-rightpull-leftにおけるグリッド列では動作しません4.1
クナル

1
そのとおり。順序は、行がflexboxを使用するようになったため、行のプッシュ/プルを再作成する方法です。
Gcamara14

5

除かれます。

float-left代わりに使用しますpull-left。そしてのfloat-right代わりにpull-right

ここでブートストラップのドキュメントを確認してください:

.float- {sm、md、lg、xl}-{left、right、none}クラスをレスポンシブフロートに追加し、.pull-leftと.pull-rightを削除しました。これらは.float-leftと.float-に冗長であるためです。正しい。


4

私のプロジェクトの次のクラスでこれを行うことができました

d-flex justify-content-end

<div class="col-lg-6 d-flex justify-content-end">

4

他には何もうまくいきませんでした。これはしました。これは誰かを助けるかもしれません。

<div class="clearfix">
  <span class="float-left">Float left</span>
  <span class="float-right">Float right</span>
</div>

clearfix divですべてをラップすることが重要です。


インラインアイテムが2つあるので、兄弟に関連してフロートするには、それらがブロック要素にある必要があります。
ロバートは2018


-1

他の誰にとっても、ロバートへの追加だけで、ナビゲーションにフレックス表示値がある場合、CSSにこれを追加することで、必要な要素を右にフロートできます。

{
    margin-left: auto;
}

そこのクラスは、このためでもあるml-automr-auto
ロバートが行った
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.