Я пытаюсь изменить порядок двух div в контейнере, когда они достигнут мобильного размера.
<div class="container">
<div class="div1"></div>
<div class="div2"></div>
</div>
Можно ли изменить его так, чтобы он изменился на
<div class="container">
<div class="div2"></div>
<div class="div1"></div>
</div>
4 ответа
Для этого вы можете использовать чистый CSS
.container{
display:table;
}
.div1{
display:table-footer-group;
}
.div2{
display:table-header-group;
}
Убедитесь, что вы добавили его в запрос @media.
Вы можете использовать два отдельных класса и делать видимым только один за раз в зависимости от ширины носителя.
Сначала создайте свой CSS
//This container is only visible on devices with 1025px or more such as iPad in landscape or portrait view
@media screen and (min-width: 1025px) {
.desktop-container {
Display:none;
}
}
// This container is only visible on smaller devices with screen size 360px - 1024px
@media screen and (min-width:360px) and (max-width:1024px) {
.mobile-container {
Display:none;
}
}
Теперь создайте свою разметку ...
<div class="desktop-container">
<div class="div1"></div>
<div class="div2"></div>
</div>
<div class="mobile-container">
<div class="div2"></div>
<div class="div1"></div>
</div>
Вы можете сделать это с помощью flexbox, изменив порядок.
.container {
display: flex; /* or inline-flex */
flex-direction: column;
}
@media(min-width:768px){
.container {
flex-direction: column-reverse;
}
}
http://codepen.io/partypete25/pen/oxJNqz
В зависимости от того, какие браузеры вам нужно поддерживать, вы можете использовать flexbox для переключения порядка div.
.container {
display: flex;
}
.div1 {
order: 0;
}
@media screen and (min-width: 780px) {
.div1 {
order: 1;
}
}
Похожие вопросы
Новые вопросы
css
CSS (каскадные таблицы стилей) - это язык таблиц стилей представления, используемый для описания внешнего вида и форматирования документов HTML (язык разметки гипертекста), XML (расширяемый язык разметки) и элементов SVG, включая (но не ограничиваясь) цвета, макет, шрифты, и анимации. Также описывается, как элементы должны отображаться на экране, на бумаге, в речи или на других носителях.