Apa yang terjadi dengan kelas .pull-left dan .pull-right di Bootstrap 4?


104

Di versi terbaru pull-left dan pull-right telah diganti dengan .pull- {xs, sm, md, lg, xl} - {left, right, none}

Artinya, alih-alih menulis yang sederhana class="pull-right", sekarang saya harus menulisclass="pull-md-right pull-xl-right pull-lg-right pull-sm-right pull-xs-right"

Apakah ada cara yang tidak terlalu membosankan untuk melakukannya?


5
Sepertinya Anda belum terlalu memahami pendekatan yang mengutamakan seluler. .pull-xs-rightakan menyebabkan objek mengapung tepat di semua ukuran layar, karena css turun ke atas ke perangkat yang lebih besar juga. Ps Mungkin sudah berubah di versi yang lebih baru tetapi Anda harus menggunakan .float-rightdaripada .pull-right.
Phill Healey

Jawaban:


15

Kembali ke tahun 2016 ketika pertanyaan ini pertama kali diajukan, jawabannya adalah:

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

Tapi sekarang jawaban yang diterima seharusnya adalah Robert Went.


8
.float-{sm,md,lg,xl}-{left,right,none}sekarang mengapung kiri / kanan / tidak ada sedangkan .pull-leftdan .pull-righttelah dihapus.
Mirko

1
pull-right sudah kembali, tetapi jika itu yang terjadi, gunakan saja css.pull-right{@extend .pull-xs-right;}
Alexis

4
Ini dijawab 9/2016. Jawaban yang benar sekarang adalah jawaban Robert Went.
Phillip Senn

9
Tampaknya kasar Anda mendapatkan 21 suara buruk untuk jawaban yang baru saja usang?
LeonardChallis

@PhillipSenn pertimbangkan untuk memperbarui jawaban Anda sehingga Anda tidak kehilangan poin karena menjadi pemain tim.
wizulus

213

Kelasnya float-right float-sm-rightdll.

Kueri media mengutamakan seluler, jadi penggunaan float-sm-rightakan memengaruhi ukuran layar kecil dan apa pun yang lebih lebar, jadi tidak ada alasan untuk menambahkan kelas untuk setiap lebar. Cukup gunakan layar terkecil yang ingin Anda pengaruhi atau float-rightuntuk semua lebar layar.

Dokumen Resmi:

Kelas: https://getbootstrap.com/docs/4.4/utilities/float/

Memperbarui: https://getbootstrap.com/docs/4.4/migration/#utilities

Jika Anda memperbarui proyek yang ada berdasarkan versi Bootstrap yang lebih lama, Anda dapat menggunakan sass extended untuk menerapkan aturan ke nama kelas lama:

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


25

Perbarui 2018 (pada Bootstrap 4.1)

Ya, pull-leftdan pull-righttelah diganti dengan float-leftdan float-rightdi Bootstrap 4.

Namun, float tidak akan berfungsi di semua kasus karena Bootstrap 4 sekarang menjadi flexbox .

Untuk anak-anak flexbox menyelaraskan ke kanan, penggunaan auto-margin (yaitu: ml-auto) atau util flexbox (yaitu: justify-content-end, align-self-end, dll ..).

Contoh

Navs:

<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>

Remah roti:

<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

Kisi:

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

3
ml-auto persis seperti yang saya butuhkan di navbar saya
ckapilla


6

Jika Anda ingin menggunakannya dengan kolom di pekerjaan lain dengan col-*kelas, Anda dapat menggunakan order-*kelas.

Anda dapat mengontrol urutan kolom Anda dengan kelas pesanan. lihat lebih lanjut di dokumentasi Bootstrap 4

Sederhana dari dokumen bootstrap:

<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>

Ini berhasil. Untuk beberapa alasan pull-rightdan pull-lefttidak bekerja pada kolom grid di4.1
Kunal

1
Betul sekali. Urutannya adalah cara Anda membuat ulang push / pull pada baris karena baris sekarang menggunakan flexbox.
Gcamara14

5

Thay dihapus.

Gunakan float-leftsebagai ganti pull-left. Dan float-rightbukannya pull-right.

Periksa Dokumentasi bootstrap di sini :

Menambahkan class .float- {sm, md, lg, xl} - {left, right, none} untuk float responsif dan menghapus .pull-left dan .pull-right karena redundan ke .float-left dan .float- Baik.


4

Saya dapat melakukan ini dengan kelas-kelas berikut dalam proyek saya

d-flex justify-content-end

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

4

Tidak ada hal lain yang berhasil untuk saya. Yang ini berhasil. Ini mungkin membantu seseorang.

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

Membungkus semuanya dalam div clearfix adalah kuncinya.


Anda memiliki 2 item sebaris, jadi item tersebut harus berada dalam elemen blok agar dapat diapungkan terkait dengan saudara mereka.
Robert Pergi


-1

Untuk orang lain dan hanya tambahan untuk Robert, Jika nav Anda memiliki nilai tampilan fleksibel, Anda dapat mengapungkan elemen yang Anda perlukan ke kanan, dengan menambahkan ini ke cssnya

{
    margin-left: auto;
}

Ada juga kelas untuk ini ml-autodanmr-auto
Robert Went
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.