Що сталося з класами .pull-left та .pull-right у Bootstrap 4?


104

У найновішій версії потяг ліворуч і тягнуть праворуч замінено на .pull- {xs, sm, md, lg, xl} - {ліворуч, праворуч, немає}

Це означає, що замість того, щоб писати просте class="pull-right", мені доведеться зараз писатиclass="pull-md-right pull-xl-right pull-lg-right pull-sm-right pull-xs-right"

Чи є менш стомлюючий спосіб це зробити?


5
Схоже, ви не зовсім зрозуміли мобільний перший підхід. .pull-xs-rightпризведе до того, що об'єкт буде плавати прямо на всіх розмірах екрана, оскільки css каскадує вгору і до великих пристроїв. Ps Можливо, це змінилося в останніх версіях, але вам слід скористатися, .float-rightа не використовувати .pull-right.
Філл Хелі

Відповіді:


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
На це відповіли 9/2016. Правильна відповідь зараз - Роберт Вент.
Філіп Сенн

9
Здається, грубо ви отримуєте 21 голос за відповідь, яка просто застаріла?
ЛеонардЧалліс

@PhillipSenn розглядає можливість оновлення своєї відповіді, щоб ви не втрачали очок за те, що граєте в команді.
wizulus

213

Заняття 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-leftі pull-rightбули замінені на float-leftі float-rightв Bootstrap 4.

Однак поплавці працюватимуть не у всіх випадках, оскільки Bootstrap 4 зараз є флексбоком .

Щоб вирівняти Flexbox діти вправо, використання авто-полями (тобто ml-auto) або Flexbox утиліти (тобто justify-content-end,align-self-end і т.д ..).

Приклади

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>

Панірувальні сухарі:

<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-rightі pull-leftне працюють на сітчастих стовпцях у4.1
Кунал

1
Це вірно. Порядок - це спосіб, який ви відтворили б на натисканні / натягуванні рядків, оскільки тепер у рядках використовується флексбокс.
Gcamara14

5

Тай прибирають.

Використовуйте float-leftзамість pull-left. І float-rightзамість цьогоpull-right .

Перевірте тут Документацію завантажувача :

Додано .float- {sm, md, lg, xl} - {лівий, правий, жоден} класи для чуйних плавців та вилучено .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>

Обгортання всього в divfix виразного є ключовим.


У вас є два вбудовані елементи, тому вони повинні бути в блочному елементі, щоб вони могли плавати по відношенню до своїх побратимів.
Роберт Пішов

0

bootstrap-4 додати клас float-ліворуч або праворуч для плаваючого


1
Ласкаво просимо до переповнення стека! На жаль, ця публікація не дає якісної відповіді на питання. Будь ласка, відредагуйте свою відповідь і спробуйте надати більше деталей.
sɐunıɔ ןɐ qɐp

-1

Для будь-кого іншого і лише доповнення до Роберта. Якщо ваш навичок має значення відображення flex, ви можете плавати потрібний елемент праворуч, додаючи це до свого css

{
    margin-left: auto;
}

Для цього також є заняття ml-autoіmr-auto
Роберт Вент
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.