⊗mkSpFxGTAW 104 of 128 menu

Отстъпи в плочки с авто-ширина на блоковете в CSS

Да предположим, че имаме плочка по четири блока в ред:

.child { width: 25%; }

Нека добавим на нашите блокове отстъпи в проценти хоризонтално и вертикално:

.child { margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Засега това, което направихме, ще работи неправилно, тъй като общата ширина на блоковете и отстъпите е повече от 100%. За да работи коректно трябва от всеки блок да отрежем определена част, за да има място за нашите отстъпи. Нека изчислим тези части.

В нашия случай се получава, че блоковете са четири, а между тях има три отстъпа - по един и половина процента. За да изчислим частта, която трябва да се отнеме, трябва общият отстъп да се раздели на броя блокове:

1.5% * 3 / 4 = 1.125

Тогава ширината на всеки блок ще бъде:

25% - 1.5% * 3 / 4 = 23.875%

Получава се следният код:

.child { width: 23.875%; margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Можем да не изчисляваме този отстъп сами, а да оставим работата по изчислението на функцията calc:

.child { width: calc(25% - 1.5% * 3 / 4); margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Ширината на блока също нека я изчислява функцията calc:

.child { width: calc(100% / 4 - 1.5% * 3 / 4); margin-right: 1.5%; margin-bottom: 1.5%; } .child:nth-child(4n) { margin-right: 0; }

Задайте на блоковете ширина в проценти така, че в плочката да станат три блока в ред, а между тях разстояние от 3%.

Задайте на блоковете ширина в проценти така, че в плочката да станат шест блока в ред, а между тях разстояние от 0.5%.

Задайте на блоковете ширина в проценти така, че в плочката да станат четири блока в ред, а между блоковете да има разстояние от 30px.

Задайте на блоковете ширина в проценти така, че в плочката да станат пет блока в ред, а между блоковете да има разстояние от 50px.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне