Завантажувальний пристрій 3: витягнути праворуч лише для колекцій


127

Нове для завантажувального пристрою 3 .... У моєму макеті у мене є:

<div class="row">
    <div class="col-lg-6 col-md-6">elements 1</div>
    <div class="col-lg-6 col-md-6">
         <div class="pull-right">
            elements 2
         </div>
    </div>
</div>

Я хотів би, щоб "елементи 2" НЕ вирівнювались прямо на екранах менших розмірів, ніж колаж. Тож ефективно мати клас тяг-право лише для col-lg-6 ...

Як я міг цього досягти?

Ось загадка: http://jsfiddle.net/thibs/Y6WPz/

Дякую



Отже, це зараз річ у Bootstrap 4 . Просто використовуйте order-lg-1, order-lg-2, etc.on стовпців.
обмеження

Відповіді:


156

Ви можете помістити "елемент 2" у менший стовпчик (тобто:), col-2а потім використовувати лише pushна великих екранах:

<div class="row">
    <div class="col-lg-6 col-xs-6">elements 1</div>
    <div class="col-lg-6 col-xs-6">
      <div class="row">
       <div class="col-lg-2 col-lg-push-10 col-md-2 col-md-push-0 col-sm-2 col-sm-push-0 col-xs-2 col-xs-push-0">
         <div class="pull-right">elements 2</div>
       </div>
      </div>
    </div>
</div>

Демонстрація: http://bootply.com/88095

Інший варіант - переосмислити поплавок, .pull-rightвикористовуючи запит @media ..

@media (max-width: 1200px) {
    .row .col-lg-6 > .pull-right {
        float: none !important;
    }
}

Нарешті, ще одним варіантом є створення власного .pull-right-lgкласу CSS ..

@media (min-width: 1200px) {
    .pull-right-lg {
        float: right;
    }
}

ОНОВЛЕННЯ

Bootstrap 4 включає чутливі поплавці , тому в цьому випадку ви просто використовуєте float-lg-right.
Додатковий CSS не потрібен .

Демонстрація завантаження 4


спасибі за це, але вміст повинен використовувати повних 6 копійок, інакше він завершується, чого ми не хочемо.
Thibs

сподівався не мати медіа-запиту, але це зробить. Дякую
Thibs

28

Спробуйте цей менший фрагмент (він створений із наведених вище прикладів, а медіа-запит змішується в grid.less).

@media (min-width: @screen-sm-min) {
.pull-right-sm {
  float: right;
}
}
@media (min-width: @screen-md-min) {
.pull-right-md {
  float: right;
}
}
@media (min-width: @screen-lg-min) {
.pull-right-lg {
  float: right;
}
}

Копайте це рішення ти!
Пез

3
Це слід додати до завантажувальної програми.
Lorem Ipsum Dolor

20
.pull-right-not-xs, .pull-right-not-sm, .pull-right-not-md, .pull-right-not-lg{
    float: right;
}

