⊗mkSpRsTl 126 of 128 menu

Адаптивна решетка без отступи в CSS

Нека направим решетка, която ще има различен брой блокове в ред в зависимост от ширината на екрана. Ето пример за това, което трябва да получим:

Нека първо напишем HTML кода:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> <div class="child">10</div> <div class="child">11</div> <div class="child">12</div> </div>

Сега нека добавим стилове за родителя на блоковете:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; }

Сега нека зададем стилове на самите блокове, без да задаваме тяхната ширина:

.child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; }

Очевидно е, че ширината на блоковете трябва да бъде в проценти, за да могат блоковете плавно да променят ширината си при промяна на екрана. В същото време в определени точки на екрана трябва да променяме ширината на блоковете така, че в един ред да се побере определен брой от тези блокове.

Нека напишем код, който ще постави четири блока в ред:

@media (min-width: 1000px) { .child { width: 25%; } }

Сега нека поставим три блока в ред:

@media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } }

Сега нека поставим два блока в ред:

@media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } }

Един блок в ред:

@media (max-width: 400px) { .child { width: 100%; } }

Нека съберем целия код заедно:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; } .child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; } @media (max-width: 400px) { .child { width: 100%; } } @media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } } @media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } } @media (min-width: 1000px) { .child { width: 25%; } }

Променете моя код така, че ширината на блоковете да се изчислява чрез функцията calc.

Направете решетка, която при намаляване на екрана първо да има четири елемента в ред, след това два елемента в ред, и накрая един елемент в ред.

Направете решетка, която при намаляване на екрана първо да има шест елемента в ред, след това три елемента в ред, и накрая един елемент в ред.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне