⊗mkSpFxGTAW 104 of 128 menu

Indrag i CSS-kakel med automatisk blockbredd

Låt oss säga att vi har en kakelstruktur med fyra block i rad:

.child { width: 25%; }

Låt oss lägga till marginaler i procent för våra block horisontellt och vertikalt:

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

Vad vi har gjort hittills kommer att fungera felaktigt, eftersom den totala bredden på blocken och marginalerna är större än 100%. För att det ska fungera korrekt måste vi ta bort en del av varje block för att göra plats för våra marginaler. Låt oss beräkna dessa delar.

I vårt fall blir det så att det finns fyra block, och mellan dem finns tre mellanrum - på en och en halv procent vardera. För att beräkna delen som ska dras av, behöver du dividera den totala marginalen med antalet block:

1.5% * 3 / 4 = 1.125

Då blir bredden på varje block:

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

Detta resulterar i följande kod:

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

Du kan låta bli att beräkna detta avstånd själv, och istället överlåta beräkningen till funktionen calc:

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

Låt även blockets bredd beräknas av funktionen 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; }

Ställ in blockens bredd i procent så att det blir tre block i rad i kakelstrukturen, med ett avstånd mellan dem på 3%.

Ställ in blockens bredd i procent så att det blir sex block i rad i kakelstrukturen, med ett avstånd mellan dem på 0.5%.

Ställ in blockens bredd i procent så att det blir fyra block i rad i kakelstrukturen, med ett avstånd mellan blocken på 30px.

Ställ in blockens bredd i procent så att det blir fem block i rad i kakelstrukturen, med ett avstånd mellan blocken på 50px.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa