የሲኤስኤስ ፍርግርግ
በCSS ግሪድ ላይ የተገነባውን ተለዋጭ የአቀማመጥ ስርዓታችንን በምሳሌ እና በኮድ ቅንጥቦች እንዴት ማንቃት፣ መጠቀም እና ማበጀት እንደሚችሉ ይወቁ።
የቡትስትራፕ ነባሪ ፍርግርግ ስርዓት በሚሊዮኖች የሚቆጠሩ ሰዎች የተሞከሩ እና የተሞከሩ ከአስር አመታት በላይ የቆዩ የሲኤስኤስ አቀማመጥ ቴክኒኮችን ፍጻሜ ይወክላል። ነገር ግን፣ እንደ አዲሱ የ CSS ግሪድ ባሉ አሳሾች ውስጥ የምናያቸው ብዙ ዘመናዊ የሲኤስኤስ ባህሪያት እና ቴክኒኮች ሳይኖሩ ተፈጠረ።
እንዴት እንደሚሰራ
በBootstrap 5፣ በCSS Grid ላይ ግን በBootstrap ጠመዝማዛ የተለየ የፍርግርግ ስርዓት ለማንቃት አማራጩን አክለናል። አሁንም ምላሽ ሰጪ አቀማመጦችን ለመገንባት በፍላጎት ማመልከት የምትችላቸው ትምህርቶችን ታገኛለህ፣ ነገር ግን በኮፈኑ ስር በተለየ አቀራረብ።
-
CSS ግሪድ መርጦ ገብቷል። በማቀናበር ነባሪውን የፍርግርግ ስርዓት ያሰናክሉ
$enable-grid-classes: false
እና በማቀናበር የሲኤስኤስ ግሪድ ያንቁ$enable-cssgrid: true
። ከዚያ የእርስዎን Sass እንደገና ያጠናቅቁ። -
.row
ምሳሌዎችን በ ጋር ይተኩ.grid
። ክፍሉ በኤችቲኤምኤልዎ.grid
የገነቡትን ያዘጋጃልdisplay: grid
እና ይፈጥራል ።grid-template
-
.col-*
ክፍሎችን በክፍል ይተኩ.g-col-*
. ይህ የሆነበት ምክንያት የእኛ የሲኤስኤስ ግሪድ አምዶችgrid-column
ንብረቱን ከመጠቀም ይልቅ ስለሚጠቀሙ ነውwidth
። -
የአምዶች እና የጋተር መጠኖች በCSS ተለዋዋጮች ይቀናበራሉ። እነዚህን በወላጅ ላይ ያዋቅሩ
.grid
እና የሚፈልጉትን ያብጁ፣ በመስመር ውስጥ ወይም በቅጥ ሉህ በ--bs-columns
እና--bs-gap
።
gap
ለወደፊቱ፣ ንብረቱ ለflexbox ሙሉ የአሳሽ ድጋፍ ስላገኘ ቡትስትራፕ ወደ ድብልቅ መፍትሄ ሊሸጋገር ይችላል።
ቁልፍ ልዩነቶች
ከነባሪው የፍርግርግ ስርዓት ጋር ሲነጻጸር፡-
-
Flex መገልገያዎች የCSS ግሪድ አምዶችን በተመሳሳይ መንገድ አይነኩም።
-
ክፍተቶች ቦይዎችን ይተካሉ። ንብረቱ አግዳሚውን ከነባሪ የፍርግርግ ስርዓታችን
gap
ይተካዋል እና የበለጠ ይሰራል ።padding
margin
-
እንደዚ፣ ከኤስ በተለየ
.row
፣.grid
s ምንም አሉታዊ ህዳጎች የሉትም፣ እና የኅዳግ መገልገያዎች የፍርግርግ ቦይዎችን ለመለወጥ ጥቅም ላይ መዋል አይችሉም። የፍርግርግ ክፍተቶች በነባሪነት በአግድም እና በአቀባዊ ይተገበራሉ። ለተጨማሪ ዝርዝሮች የማበጀት ክፍልን ይመልከቱ። -
style="--bs-columns: 3;"
የመስመር ውስጥ እና ብጁ ቅጦች እንደ መቀየሪያ ክፍሎች (ለምሳሌ፣ vsclass="row-cols-3"
) ምትክ መታየት አለባቸው ። -
መክተቻ በተመሳሳይ መልኩ ይሰራል፣ነገር ግን በእያንዳንዱ የጎጆ ሁኔታ ላይ የአምድ ቆጠራዎን ዳግም እንዲያስጀምሩ ሊፈልግ ይችላል
.grid
። ለዝርዝሮች የጎጆውን ክፍል ይመልከቱ።
ምሳሌዎች
ሶስት ዓምዶች
ክፍሎቹን በመጠቀም በሁሉም የእይታ ቦታዎች እና መሳሪያዎች ላይ ሶስት እኩል ስፋት ያላቸው አምዶች ሊፈጠሩ ይችላሉ .g-col-4
። አቀማመጡን በእይታ እይታ መጠን ለመቀየር ምላሽ ሰጪ ክፍሎችን ያክሉ ።
<div class="grid text-center">
<div class="g-col-4">.g-col-4</div>
<div class="g-col-4">.g-col-4</div>
<div class="g-col-4">.g-col-4</div>
</div>
ምላሽ ሰጪ
በመመልከቻ ቦታዎች ላይ አቀማመጥዎን ለማስተካከል ምላሽ ሰጪ ክፍሎችን ይጠቀሙ። እዚህ በጣም ጠባብ በሆኑት የእይታ ቦታዎች ላይ በሁለት ዓምዶች እንጀምራለን, ከዚያም በመካከለኛ የእይታ እና ከዚያ በላይ በሆኑት ላይ ወደ ሶስት አምዶች እናድጋለን.
<div class="grid text-center">
<div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
<div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
<div class="g-col-6 g-col-md-4">.g-col-6 .g-col-md-4</div>
</div>
በሁሉም የእይታ ቦታዎች ላይ ከዚህ ሁለት አምድ አቀማመጥ ጋር ያወዳድሩ።
<div class="grid text-center">
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
</div>
መጠቅለል
ተጨማሪ ክፍል በአግድም በማይኖርበት ጊዜ የፍርግርግ ንጥሎች በራስ-ሰር ወደ ቀጣዩ መስመር ይጠቀለላሉ። gap
በፍርግርግ ዕቃዎች መካከል አግድም እና ቀጥ ያሉ ክፍተቶችን እንደሚመለከት ልብ ይበሉ ።
<div class="grid text-center">
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
</div>
ይጀምራል
የመጀመርያ ክፍሎች አላማችን ነባሪ የፍርግርግ ማካካሻ ክፍሎቻችንን ለመተካት ነው፣ነገር ግን ሙሉ ለሙሉ አንድ አይነት አይደሉም። ሲኤስኤስ ግሪድ አሳሾች “ከዚህ አምድ እንዲጀምሩ” እና “በዚህ አምድ እንዲጨርሱ” በሚነግሩ ቅጦች የፍርግርግ አብነት ይፈጥራል። እነዚያ ንብረቶች grid-column-start
እና ናቸው grid-column-end
. ጅምር ክፍሎች ለቀድሞው አጭር ናቸው። ከዓምዱ ክፍሎች ጋር በማጣመር ልክ እንደፈለጉት እና ዓምዶችዎን ያስተካክሉ። ለነዚህ ንብረቶች ልክ ያልሆነ ዋጋ 1
እንደ መጀመር ክፍሎች ይጀምራሉ ።0
<div class="grid text-center">
<div class="g-col-3 g-start-2">.g-col-3 .g-start-2</div>
<div class="g-col-4 g-start-6">.g-col-4 .g-start-6</div>
</div>
ራስ-ሰር አምዶች
በፍርግርግ ዕቃዎች ላይ ምንም ክፍሎች ከሌሉ (የአንድ የቅርብ ልጆች .grid
) እያንዳንዱ የፍርግርግ ንጥል በራስ-ሰር ወደ አንድ አምድ ይሰየማል።
<div class="grid text-center">
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
</div>
ይህ ባህሪ ከግሪድ አምድ ክፍሎች ጋር ሊደባለቅ ይችላል።
<div class="grid text-center">
<div class="g-col-6">.g-col-6</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
</div>
መክተቻ
ልክ እንደ ነባሪ የፍርግርግ ስርዓታችን፣ የእኛ CSS ግሪድ በቀላሉ የ .grid
s መክተቻ ይፈቅዳል። ነገር ግን፣ ከነባሪው በተለየ፣ ይህ ፍርግርግ በረድፎች፣ አምዶች እና ክፍተቶች ላይ ለውጦችን ይወርሳል። የሚከተለውን ምሳሌ ተመልከት።
- ነባሪውን የአምዶች ቁጥር በአካባቢያዊ የሲኤስኤስ ተለዋዋጭ
--bs-columns: 3
እንሽራለን - በመጀመሪያው ራስ-አምድ ውስጥ የዓምድ ቆጠራው ይወርሳል እና እያንዳንዱ አምድ ካለው ስፋት አንድ ሶስተኛው ነው.
- በሁለተኛው ራስ-አምድ ውስጥ፣ በጎጆው ላይ ያለውን የአምድ ቆጠራ
.grid
ወደ 12 (የእኛ ነባሪ) ዳግም አስጀምረናል። - ሦስተኛው ራስ-አምድ ምንም የጎጆ ይዘት የለውም።
በተግባር ይህ ከነባሪው የፍርግርግ ስርዓታችን ጋር ሲወዳደር የበለጠ ውስብስብ እና ብጁ አቀማመጦችን ይፈቅዳል።
<div class="grid text-center" style="--bs-columns: 3;">
<div>
First auto-column
<div class="grid">
<div>Auto-column</div>
<div>Auto-column</div>
</div>
</div>
<div>
Second auto-column
<div class="grid" style="--bs-columns: 12;">
<div class="g-col-6">6 of 12</div>
<div class="g-col-4">4 of 12</div>
<div class="g-col-2">2 of 12</div>
</div>
</div>
<div>Third auto-column</div>
</div>
ማበጀት
የአምዶች ብዛት፣ የረድፎች ብዛት እና የክፍተቶቹን ስፋት ከአካባቢያዊ የሲኤስኤስ ተለዋዋጮች ጋር አብጅ።
ተለዋዋጭ | የመመለሻ ዋጋ | መግለጫ |
---|---|---|
--bs-rows |
1 |
በእርስዎ የፍርግርግ አብነት ውስጥ ያሉት የረድፎች ብዛት |
--bs-columns |
12 |
በእርስዎ የፍርግርግ አብነት ውስጥ ያሉት የአምዶች ብዛት |
--bs-gap |
1.5rem |
በአምዶች (አቀባዊ እና አግድም) መካከል ያለው ክፍተት መጠን |
እነዚህ የሲኤስኤስ ተለዋዋጮች ምንም ነባሪ ዋጋ የላቸውም; በምትኩ፣ የአካባቢ ምሳሌ እስካልቀረበ ድረስ ጥቅም ላይ የሚውሉ የመውደቅ እሴቶችን ይተገብራሉ ። ለምሳሌ፣ var(--bs-rows, 1)
ለCSS ግሪድ ረድፎቻችን እንጠቀማለን፣ ይህም --bs-rows
እስካሁን የትም ስላልተዘጋጀ ችላ ይላል። አንዴ ከሆነ፣ .grid
ምሳሌው ከኋላ መመለሻ እሴት ይልቅ ያንን እሴት ይጠቀማል 1
።
ምንም የፍርግርግ ክፍሎች የሉም
የወዲያውኑ ልጆች ንጥረ ነገሮች የፍርግርግ እቃዎች ናቸው፣ ስለዚህ ክፍሉን .grid
በግልፅ ሳይጨምሩ መጠናቸው ይሆናል ።.g-col
<div class="grid text-center" style="--bs-columns: 3;">
<div>Auto-column</div>
<div>Auto-column</div>
<div>Auto-column</div>
</div>
አምዶች እና ክፍተቶች
የአምዶች ብዛት እና ክፍተቱን ያስተካክሉ.
<div class="grid text-center" style="--bs-columns: 4; --bs-gap: 5rem;">
<div class="g-col-2">.g-col-2</div>
<div class="g-col-2">.g-col-2</div>
</div>
<div class="grid text-center" style="--bs-columns: 10; --bs-gap: 1rem;">
<div class="g-col-6">.g-col-6</div>
<div class="g-col-4">.g-col-4</div>
</div>
ረድፎችን መጨመር
ተጨማሪ ረድፎችን ማከል እና የአምዶች አቀማመጥ መቀየር፡
<div class="grid text-center" style="--bs-rows: 3; --bs-columns: 3;">
<div>Auto-column</div>
<div class="g-start-2" style="grid-row: 2">Auto-column</div>
<div class="g-start-3" style="grid-row: 3">Auto-column</div>
</div>
ክፍተቶች
ቀጥ ያሉ ክፍተቶችን በማስተካከል ብቻ ይቀይሩ row-gap
. gap
በ .grid
s ላይ እንደምንጠቀም ልብ ይበሉ ፣ ግን row-gap
እንደ column-gap
አስፈላጊነቱ ሊሻሻል ይችላል።
<div class="grid text-center" style="row-gap: 0;">
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
</div>
በዚህ ምክንያት, የተለያዩ ቋሚ እና አግድም s ሊኖርዎት ይችላል gap
, ይህም አንድ ነጠላ እሴት (ሁሉም ጎኖች) ወይም ጥንድ እሴቶችን (ቋሚ እና አግድም) ሊወስድ ይችላል. gap
ይህ በውስጥ መስመር ለ , ወይም በእኛ --bs-gap
CSS ተለዋዋጭ ሊተገበር ይችላል .
<div class="grid text-center" style="--bs-gap: .25rem 1rem;">
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
<div class="g-col-6">.g-col-6</div>
</div>
ሳስ
የCSS ግሪድ አንዱ ገደብ የእኛ ነባሪ ክፍሎቻችን አሁንም በሁለት Sass ተለዋዋጮች መፈጠሩ $grid-columns
እና $grid-gutter-width
ነው። ይህ በእኛ በተጠናቀረ CSS ውስጥ የሚፈጠሩትን የክፍሎች ብዛት በትክክል ይወስናል። እዚህ ሁለት አማራጮች አሉዎት፡-
- እነዚያን ነባሪ የ Sass ተለዋዋጮች ይቀይሩ እና የእርስዎን CSS እንደገና ያጠናቅቁ።
- የቀረቡትን ክፍሎች ለመጨመር የመስመር ውስጥ ወይም ብጁ ቅጦችን ይጠቀሙ።
ለምሳሌ፣ የአምድ ቆጠራውን ከፍ ማድረግ እና ክፍተቱን መጠን መቀየር፣ እና በመቀጠል የእርስዎን "አምዶች" በውስጥ መስመር ቅጦች እና ቀድሞ በተገለጹት የCSS ግሪድ አምድ ክፍሎች (ለምሳሌ .g-col-4
) መጠን መጠናቸው ይችላሉ።
<div class="grid text-center" style="--bs-columns: 18; --bs-gap: .5rem;">
<div style="grid-column: span 14;">14 columns</div>
<div class="g-col-4">.g-col-4</div>
</div>