ગ્રીડ સિસ્ટમ
બાર કૉલમ સિસ્ટમ, પાંચ ડિફૉલ્ટ રિસ્પોન્સિવ ટિયર્સ, Sass ચલો અને મિક્સિન્સ અને ડઝનેક પૂર્વવ્યાખ્યાયિત વર્ગોને આભારી તમામ આકારો અને કદના લેઆઉટ બનાવવા માટે અમારી શક્તિશાળી મોબાઇલ-ફર્સ્ટ ફ્લેક્સબોક્સ ગ્રીડનો ઉપયોગ કરો.
બુટસ્ટ્રેપની ગ્રીડ સિસ્ટમ સામગ્રીને લેઆઉટ અને સંરેખિત કરવા માટે શ્રેણીબદ્ધ કન્ટેનર, પંક્તિઓ અને કૉલમનો ઉપયોગ કરે છે. તે flexbox સાથે બનેલ છે અને સંપૂર્ણપણે જવાબદાર છે. નીચે એક ઉદાહરણ છે અને ગ્રીડ કેવી રીતે એકસાથે આવે છે તેના પર ઊંડાણપૂર્વકનો દેખાવ છે.
ફ્લેક્સબોક્સ માટે નવા અથવા અજાણ્યા છો? પૃષ્ઠભૂમિ, પરિભાષા, માર્ગદર્શિકા અને કોડ સ્નિપેટ્સ માટે આ CSS ટ્રિક્સ ફ્લેક્સબોક્સ માર્ગદર્શિકા વાંચો .
ઉપરોક્ત ઉદાહરણ અમારા પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગોનો ઉપયોગ કરીને નાના, મધ્યમ, મોટા અને વધારાના મોટા ઉપકરણો પર ત્રણ સમાન-પહોળાઈના કૉલમ બનાવે છે. તે કૉલમ પેરેન્ટ સાથે પૃષ્ઠમાં કેન્દ્રિત છે .container
.
તેને તોડીને, તે કેવી રીતે કાર્ય કરે છે તે અહીં છે:
- કન્ટેનર તમારી સાઇટના સમાવિષ્ટોને કેન્દ્રમાં અને આડા પેડ કરવા માટેનું સાધન પ્રદાન કરે છે. રિસ્પોન્સિવ પિક્સેલ પહોળાઈ માટે
.container
અથવા તમામ વ્યૂપોર્ટ અને ડિવાઇસના કદ માટે ઉપયોગ કરો ..container-fluid
width: 100%
- પંક્તિઓ કૉલમ માટે આવરણો છે. દરેક કૉલમ
padding
તેમની વચ્ચેની જગ્યાને નિયંત્રિત કરવા માટે આડી (જેને ગટર કહેવાય છે) ધરાવે છે. આpadding
પછી નકારાત્મક માર્જિન સાથે પંક્તિઓ પર પ્રતિક્રમણ કરવામાં આવે છે. આ રીતે, તમારી કૉલમમાંની બધી સામગ્રી ડાબી બાજુએ દૃષ્ટિની રીતે ગોઠવાયેલ છે. - ગ્રીડ લેઆઉટમાં, સામગ્રીને કૉલમની અંદર મૂકવી આવશ્યક છે અને માત્ર કૉલમ જ પંક્તિઓના તાત્કાલિક બાળકો હોઈ શકે છે.
- ફ્લેક્સબૉક્સનો આભાર, ઉલ્લેખિત વિનાના ગ્રીડ કૉલમ્સ
width
આપમેળે સમાન પહોળાઈના કૉલમ તરીકે લેઆઉટ કરશે. ઉદાહરણ તરીકે, વિલના ચાર ઉદાહરણો.col-sm
દરેક આપમેળે નાના બ્રેકપોઇન્ટથી અને ઉપરથી 25% પહોળા હશે. વધુ ઉદાહરણો માટે સ્વતઃ-લેઆઉટ કૉલમ વિભાગ જુઓ . - કૉલમ વર્ગો પંક્તિ દીઠ સંભવિત 12માંથી તમે ઉપયોગ કરવા માગતા કૉલમની સંખ્યા દર્શાવે છે. તેથી, જો તમને ત્રણ સમાન-પહોળાઈના કૉલમ જોઈએ છે, તો તમે ઉપયોગ કરી શકો છો
.col-4
. - કૉલમ
width
s ટકાવારીમાં સેટ કરવામાં આવે છે, તેથી તેઓ હંમેશા પ્રવાહી અને તેમના મૂળ તત્વની તુલનામાં કદના હોય છે. padding
વ્યક્તિગત કૉલમ વચ્ચે ગટર બનાવવા માટે કૉલમ આડી હોય છે, જો કે, તમે પરની સાથેmargin
પંક્તિઓમાંથી અને કૉલમમાંથી દૂર કરી શકો છો .padding
.no-gutters
.row
- ગ્રીડને રિસ્પોન્સિવ બનાવવા માટે, પાંચ ગ્રીડ બ્રેકપોઈન્ટ છે, દરેક રિસ્પોન્સિવ બ્રેકપોઈન્ટ માટે એક : બધા બ્રેકપોઈન્ટ્સ (વધારાની નાની), નાની, મધ્યમ, મોટી અને વધારાની મોટી.
- ગ્રીડ બ્રેકપોઈન્ટ ન્યૂનતમ પહોળાઈના મીડિયા ક્વેરીઝ પર આધારિત હોય છે, એટલે કે તે એક બ્રેકપોઈન્ટ અને તેની ઉપરના તમામ પર લાગુ થાય છે (દા.ત.,
.col-sm-4
નાના, મધ્યમ, મોટા અને વધારાના મોટા ઉપકરણોને લાગુ પડે છે, પરંતુ પ્રથમxs
બ્રેકપોઈન્ટ નહીં). - તમે વધુ સિમેન્ટીક માર્કઅપ માટે પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગો (જેમ
.col-4
કે ) અથવા સાસ મિક્સન્સનો ઉપયોગ કરી શકો છો.
ફ્લેક્સબોક્સની આજુબાજુની મર્યાદાઓ અને ભૂલોથી વાકેફ રહો , જેમ કે ફ્લેક્સ કન્ટેનર તરીકે કેટલાક HTML ઘટકોનો ઉપયોગ કરવામાં અસમર્થતા .
જ્યારે બુટસ્ટ્રેપ મોટા ભાગના કદને વ્યાખ્યાયિત કરવા માટે em
s અથવા s નો ઉપયોગ કરે છે, s નો ઉપયોગ ગ્રીડ બ્રેકપોઈન્ટ અને કન્ટેનર પહોળાઈ માટે થાય છે. આ એટલા માટે છે કારણ કે વ્યૂપોર્ટની પહોળાઈ પિક્સેલ્સમાં છે અને ફોન્ટના કદ સાથે બદલાતી નથી .rem
px
જુઓ કે કેવી રીતે બુટસ્ટ્રેપ ગ્રીડ સિસ્ટમના પાસાઓ હાથવગા ટેબલ સાથે બહુવિધ ઉપકરણો પર કામ કરે છે.
વધારાનું નાનું <576px |
નાનું ≥576px |
મધ્યમ ≥768px |
મોટું ≥992px |
વધારાનું મોટું ≥1200px |
|
---|---|---|---|---|---|
મહત્તમ કન્ટેનર પહોળાઈ | કોઈ નહીં (ઓટો) | 540px | 720px | 960px | 1140px |
વર્ગ ઉપસર્ગ | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
કૉલમનો # | 12 | ||||
ગટરની પહોળાઈ | 30px (સ્તંભની દરેક બાજુએ 15px) | ||||
નેસ્ટેબલ | હા | ||||
કૉલમ ક્રમ | હા |
જેમ કે સ્પષ્ટ ક્રમાંકિત વર્ગ વિના સરળ કૉલમ કદ બદલવા માટે બ્રેકપોઇન્ટ-વિશિષ્ટ કૉલમ વર્ગોનો ઉપયોગ કરો .col-sm-6
.
ઉદાહરણ તરીકે, અહીં બે ગ્રીડ લેઆઉટ છે જે દરેક ઉપકરણ અને વ્યૂપોર્ટ પર લાગુ થાય છે, xs
થી xl
. તમને જોઈતા દરેક બ્રેકપોઈન્ટ માટે ગમે તેટલા એકમ-ઓછા વર્ગો ઉમેરો અને દરેક કૉલમ સમાન પહોળાઈની હશે.
સમાન-પહોળાઈના સ્તંભોને બહુવિધ રેખાઓમાં વિભાજિત કરી શકાય છે, પરંતુ ત્યાં એક સફારી ફ્લેક્સબોક્સ બગ હતો જેણે આને સ્પષ્ટ flex-basis
અથવા border
. જૂના બ્રાઉઝર સંસ્કરણો માટે ઉકેલો છે, પરંતુ જો તમે અપ-ટૂ-ડેટ હોવ તો તે જરૂરી ન હોવા જોઈએ.
ફ્લેક્સબોક્સ ગ્રીડ કૉલમ્સ માટે ઑટો-લેઆઉટનો અર્થ એ પણ છે કે તમે એક કૉલમની પહોળાઈ સેટ કરી શકો છો અને ભાઈ-બહેન કૉલમ્સનું ઑટોમૅટિક રીતે તેની આસપાસનું કદ બદલી શકો છો. તમે પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગો (નીચે બતાવ્યા પ્રમાણે), ગ્રીડ મિક્સન્સ અથવા ઇનલાઇન પહોળાઈનો ઉપયોગ કરી શકો છો. નોંધ કરો કે મધ્ય કૉલમની પહોળાઈ ગમે તેટલી હોય અન્ય કૉલમનું કદ બદલાશે.
વર્ગોનો ઉપયોગ col-{breakpoint}-auto
તેમની સામગ્રીની કુદરતી પહોળાઈના આધારે કૉલમના કદ માટે કરો.
સમાન-પહોળાઈના કૉલમ્સ બનાવો જે બહુવિધ પંક્તિઓને ફેલાવે છે .w-100
જ્યાં તમે કૉલમને નવી લાઇનમાં વિભાજીત કરવા માંગો છો તે દાખલ કરીને. .w-100
કેટલીક રિસ્પોન્સિવ ડિસ્પ્લે યુટિલિટીઝ સાથે મિક્સ કરીને બ્રેક્સને રિસ્પોન્સિવ બનાવો .
બુટસ્ટ્રેપના ગ્રીડમાં જટિલ પ્રતિભાવ લેઆઉટ બનાવવા માટે પૂર્વવ્યાખ્યાયિત વર્ગોના પાંચ સ્તરોનો સમાવેશ થાય છે. વધારાના નાના, નાના, મધ્યમ, મોટા અથવા વધારાના મોટા ઉપકરણો પર તમારા કૉલમનું કદ કસ્ટમાઇઝ કરો જો કે તમને યોગ્ય લાગે.
સૌથી નાના ઉપકરણોથી લઈને મોટામાં સમાન હોય તેવા ગ્રીડ માટે, .col
અને .col-*
વર્ગોનો ઉપયોગ કરો. જ્યારે તમને ખાસ કરીને કદના કૉલમની જરૂર હોય ત્યારે ક્રમાંકિત વર્ગનો ઉલ્લેખ કરો; અન્યથા, વળગી રહેવા માટે મફત લાગે .col
.
વર્ગોના એક જ સેટનો ઉપયોગ કરીને .col-sm-*
, તમે એક મૂળભૂત ગ્રીડ સિસ્ટમ બનાવી શકો છો જે સ્ટેકથી શરૂ થાય છે અને નાના બ્રેકપોઇન્ટ ( sm
) પર આડી બને છે.
શું નથી ઈચ્છતા કે તમારી કૉલમ ફક્ત અમુક ગ્રીડ સ્તરોમાં જ સ્ટેક થાય? જરૂરિયાત મુજબ દરેક સ્તર માટે વિવિધ વર્ગોના સંયોજનનો ઉપયોગ કરો. તે બધું કેવી રીતે કાર્ય કરે છે તેના વધુ સારા વિચાર માટે નીચેનું ઉદાહરણ જુઓ.
કૉલમને ઊભી અને આડી રીતે સંરેખિત કરવા માટે ફ્લેક્સબોક્સ સંરેખણ ઉપયોગિતાઓનો ઉપયોગ કરો.
અમારા પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગોમાં કૉલમ વચ્ચેના ગટરને વડે દૂર કરી શકાય છે .no-gutters
. આ તમામ તાત્કાલિક બાળકોના કૉલમમાંથી margin
નકારાત્મક અને .row
આડા દૂર કરે છે.padding
આ શૈલીઓ બનાવવા માટેનો સ્રોત કોડ અહીં છે. નોંધ કરો કે કૉલમ ઓવરરાઇડ્સ માત્ર પ્રથમ ચિલ્ડ્રન કૉલમ્સ માટે સ્કોપ્ડ છે અને વિશેષતા પસંદગીકાર દ્વારા લક્ષ્યાંકિત છે . જ્યારે આ વધુ ચોક્કસ પસંદગીકાર જનરેટ કરે છે, કૉલમ પેડિંગ હજુ પણ અંતર ઉપયોગિતાઓ સાથે વધુ કસ્ટમાઇઝ કરી શકાય છે .
એજ-ટુ-એજ ડિઝાઇનની જરૂર છે? પિતૃ .container
અથવા ડ્રોપ કરો .container-fluid
.
વ્યવહારમાં, તે કેવી રીતે દેખાય છે તે અહીં છે. નોંધ કરો કે તમે અન્ય તમામ પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગો (કૉલમની પહોળાઈ, પ્રતિભાવ સ્તરો, પુનઃક્રમાંકન અને વધુ સહિત) સાથે આનો ઉપયોગ કરવાનું ચાલુ રાખી શકો છો.
જો એક પંક્તિમાં 12 થી વધુ કૉલમ મૂકવામાં આવે, તો વધારાના કૉલમનું દરેક જૂથ, એક એકમ તરીકે, નવી લાઇન પર લપેટી જશે.
9 + 4 = 13 > 12 થી, આ 4-કૉલમ-વાઇડ ડિવ નવી લાઇન પર એક સંલગ્ન એકમ તરીકે વીંટળાય છે.
અનુગામી કૉલમ નવી લાઇન સાથે ચાલુ રહે છે.
ફ્લેક્સબૉક્સમાં કૉલમને નવી લાઇનમાં તોડવા માટે નાના હેકની જરૂર છે: width: 100%
તમે જ્યાં પણ તમારી કૉલમને નવી લાઇનમાં લપેટવા માંગતા હોવ ત્યાં એક ઘટક ઉમેરો. સામાન્ય રીતે આ બહુવિધ .row
s સાથે પરિપૂર્ણ થાય છે, પરંતુ દરેક અમલીકરણ પદ્ધતિ આ માટે જવાબદાર હોઈ શકતી નથી.
તમે અમારી રિસ્પોન્સિવ ડિસ્પ્લે યુટિલિટીઝ સાથે ચોક્કસ બ્રેકપોઇન્ટ પર પણ આ વિરામ લાગુ કરી શકો છો .
તમારી સામગ્રીના દ્રશ્ય ક્રમને.order-
નિયંત્રિત કરવા માટે વર્ગોનો ઉપયોગ કરો. આ વર્ગો પ્રતિભાવશીલ છે, તેથી તમે બ્રેકપોઇન્ટ દ્વારા સેટ કરી શકો છો (દા.ત., ). તમામ પાંચ ગ્રીડ સ્તરો માટે સપોર્ટનો સમાવેશ થાય છે .order
.order-1.order-md-2
1
12
ત્યાં પ્રતિભાવશીલ .order-first
અને .order-last
વર્ગો પણ છે જે અનુક્રમે અને ( ), order
લાગુ કરીને તત્વને બદલે છે. આ વર્ગોને જરૂર મુજબ નંબરવાળા વર્ગો સાથે પણ મિશ્રિત કરી શકાય છે.order: -1
order: 13
order: $columns + 1
.order-*
તમે ગ્રીડ કૉલમને બે રીતે ઑફસેટ કરી શકો છો: અમારા પ્રતિભાવશીલ .offset-
ગ્રીડ વર્ગો અને અમારી માર્જિન ઉપયોગિતાઓ . ગ્રીડ વર્ગો કૉલમ સાથે મેળ ખાય છે જ્યારે માર્જિન ઝડપી લેઆઉટ માટે વધુ ઉપયોગી છે જ્યાં ઑફસેટની પહોળાઈ ચલ હોય છે.
.offset-md-*
વર્ગોનો ઉપયોગ કરીને કૉલમને જમણી તરફ ખસેડો . આ વર્ગો કૉલમ દ્વારા કૉલમના ડાબા માર્જિનમાં વધારો કરે છે *
. ઉદાહરણ તરીકે, ચાર કૉલમ પર .offset-md-4
ખસે છે..col-md-4
રિસ્પોન્સિવ બ્રેકપોઇન્ટ્સ પર કૉલમ ક્લિયરિંગ ઉપરાંત, તમારે ઑફસેટ્સ ફરીથી સેટ કરવાની જરૂર પડી શકે છે. ગ્રીડના ઉદાહરણમાં આને ક્રિયામાં જુઓ .
v4 માં ફ્લેક્સબોક્સ પર જવા સાથે, તમે માર્જિન યુટિલિટીઝનો ઉપયોગ કરી શકો છો જેમ કે .mr-auto
ભાઈ-બહેનના કૉલમને એક બીજાથી દૂર કરવા માટે.
તમારી સામગ્રીને ડિફોલ્ટ ગ્રીડ સાથે નેસ્ટ કરવા માટે, હાલની કૉલમમાં એક નવો .row
અને કૉલમનો સેટ ઉમેરો . નેસ્ટેડ પંક્તિઓમાં કૉલમનો સમૂહ શામેલ હોવો જોઈએ જે 12 અથવા તેથી ઓછા ઉમેરે છે (તે જરૂરી નથી કે તમે બધી ઉપલબ્ધ 12 કૉલમનો ઉપયોગ કરો)..col-sm-*
.col-sm-*
બુટસ્ટ્રેપના સ્ત્રોત Sass ફાઇલોનો ઉપયોગ કરતી વખતે, તમારી પાસે કસ્ટમ, સિમેન્ટીક અને રિસ્પોન્સિવ પેજ લેઆઉટ બનાવવા માટે Sass વેરિયેબલ્સ અને મિક્સિનનો ઉપયોગ કરવાનો વિકલ્પ હોય છે. અમારા પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગો ઝડપી પ્રતિભાવ લેઆઉટ માટે ઉપયોગમાં લેવા માટે તૈયાર વર્ગોનો સંપૂર્ણ સ્યુટ પ્રદાન કરવા માટે આ જ ચલો અને મિશ્રણોનો ઉપયોગ કરે છે.
ચલો અને નકશા કૉલમની સંખ્યા, ગટરની પહોળાઈ અને મીડિયા ક્વેરી પોઈન્ટ કે જ્યાંથી ફ્લોટિંગ કૉલમ શરૂ કરવા તે નક્કી કરે છે. અમે ઉપરોક્ત દસ્તાવેજીકૃત પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગો તેમજ નીચે સૂચિબદ્ધ વૈવિધ્યપૂર્ણ મિશ્રણો માટે આનો ઉપયોગ કરીએ છીએ.
વ્યક્તિગત ગ્રીડ કૉલમ્સ માટે સિમેન્ટીક CSS જનરેટ કરવા માટે ગ્રીડ વેરીએબલ્સ સાથે મિક્સિનનો ઉપયોગ કરવામાં આવે છે.
તમે તમારા પોતાના વૈવિધ્યપૂર્ણ મૂલ્યોમાં ચલોને સંશોધિત કરી શકો છો, અથવા ફક્ત તેમના ડિફોલ્ટ મૂલ્યો સાથે મિક્સિનનો ઉપયોગ કરી શકો છો. વચ્ચેના અંતર સાથે બે-કૉલમ લેઆઉટ બનાવવા માટે ડિફૉલ્ટ સેટિંગ્સનો ઉપયોગ કરવાનું અહીં ઉદાહરણ છે.
અમારા બિલ્ટ-ઇન ગ્રીડ Sass ચલ અને નકશાનો ઉપયોગ કરીને, પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગોને સંપૂર્ણપણે કસ્ટમાઇઝ કરવાનું શક્ય છે. સ્તરોની સંખ્યા, મીડિયા ક્વેરી પરિમાણો અને કન્ટેનરની પહોળાઈ બદલો-પછી ફરીથી કમ્પાઇલ કરો.
ગ્રીડ સ્તંભોની સંખ્યા Sass વેરીએબલ દ્વારા સુધારી શકાય છે. $grid-columns
દરેક વ્યક્તિગત કૉલમની પહોળાઈ (ટકામાં) જનરેટ કરવા માટે વપરાય છે જ્યારે $grid-gutter-width
કૉલમ ગટર માટે પહોળાઈ સેટ કરે છે.
કૉલમ્સથી આગળ વધીને, તમે ગ્રીડ સ્તરોની સંખ્યાને પણ કસ્ટમાઇઝ કરી શકો છો. જો તમે ફક્ત ચાર ગ્રીડ સ્તરો ઇચ્છતા હો, તો તમે આના જેવું કંઈક અપડેટ $grid-breakpoints
કરશો $container-max-widths
:
Sass ચલ અથવા નકશામાં કોઈપણ ફેરફારો કરતી વખતે, તમારે તમારા ફેરફારો સાચવવા અને ફરીથી કમ્પાઈલ કરવાની જરૂર પડશે. આમ કરવાથી કૉલમની પહોળાઈ, ઑફસેટ્સ અને ઑર્ડરિંગ માટે પૂર્વવ્યાખ્યાયિત ગ્રીડ વર્ગોનો એકદમ નવો સેટ આઉટપુટ થશે. કસ્ટમ બ્રેકપોઇન્ટનો ઉપયોગ કરવા માટે રિસ્પોન્સિવ વિઝિબિલિટી યુટિલિટીઝને પણ અપડેટ કરવામાં આવશે. px
(ન rem
, em
, અથવા %
) માં ગ્રીડ મૂલ્યો સેટ કરવાની ખાતરી કરો .