Как расположить элементы рядом, используя flexbox, когда они автоматически переносятся, не заполняя ряд - PullRequest
0 голосов
/ 14 января 2019

Я испробовал все известные мне решения, чтобы эти два элемента нижнего колонтитула отображались рядом на мобильном телефоне. У меня есть три виджета нижнего колонтитула на сайте WordPress (www.med-tac.com), и я пытаюсь изменить их порядок на мобильных устройствах, используя подход @media для моего размера экрана.

Я пытаюсь получить 1 и 3 в одной строке и попытался настроить другие свойства, чтобы заставить его работать, но сейчас я работаю с flexbox, чтобы попытаться добиться этого, но был бы рад вернуться к любому решению, которое работы.

Я пробовал размещение сетки, подход с плавающей точкой влево и вправо, подход с использованием flexbox и подход с отображением встроенного блока, ни один из которых не будет отображать элементы в одной строке, даже если ширина вручную уменьшена до гораздо меньшего чем ширина мобильного нижнего колонтитула.

@media (max-width: 480px){


.secondary {
display:flex;
flex-flow: row wrap;


  }

#footer-sidebar1 {

  margin-top:-5px;
  top:5px;
  order:2;
}

 #footer-sidebar2 {

  margin-right: 20px !important;
  right: 10px;
  width:325px !important;
  bottom:25px;
  order:1;

  }

#footer-sidebar3 {

  order:3;

  }

}

Я пытаюсь, чтобы боковые панели 1 и 3 отображались рядом в одной строке, но они накладываются друг на друга.

1 Ответ

0 голосов
/ 14 января 2019

Если вы хотите, чтобы позиции 1 и 3 были в первой строке, вам нужно установить порядок элемента 3, чтобы он был меньше, чем порядок для элемента 2.

Например:

.secondary {
  display: flex;
  flex-flow: row wrap;
}

.secondary div {
  background-color: lightblue;
}

.secondary:after {
  content: "";
  order: 2;
  flex-basis: 110%;
}

#footer-sidebar1 {
  flex-basis: 48%;
  order: 3;
}

#footer-sidebar2 {
  order: 1;
  margin-right: 100px;
}

#footer-sidebar3 {
  flex-basis: 48%;
  order: 4;
  margin-left: 10px;
}
<div class="secondary">
  <div id="footer-sidebar1">sidebar 1 </div>
  <div id="footer-sidebar2">sidebar 2 </div>
  <div id="footer-sidebar3">sidebar 3 </div>
</div>
...