Как изменить порядок столбцов начальной загрузки 4 на мобильном макете? - PullRequest
2 голосов
/ 06 ноября 2019

Я хочу разместить в определенном порядке элементы столбцов при изменении размера на мобильный. Код:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
  <div class="row">
    <div class="col-sm-1">1</div>
    <div class="col-sm-1">2</div>
    <div class="col-sm-1">3</div>
    <div class="col-sm-1">4</div>
    <div class="col-sm-1">5</div>
  </div>

  <div class="row">
    <div class="col-sm-1">6</div>
    <div class="col-sm-1">7</div>
    <div class="col-sm-1">8</div>
    <div class="col-sm-1">9</div>
    <div class="col-sm-1">10</div>
  </div>

  <div class="row">
    <div class="col-sm-1">11</div>
    <div class="col-sm-1">12</div>
    <div class="col-sm-1">13</div>
    <div class="col-sm-1">14</div>
    <div class="col-sm-1">15</div>
  </div>
</div>

Когда я изменяю размер, я хотел бы иметь следующий порядок:

[1]

[2]

[6]

[7]

[11]

[12]

[3]

[8]

[13]

[4]

[9]

[14]

[5]

[10]

[15]

Я видел, что можно использовать flex-column-reverse flex-md-row, но это не решает мою проблему.

Что я должен сделать, чтобы получить заказ, который я хочу, когда я изменяю размер?

Ответы [ 3 ]

0 голосов
/ 06 ноября 2019

Так как вы можете создать еще одну div для мобильных устройств, вот способ, как вы будете это делать, используя утилиты для отображения

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="container d-none d-sm-block">
  <div class="row">
    <div class="col-sm-1">1</div>
    <div class="col-sm-1">2</div>
    <div class="col-sm-1">3</div>
    <div class="col-sm-1">4</div>
    <div class="col-sm-1">5</div>
  </div>

  <div class="row">
    <div class="col-sm-1">6</div>
    <div class="col-sm-1">7</div>
    <div class="col-sm-1">8</div>
    <div class="col-sm-1">9</div>
    <div class="col-sm-1">10</div>
  </div>

  <div class="row">
    <div class="col-sm-1">11</div>
    <div class="col-sm-1">12</div>
    <div class="col-sm-1">13</div>
    <div class="col-sm-1">14</div>
    <div class="col-sm-1">15</div>
  </div>
</div>
<div class="container d-sm-none d-flex align-items-center justify-content-around">
  <div>1</div>
  <div>2</div>
  <div>6</div>
  <div>7</div>
  <div>11</div>
  <div>12</div>
  <div>3</div>
  <div>8</div>
  <div>13</div>
  <div>4</div>
  <div>9</div>
  <div>14</div>
  <div>5</div>
  <div>10</div>
  <div>15</div>
</div>
0 голосов
/ 06 ноября 2019

Вы должны изменить свой HTML-код для достижения результата, попробуйте использовать CSS-сетку для управления упорядочением элемента. Пожалуйста, проверьте этот код.

.row
{
  display: grid;
  grid-template-columns: repeat(5, 50px);
  grid-template-rows: repeat(5, 50px);
}
@media screen and (max-width: 767px) {
	.row {
		grid-template-columns: auto;
		grid-template-rows: auto;
	}
	.col-sm-1:nth-of-type(1) {
		order: 1;
	}
	.col-sm-1:nth-of-type(2) {
		order: 2;
	}
	.col-sm-1:nth-of-type(6) {
		order: 3;
	}
	.col-sm-1:nth-of-type(7) {
		order: 4;
	}
	.col-sm-1:nth-of-type(11) {
		order: 5;
	}
	.col-sm-1:nth-of-type(12) {
		order: 6;
	}
	.col-sm-1:nth-of-type(3) {
		order: 7;
	}
	.col-sm-1:nth-of-type(8) {
		order: 8;
	}
	.col-sm-1:nth-of-type(13) {
		order: 9;
	}
	.col-sm-1:nth-of-type(4) {
		order: 10;
	}
	.col-sm-1:nth-of-type(9) {
		order: 11;
	}
	.col-sm-1:nth-of-type(14) {
		order: 12;
	}
	.col-sm-1:nth-of-type(5) {
		order: 13;
	}
	.col-sm-1:nth-of-type(10) {
		order: 14;
	}
	.col-sm-1:nth-of-type(15) {
		order: 15;
	}
}
<div class="container">
  <div class="row">
    <div class="col-sm-1">1</div>
    <div class="col-sm-1">2</div>
    <div class="col-sm-1">3</div>
    <div class="col-sm-1">4</div>
    <div class="col-sm-1">5</div>
    <div class="col-sm-1">6</div>
    <div class="col-sm-1">7</div>
    <div class="col-sm-1">8</div>
    <div class="col-sm-1">9</div>
    <div class="col-sm-1">10</div>
    <div class="col-sm-1">11</div>
    <div class="col-sm-1">12</div>
    <div class="col-sm-1">13</div>
    <div class="col-sm-1">14</div>
    <div class="col-sm-1">15</div>
  </div>
</div>
0 голосов
/ 06 ноября 2019

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />

<div class="container">
  <div class="row">
    <div class="col-sm-1 order-sm-0 order-0">1</div>
    <div class="col-sm-1 order-sm-0 order-0">2</div>

    <div class="col-sm-1 order-sm-0 order-3">3</div>

    <div class="col-sm-1 order-sm-0 order-4">4</div>
    <div class="col-sm-1 order-sm-0 order-5">5</div>

    <div class="col-sm-1 order-sm-0 order-1">6</div>
    <div class="col-sm-1 order-sm-0 order-1">7</div>

    <div class="col-sm-1 order-sm-0 order-3">8</div>
    <div class="col-sm-1 order-sm-0 order-4">9</div>
    <div class="col-sm-1 order-sm-0 order-5">10</div>

    <div class="col-sm-1 order-sm-0 order-2">11</div>
    <div class="col-sm-1 order-sm-0 order-2">12</div>

    <div class="col-sm-1 order-sm-0 order-3">13</div>

    <div class="col-sm-1 order-sm-0 order-4">14</div>
    <div class="col-sm-1 order-sm-0 order-5">15</div>
  </div>
</div>
order block

Здесь order-sm-0 класс будет иметь нейтральный порядок в sm и выше точки останова. У начальной загрузки есть следующий помощник класса заказа https://getbootstrap.com/docs/4.3/utilities/flex/#order

Я организовал класс заказа в следующей последовательности

order-0 => [1], [2]     
order-1 => [6], [7]    
order-2 => [11], [12]    
order-3 => [3], [8], [13]   
order-4 => [4], [9], [14]  
order-5 => [5], [10], [15]    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...