.pull-left-not-xs, .pull-left-not-sm, .pull-left-not-md, .pull-left-not-lg{
    float: left;
}
@media (max-width: 767px) {    
    .pull-right-not-xs, .pull-left-not-xs{
        float: none;
    }
    .pull-right-xs {
        float: right;
    }
    .pull-left-xs {
        float: left;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .pull-right-not-sm, .pull-left-not-sm{
        float: none;
    }
    .pull-right-sm {
        float: right;
    }
    .pull-left-sm {
        float: left;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .pull-right-not-md, .pull-left-not-md{
        float: none;
    }
    .pull-right-md {
        float: right;
    }
    .pull-left-md {
        float: left;
    }
}
@media (min-width: 1200px) {
    .pull-right-not-lg, .pull-left-not-lg{
        float: none;
    }
    .pull-right-lg {
        float: right;
    }
    .pull-left-lg {
        float: left;
    }
}

Приємно, це має бути частиною Bootstrap за замовчуванням!
Оуен

12

Немає необхідності створювати власний клас із медіа-запитами. У Bootstrap 3 вже є плаваюче впорядкування медіа-точки прориву під колонопорядком: http://getbootstrap.com/css/#grid-column-ordering

Синтаксис для класу - col-<#grid-size>-(push|pull)-<#cols>де <#grid-size>xs, sm, md або lg і<#cols> наскільки далеко ви хочете, щоб стовпець переміщувався для цього розміру сітки. Натисніть або потягніть вліво або вправо, звичайно.

Я використовую його весь час, тому я знаю, що він добре працює.


3

Також добре працює:

/* small screen portrait */

@media (max-width: 321px) {

  .pull-right { 
    float: none!important; 
  }

}


/* small screen lanscape */

@media (max-width: 480px) {

  .pull-right {
    float: none!important; 
  }

}

3

Додавання наведеного нижче CSS до програми Bootstrap 3 дозволяє підтримувати

pull-{ε|sm-|md-|lg-}left
pull-{ε|sm-|md-|lg-}right

класи, які працюють точно так само, як нові

float-{ε|sm-|md-|lg-|xl-}left
float-{ε|sm-|md-|lg-|xl-}right

класи, які були введені в Bootstrap 4:

@media (min-width: 768px) {
    .pull-sm-left {
        float: left !important;
    }
    .pull-sm-right {
        float: right !important;
    }
    .pull-sm-none {
        float: none !important;
    }
}
@media (min-width: 992px) {
    .pull-md-left {
        float: left !important;
    }
    .pull-md-right {
        float: right !important;
    }
    .pull-md-none {
        float: none !important;
    }
}
@media (min-width: 1200px) {
    .pull-lg-left {
        float: left !important;
    }
    .pull-lg-right {
        float: right !important;
    }
    .pull-lg-none {
        float: none !important;
    }
}
.pull-none {
    float: none !important;
}

Крім цього, він додає

pull-{ε|sm-|md-|lg-}none

за повноту, сумісність із

float-{ε|sm-|md-|lg-|xl-}none

від Bootstrap 4.


2

Для тих, хто зацікавлений у вирівнюванні тексту, простим рішенням є створення нового класу:

.text-right-large {
    text-align: right;
}
@media (max-width: 991px) {
    .text-right-large {
        text-align: left;
    }
}

Потім додайте цей клас:

<div class="row">
    <div class="col-lg-6 col-md-6">elements 1</div>
    <div class="col-lg-6 col-md-6 text-right-large">
        elements 2
    </div>
</div>


1

Це те, що я використовую. змінити @ screen-md-max для інших розмірів

/* Pull left in lg resolutions */
@media (min-width: @screen-md-max) {
    .pull-xs-right {
        float: right !important;
    }
    .pull-xs-left {
        float: left !important;
    }

    .radio-inline.pull-xs-left  + .radio-inline.pull-xs-left ,
    .checkbox-inline.pull-xs-left  + .checkbox-inline.pull-xs-left  {
        margin-left: 0;
    }
    .radio-inline.pull-xs-left, .checkbox-inline.pull-xs-left{
        margin-right: 10px;
    }
}


1

Просто використовуйте чутливі класи корисних програм bootstrap!

Найкращим рішенням для цього завдання є використання наступного коду:

<div class="row">
    <div class="col-lg-6 col-md-6">elements 1</div>
    <div class="col-lg-6 col-md-6 text-right">
        <div class="visible-lg-inline-block visible-md-block visible-sm-block visible-xs-block">
            elements 2
        </div>
    </div>
</div>

Елемент буде вирівняний праворуч лише на lgекранах - на іншому displayатрибут буде встановлений таким, blockяким він є за замовчуванням для divелемента. Цей підхід використовує text-rightклас на батьківському елементі замість pull-right.

Альтернативне рішення:

Найбільшим недоліком є ​​те, що html-код всередині потрібно повторити двічі.

<div class="row">
    <div class="col-lg-6 col-md-6">elements 1</div>
    <div class="col-lg-6 col-md-6">
         <div class="pull-right visible-lg">
            elements 2
         </div>
         <div class="hidden-lg">
            elements 2
         </div>
    </div>
</div>

1

Ви можете використовувати push і pull, щоб змінити впорядкування стовпців. Ви витягуєте один стовпчик і натискаєте інший на великих пристроях:

<div class="row">
    <div class="col-lg-6 col-md-6 col-lg-pull-6">elements 1</div>
    <div class="col-lg-6 col-md-6 col-lg-push-6">
         <div>
            elements 2
         </div>
    </div>
</div>

0

тепер включіть завантажувальний 4:

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.3/css/bootstrap.min.css');

і код повинен бути таким:

<div class="row">
    <div class="col-lg-6 col-md-6" style="border:solid 1px red">elements 1</div>
    <div class="col-lg-6 col-md-6" style="border:solid 1px red">
         <div class="pull-lg-right pull-xl-right">
            elements 2
         </div>
    </div>
</div>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.