Обновлено
Вы можете добиться упомянутого макета сетки с помощью свойства flex
CSS.
для получения дополнительной информации о CSS flex
вы можете прочитать здесь
Если вы заботитесь о кросс-совместимости со старыми браузерами, как следует, display:flex;
в одиночку не рекомендуется. Вам нужно добавить эти old flexbox prefixes
. В качестве for IE8 and 9
вы можете использовать table fallback
. Что приводит к следующему набору правил:
.flex-container {
display: table; /* IE < 10, Opera *Presto* Desktop (Now dead) */
display: -webkit-box; /* Safari 3.1 - 6, Chrome < 21 (2009 Spec), UCBrowser Android */
display: -moz-box; /* Firefox 2 - 27 (2009 Spec), UCMini Android */
display: -ms-flexbox; /* IE10 (2012 Syntax) */
display: -webkit-flex; /* Safari 6.1 - 8, Android < 4.4, BB < 10, Chrome 21 - 28 */
display: flex; /* Edge 12+, Firefox 28+, Blink, Safari 9+, Opera Mini 8+ */
}
Для запасных вариантов flex items
table-cell
или table-row
, особенно с вложением flexbox.
Однако есть 3 варианта:
1) Используйте обнаружение функций с помощью скрипта, такого как Modernizr. И используйте стиль документа CSS Modernizr, чтобы объявить резервные правила IE8-9 с помощью обнаружения функций JS. Как это:
html.no-flexbox .flex-item {
display: table-cell;
}
2) Используйте условный стиль IE CSS:
<!--[if lte IE 9]>
<link rel="stylesheet" type="text/css" href="ie-8-9-fallbacks.css" />
<![endif]-->
OR
3) Другой способ без JS — использование CSS-хаков. С отображаемым значением, которое будет игнорироваться другими браузерами и будет анализироваться и применяться только IE8-9.
С: а)
.flex-item {
display: block;
display: table-cell\0/; /*IE8-10 */
}
и/или: б)
@media \0screen\,screen\9 { /* IE6-10 and exclude FF2 */
.flex-item { display: table-cell; }
}
Демо для Large View (with thumbnails right)
здесь
Демо для Large View (with thumbnails bottom)
здесь
CSS:
.justify {
text-align: justify;
text-justify: inter-word;
}
@media (min-width: 600px) {
.d-flex {
display: flex;
}
.h-100p {
height: 100%
}
.h-50p {
height: 50%;
}
.mb-0 {
margin-bottom: 0;
}
}
HTML: (большой вид – миниатюры справа)
<article class="">
<div class="container">
<div class="row">
<section class="col s12 m8 amber lighten-5">
<h5 class="teal-text">Share Buttons Section</h5>
</section>
</div>
<!--<section class="col s12 m4 red lighten-5">-->
<!--<h5 class="teal-text">Nothing (Just a Placeholder)</h5>-->
<!--</section>-->
<div class="row d-flex">
<section class="col s12 m8 blue lighten-5">
<h5 class="teal-text">Section 1</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto cum cumque deserunt dignissimos error esse expedita illum, magni nobis odit optio quas, quisquam recusandae sequi soluta tempore, vel voluptas voluptatibus.
</p>
</section>
<section class="col s12 m4 red lighten-5">
<h5 class="teal-text">Section 2</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum, pariatur?<br> Lorem: <a>Lorem ipsum dolor sit.</a>
</p>
</section>
</div>
<div class="row">
<section class="col s12 m8 amber lighten-5">
<h5 class="teal-text">Pushpin Nav</h5>
<p class="light center">
<a>Lorem-section</a> - <a>ipsum-section</a> - <a>dolor-section</a> - <a>sit-section</a>
</p>
</section>
</div>
<div class="row d-flex">
<section class="col s12 m8 blue lighten-5">
<h5 class="teal-text">Slider Section</h5>
<div class="col s2 amber" style="margin: 3px; width: 100%; height: 480px"></div>
</section>
<section class="col s12 m4 red lighten-5">
<h5 class="teal-text">Slider Thumbnails</h5>
<div class="row">
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
</div>
</section>
</div>
<div class="row d-flex">
<div class="col s12 m8">
<div class="row mb-0">
<section class="col s12 blue lighten-5">
<h5 class="teal-text">Section 3</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis officia quaerat quisquam. Animi beatae excepturi explicabo iste libero modi quae quam. Aliquid placeat similique voluptatum? Atque debitis dolores ex fuga fugit nam natus temporibus ullam
unde. Adipisci alias aliquid aperiam aspernatur atque aut autem blanditiis distinctio, doloribus ea fuga illum inventore laudantium minus mollitia nulla officia praesentium, quidem soluta tempora, unde vel veniam. Aperiam, corporis dignissimos,
eveniet fugiat iure neque nobis provident quas rem repellat, sit tempore ut. Assumenda aut nesciunt nihil voluptates. Ad aliquid, animi atque aut culpa debitis dolorem doloribus eaque et facere fugiat impedit in incidunt ipsa labore laborum
natus nesciunt nisi nulla officiis perspiciatis quasi quidem quisquam quod rem rerum sint sit suscipit tenetur totam ullam vero vitae voluptas. Accusamus aliquid amet commodi dolore dolores error et hic ipsa iusto nihil nisi nobis provident
quas quibusdam ratione saepe soluta, suscipit? Ab, asperiores autem commodi consectetur culpa cumque deleniti dolorem, doloremque eaque earum eligendi eveniet, ex expedita facere illum laudantium maxime modi neque non nulla obcaecati odio
optio quia quisquam quod sint sunt totam unde voluptas voluptatibus. Ad aliquam architecto aspernatur assumenda commodi culpa debitis deleniti doloremque eos esse exercitationem incidunt ipsam iste laborum magnam, magni maiores molestias
necessitatibus neque nesciunt nobis nostrum, omnis possimus provident quaerat qui quod reprehenderit sapiente temporibus totam ullam veritatis vitae voluptatum. Ab animi, delectus ducimus excepturi facilis ipsam natus nulla optio pariatur
quod repellendus sed, similique suscipit tenetur totam! Accusantium dolor iste iure magnam modi omnis possimus, quod voluptate!Itaque, unde?
</p>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis officia quaerat quisquam. Animi beatae excepturi explicabo iste libero modi quae quam. Aliquid placeat similique voluptatum? Atque debitis dolores ex fuga fugit nam natus temporibus ullam
unde. Adipisci alias aliquid aperiam aspernatur atque aut autem blanditiis distinctio, doloribus ea fuga illum inventore laudantium minus mollitia nulla officia praesentium, quidem soluta tempora, unde vel veniam. Aperiam, corporis dignissimos,
eveniet fugiat iure neque nobis provident quas rem repellat, sit tempore ut. Assumenda aut nesciunt nihil voluptates. Ad aliquid, animi atque aut culpa debitis dolorem doloribus eaque et facere fugiat impedit in incidunt ipsa labore laborum
natus nesciunt nisi nulla officiis perspiciatis quasi quidem quisquam quod rem rerum sint sit suscipit tenetur totam ullam vero vitae voluptas. Accusamus aliquid amet commodi dolore dolores error et hic ipsa iusto nihil nisi nobis provident
quas quibusdam ratione saepe soluta, suscipit? Ab, asperiores autem commodi consectetur culpa cumque deleniti dolorem, doloremque eaque earum eligendi eveniet, ex expedita facere illum laudantium maxime modi neque non nulla obcaecati odio
optio quia quisquam quod sint sunt totam unde voluptas voluptatibus. Ad aliquam architecto aspernatur assumenda commodi culpa debitis deleniti doloremque eos esse exercitationem incidunt ipsam iste laborum magnam, magni maiores molestias
necessitatibus neque nesciunt nobis nostrum, omnis possimus provident quaerat qui quod reprehenderit sapiente temporibus totam ullam veritatis vitae voluptatum. Ab animi, delectus ducimus excepturi facilis ipsam natus nulla optio pariatur
quod repellendus sed, similique suscipit tenetur totam! Accusantium dolor iste iure magnam modi omnis possimus, quod voluptate! Itaque, unde?
</p>
</section>
</div>
</div>
<div class="col s12 m4">
<div class="row h-100p">
<section class="col s12 red lighten-5 h-50p">
<h5 class="teal-text">Section 4</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam consequuntur cupiditate vero?
</p>
</section>
<section class="col s12 red lighten-5 h-50p">
<h5 class="teal-text">Section 5</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum, pariatur?<br> Lorem: <a>Lorem ipsum dolor sit.</a>
</p>
</section>
</div>
</div>
</div>
<section class="col s12 green lighten-5">
<h5 class="teal-text">Section 6</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid atque deserunt ipsa qui quisquam sunt velit. Amet aperiam architecto delectus deserunt, ducimus eos ipsam magni omnis, placeat provident qui quibusdam.
</p>
</section>
</div>
</article>
HTML: ( Большой вид (с миниатюрами внизу))
<article class="">
<div class="container">
<div class="row">
<section class="col s12 m8 amber lighten-5">
<h5 class="teal-text">Share Buttons Section</h5>
</section>
</div>
<!--<section class="col s12 m4 red lighten-5">-->
<!--<h5 class="teal-text">Nothing (Just a Placeholder)</h5>-->
<!--</section>-->
<div class="row d-flex">
<section class="col s12 m8 blue lighten-5">
<h5 class="teal-text">Section 1</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto cum cumque deserunt dignissimos error esse expedita illum, magni nobis odit optio quas, quisquam recusandae sequi soluta tempore, vel voluptas voluptatibus.
</p>
</section>
<section class="col s12 m4 red lighten-5">
<h5 class="teal-text">Section 2</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum, pariatur?<br> Lorem: <a>Lorem ipsum dolor sit.</a>
</p>
</section>
</div>
<div class="row">
<section class="col s12 m8 amber lighten-5">
<h5 class="teal-text">Pushpin Nav</h5>
<p class="light center">
<a>Lorem-section</a> - <a>ipsum-section</a> - <a>dolor-section</a> - <a>sit-section</a>
</p>
</section>
</div>
<div class="row d-flex">
<div class="col s12 m8">
<div class="row mb-0">
<section class="col s12 blue lighten-5">
<h5 class="teal-text">Slider Section</h5>
<div class="col s2 amber" style="margin: 3px; width: 100%; height: 480px"></div>
</section>
<section class="col s12 red lighten-5">
<h5 class="teal-text">Slider Thumbnails</h5>
<div class="row">
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
<div class="col s2 blue" style="margin: 3px; width: 48px; height: 48px"></div>
</div>
</section>
<section class="col s12 blue lighten-5">
<h5 class="teal-text">Section 3</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis officia quaerat quisquam. Animi beatae excepturi explicabo iste libero modi quae quam. Aliquid placeat similique voluptatum? Atque debitis dolores ex fuga fugit nam natus temporibus ullam
unde. Adipisci alias aliquid aperiam aspernatur atque aut autem blanditiis distinctio, doloribus ea fuga illum inventore laudantium minus mollitia nulla officia praesentium, quidem soluta tempora, unde vel veniam. Aperiam, corporis dignissimos,
eveniet fugiat iure neque nobis provident quas rem repellat, sit tempore ut. Assumenda aut nesciunt nihil voluptates. Ad aliquid, animi atque aut culpa debitis dolorem doloribus eaque et facere fugiat impedit in incidunt ipsa labore laborum
natus nesciunt nisi nulla officiis perspiciatis quasi quidem quisquam quod rem rerum sint sit suscipit tenetur totam ullam vero vitae voluptas. Accusamus aliquid amet commodi dolore dolores error et hic ipsa iusto nihil nisi nobis provident
quas quibusdam ratione saepe soluta, suscipit? Ab, asperiores autem commodi consectetur culpa cumque deleniti dolorem, doloremque eaque earum eligendi eveniet, ex expedita facere illum laudantium maxime modi neque non nulla obcaecati odio optio
quia quisquam quod sint sunt totam unde voluptas voluptatibus. Ad aliquam architecto aspernatur assumenda commodi culpa debitis deleniti doloremque eos esse exercitationem incidunt ipsam iste laborum magnam, magni maiores molestias necessitatibus
neque nesciunt nobis nostrum, omnis possimus provident quaerat qui quod reprehenderit sapiente temporibus totam ullam veritatis vitae voluptatum. Ab animi, delectus ducimus excepturi facilis ipsam natus nulla optio pariatur quod repellendus
sed, similique suscipit tenetur totam! Accusantium dolor iste iure magnam modi omnis possimus, quod voluptate!Itaque, unde?
</p>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis officia quaerat quisquam. Animi beatae excepturi explicabo iste libero modi quae quam. Aliquid placeat similique voluptatum? Atque debitis dolores ex fuga fugit nam natus temporibus ullam
unde. Adipisci alias aliquid aperiam aspernatur atque aut autem blanditiis distinctio, doloribus ea fuga illum inventore laudantium minus mollitia nulla officia praesentium, quidem soluta tempora, unde vel veniam. Aperiam, corporis dignissimos,
eveniet fugiat iure neque nobis provident quas rem repellat, sit tempore ut. Assumenda aut nesciunt nihil voluptates. Ad aliquid, animi atque aut culpa debitis dolorem doloribus eaque et facere fugiat impedit in incidunt ipsa labore laborum
natus nesciunt nisi nulla officiis perspiciatis quasi quidem quisquam quod rem rerum sint sit suscipit tenetur totam ullam vero vitae voluptas. Accusamus aliquid amet commodi dolore dolores error et hic ipsa iusto nihil nisi nobis provident
quas quibusdam ratione saepe soluta, suscipit? Ab, asperiores autem commodi consectetur culpa cumque deleniti dolorem, doloremque eaque earum eligendi eveniet, ex expedita facere illum laudantium maxime modi neque non nulla obcaecati odio optio
quia quisquam quod sint sunt totam unde voluptas voluptatibus. Ad aliquam architecto aspernatur assumenda commodi culpa debitis deleniti doloremque eos esse exercitationem incidunt ipsam iste laborum magnam, magni maiores moles
tias necessitatibus
neque nesciunt nobis nostrum, omnis possimus provident quaerat qui quod reprehenderit sapiente temporibus totam ullam veritatis vitae voluptatum. Ab animi, delectus ducimus excepturi facilis ipsam natus nulla optio pariatur quod repellendus
sed, similique suscipit tenetur totam! Accusantium dolor iste iure magnam modi omnis possimus, quod voluptate! Itaque, unde?
</p>
</section>
</div>
</div>
<div class="col s12 m4">
<div class="row h-100p">
<section class="col s12 h-50p red lighten-5 h-50p">
<h5 class="teal-text">Section 4</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam consequuntur cupiditate vero?
</p>
</section>
<section class="col s12 red lighten-5 h-50p">
<h5 class="teal-text">Section 5</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum, pariatur?<br> Lorem: <a>Lorem ipsum dolor sit.</a>
</p>
</section>
</div>
</div>
</div>
<section class="col s12 h-50p green lighten-5">
<h5 class="teal-text">Section 6</h5>
<p class="light justify">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid atque deserunt ipsa qui quisquam sunt velit. Amet aperiam architecto delectus deserunt, ducimus eos ipsam magni omnis, placeat provident qui quibusdam.
</p>
</section>
</div>
</article>
07.06.2017
display: flex
кажется довольно крутым. Как я вижу, вы просто поместилиdisplay: flex;
на каждый.row
-div, вокруг которого должны перемещаться остальные div? (Что было Разделом 1 и (Разделом Слайдера или Разделом 3)) 07.06.2017flexbox
поддерживается IE10+ и всеми основными браузерами. Для получения дополнительной информации о поддержке flexbox посетите здесь. Так как естьfallbacks available
для flexbox, доступных и дляancient browsers
. Для IE8 и 9 вы можете использовать запасной вариант таблицы, действительно ориентированный на настольный браузер IE8. Я обновлю свой ответ, указав доступные запасные варианты для старых браузеров. 07.06.2017