Theming Bootstrap
ለቀላል ጭብጦች እና አካላት ለውጦች ለአለምአቀፍ የቅጥ ምርጫዎች ቡትስትራፕ 4ን በአዲሱ አብሮገነብ Sass ተለዋዋጮች ያብጁ።
መግቢያ
በBootstrap 3 ውስጥ፣ ጭብጥ በአብዛኛው የሚነዳው በተለዋዋጭ መሻሮች በ LESS፣ በብጁ CSS እና በፋይሎቻችን ውስጥ ባካተትነው የተለየ ጭብጥ የቅጥ ሉህ ነው dist
። በተወሰነ ጥረት አንድ ሰው የ Bootstrap 3 ዋና ፋይሎቹን ሳይነኩ ሙሉ ለሙሉ እንደገና ሊነድፍ ይችላል. Bootstrap 4 የሚታወቅ፣ ግን ትንሽ የተለየ አቀራረብ ያቀርባል።
አሁን፣ ጭብጥ በ Sass ተለዋዋጮች፣ Sass ካርታዎች እና በብጁ ሲኤስኤስ ተፈጽሟል። ከአሁን በኋላ የተለየ ገጽታ የቅጥ ሉህ የለም፤ በምትኩ፣ አብሮ የተሰራውን ቅልመት፣ ጥላዎች እና ሌሎችን ለመጨመር ማንቃት ይችላሉ።
ሳስ
ከተለዋዋጮች፣ ካርታዎች፣ ድብልቅ ነገሮች እና ተጨማሪ ነገሮች ለመጠቀም የምንጭ የSass ፋይሎችን ይጠቀሙ።
የፋይል መዋቅር
በተቻለ መጠን የBootstrapን ዋና ፋይሎችን ከመቀየር ይቆጠቡ። ለ Sass፣ ያ ማለት እርስዎ እንዲያስተካክሉት እና እንዲራዘሙት ቡትስትራፕን የሚያስመጣ የራስዎን የቅጥ ሉህ መፍጠር ማለት ነው። እንደ npm ያለ የጥቅል አስተዳዳሪን እየተጠቀምክ እንደሆነ ካሰብክ፣ ይህን የሚመስል የፋይል መዋቅር ይኖርሃል፡-
የምንጭ ፋይሎቻችንን ካወረዱ እና የጥቅል አስተዳዳሪን እየተጠቀሙ ካልሆኑ፣ የBootstrap የምንጭ ፋይሎችን ከራስዎ በመለየት ተመሳሳይ የሆነ ነገር እራስዎ ማዋቀር ይፈልጋሉ።
በማስመጣት ላይ
በእርስዎ custom.scss
ውስጥ የ Bootstrap ምንጭ Sass ፋይሎችን ያስመጣሉ። ሁለት አማራጮች አሉዎት፡ ሁሉንም የBootstrap ያካትቱ ወይም የሚፈልጉትን ክፍሎች ይምረጡ። የኋለኛውን እናበረታታለን፣ ምንም እንኳን በእኛ አካላት ላይ አንዳንድ መስፈርቶች እና ጥገኞች እንዳሉ ልብ ይበሉ። ለእኛ ተሰኪዎች አንዳንድ ጃቫ ስክሪፕት ማካተትም ያስፈልግዎታል።
ያንን ማዋቀር በቦታዎ ውስጥ ማንኛውንም የ Sass ተለዋዋጮችን እና ካርታዎችን ማሻሻል መጀመር ይችላሉ custom.scss
። // Optional
እንዲሁም እንደ አስፈላጊነቱ በክፍሉ ስር የ Bootstrap ክፍሎችን ማከል መጀመር ይችላሉ ። bootstrap.scss
ከፋይላችን የሚገኘውን ሙሉ የማስመጣት ቁልል እንደ መነሻ እንድትጠቀሙበት እንመክራለን ።
ተለዋዋጭ ነባሪዎች
በBootstrap 4 ውስጥ ያለው እያንዳንዱ የሳስ ተለዋዋጭ !default
የBootstrapን የምንጭ ኮድ ሳይቀይሩ የተለዋዋጭውን ነባሪ እሴት በራስዎ Sass እንዲሽሩ የሚያስችልዎትን ባንዲራ ያካትታል። እንደ አስፈላጊነቱ ተለዋዋጮችን ይቅዱ እና ይለጥፉ፣ እሴቶቻቸውን ያሻሽሉ እና !default
ባንዲራውን ያስወግዱ። አንድ ተለዋዋጭ አስቀድሞ ከተመደበ፣ ከዚያ በቡትስትራፕ ውስጥ ባሉ ነባሪ እሴቶች እንደገና አይመደብም።
ሙሉውን የBootstrap ተለዋዋጮች ዝርዝር ውስጥ ያገኛሉ scss/_variables.scss
።
በተመሳሳዩ የ Sass ፋይል ውስጥ ያሉ ተለዋዋጭ መሻሮች ከነባሪ ተለዋዋጮች በፊት ወይም በኋላ ሊመጡ ይችላሉ። ነገር ግን፣ በመላው የ Sass ፋይሎች ላይ ሲሻሩ፣ የBootstrap's Sass ፋይሎችን ከማስመጣትዎ በፊት መሻሮችዎ መምጣት አለባቸው።
Bootstrapን በ npm ሲያስገቡ እና ሲያጠናቅቁ background-color
እና color
ለ የሚለውን የሚቀይር ምሳሌ ይኸውና<body>
ከታች ያሉትን አለምአቀፍ አማራጮችን ጨምሮ በBootstrap ውስጥ ላለ ማንኛውም ተለዋዋጭ እንደ አስፈላጊነቱ ይድገሙት።
ካርታዎች እና ቀለበቶች
ቡትስትራፕ 4 በጣት የሚቆጠሩ የሳስ ካርታዎች፣ ተዛማጅ የCSS ቤተሰቦችን ማፍራት ቀላል የሚያደርጉ ቁልፍ እሴት ጥንዶችን ያካትታል። ለቀለሞቻችን፣ የፍርግርግ መግቻ ነጥቦች እና ሌሎችም የ Sass ካርታዎችን እንጠቀማለን። ልክ እንደ Sass ተለዋዋጮች፣ ሁሉም የ Sass ካርታዎች !default
ባንዲራውን ያካተቱ እና ሊሻሩ እና ሊራዘሙ ይችላሉ።
አንዳንድ የ Sass ካርታዎቻችን በነባሪ ወደ ባዶዎች ተዋህደዋል። ይህ የሚደረገው የSass ካርታን በቀላሉ ለማስፋፋት ነው፣ ነገር ግን እቃዎችን ከካርታው ላይ ትንሽ የበለጠ አስቸጋሪ ለማድረግ በሚያስችለው ወጪ ነው።
ካርታ ቀይር
በእኛ ካርታ ላይ ያለውን ቀለም ለመቀየር $theme-colors
፣ ወደ ብጁ Sass ፋይልዎ የሚከተለውን ያክሉ።
ወደ ካርታው ያክሉ
አዲስ ቀለም ወደ $theme-colors
ላይ ለማከል አዲሱን ቁልፍ እና እሴት ያክሉ፡-
ከካርታው ላይ አስወግድ
$theme-colors
ቀለሞችን ከ ወይም ሌላ ካርታ ለማስወገድ ይጠቀሙ map-remove
። በእኛ መስፈርቶች እና አማራጮች መካከል ማስገባት እንዳለብዎ ይወቁ፡
አስፈላጊ ቁልፎች
ቡትስትራፕ በ Sass ካርታዎች ውስጥ አንዳንድ የተወሰኑ ቁልፎች እንዳሉ የሚገምተው እኛ በተጠቀምንበት ጊዜ እና እነዚህን እራሳችን ማራዘም ነው። የተካተቱትን ካርታዎች ሲያበጁ፣ የተወሰነ የሳስ ካርታ ቁልፍ ጥቅም ላይ በሚውልበት ጊዜ ስህተቶች ሊያጋጥሙዎት ይችላሉ።
ለምሳሌ፣ የ primary
፣፣ success
እና danger
ቁልፎችን $theme-colors
ለአገናኞች፣ አዝራሮች እና ለቅጽ ግዛቶች እንጠቀማለን። የእነዚህ ቁልፎች እሴቶች መተካት ምንም አይነት ችግር ሊኖርበት አይገባም፣ ነገር ግን እነሱን ማስወገድ የ Sass ስብስብ ችግሮችን ሊያስከትል ይችላል። በእነዚህ አጋጣሚዎች እነዚያን እሴቶች የሚጠቀመውን የ Sass ኮድ ማሻሻል ያስፈልግዎታል።
ተግባራት
Bootstrap በርካታ የ Sass ተግባራትን ይጠቀማል፣ ነገር ግን ለአጠቃላይ ጭብጥ የሚመለከተው ንዑስ ስብስብ ብቻ ነው። ከቀለም ካርታዎች እሴቶችን ለማግኘት ሶስት ተግባራትን አካተናል፡-
እነዚህ ከ v3 የቀለም ተለዋዋጭ እንዴት እንደሚጠቀሙ አይነት ከ Sass ካርታ አንድ ቀለም እንዲመርጡ ያስችሉዎታል።
እንዲሁም ከካርታው ላይ የተወሰነ የቀለም ደረጃ ለማግኘት ሌላ ተግባር አለን ። $theme-colors
አሉታዊ ደረጃ ዋጋዎች ቀለሙን ያቀልላሉ, ከፍተኛ ደረጃዎች ደግሞ ይጨልማሉ.
በተግባር፣ ተግባሩን ጠርተው በሁለት መመዘኛዎች ያልፋሉ፡ የቀለም ስም ከ $theme-colors
(ለምሳሌ፣ ዋና ወይም አደጋ) እና የቁጥር ደረጃ።
ለተጨማሪ የ Sass ካርታዎች ደረጃ ተግባራትን ለመፍጠር ወይም የበለጠ የቃላት አነጋገር ለመሆን ከፈለግክ ተጨማሪ ተግባራትን ወደፊት ወይም የራስህ ብጁ Sass ሊታከል ይችላል።
የቀለም ንፅፅር
በ Bootstrap ውስጥ የምናካትተው አንድ ተጨማሪ ተግባር የቀለም ንፅፅር ተግባር ነው color-yiq
። በተጠቀሰው የመሠረት ቀለም ላይ በመመርኮዝ የብርሃን ( ) ወይም ጨለማ ( ) ንፅፅር ቀለም በራስ-ሰር ለመመለስ የ YIQ ቀለም ቦታን ይጠቀማል ። ይህ ተግባር በተለይ ብዙ ክፍሎችን ለሚያመነጩበት ድብልቅ ወይም loops ጠቃሚ ነው።#fff
#111
ለምሳሌ፣ ከካርታችን ላይ የቀለም ቅየራዎችን ለመፍጠር $theme-colors
፡-
እንዲሁም ለአንድ ጊዜ የንፅፅር ፍላጎቶች ጥቅም ላይ ሊውል ይችላል፡-
እንዲሁም የመሠረት ቀለም ከቀለም ካርታ ተግባሮቻችን ጋር መግለጽ ይችላሉ፡-
Sass አማራጮች
አብሮ በተሰራው የብጁ ተለዋዋጮች ፋይላችን Bootstrap 4ን ያብጁ እና አለምአቀፍ የሲኤስኤስ ምርጫዎችን በአዲስ $enable-*
Sass ተለዋዋጮች በቀላሉ ይቀያይሩ። የተለዋዋጭ እሴትን ይሽሩ እና npm run test
እንደ አስፈላጊነቱ እንደገና ያሰባስቡ።
scss/_variables.scss
በBootstrap ፋይል ውስጥ እነዚህን ተለዋዋጮች ለቁልፍ ዓለም አቀፍ አማራጮች ማግኘት እና ማበጀት ይችላሉ ።
ተለዋዋጭ | እሴቶች | መግለጫ |
---|---|---|
$spacer |
1rem (ነባሪ)፣ ወይም ማንኛውም እሴት > 0 |
የስፔሰር መገልገያዎችን በፕሮግራም ለማመንጨት ነባሪውን የስፔሰር ዋጋ ይገልጻል ። |
$enable-rounded |
true (ነባሪ) ወይምfalse |
border-radius በተለያዩ ክፍሎች ላይ አስቀድሞ የተገለጹ ቅጦችን ያነቃል ። |
$enable-shadows |
true ወይም false (ነባሪ) |
box-shadow በተለያዩ ክፍሎች ላይ አስቀድሞ የተገለጹ ቅጦችን ያነቃል ። |
$enable-gradients |
true ወይም false (ነባሪ) |
background-image በተለያዩ ክፍሎች ላይ ባሉ ቅጦች ቀድሞ የተገለጹ ቅልመትን ያነቃል ። |
$enable-transitions |
true (ነባሪ) ወይምfalse |
transition በተለያዩ ክፍሎች ላይ አስቀድሞ የተገለጹትን ያነቃል ። |
$enable-hover-media-query |
true ወይም false (ነባሪ) |
ተቋርጧል |
$enable-grid-classes |
true (ነባሪ) ወይምfalse |
ለግሪድ ሲስተም (ለምሳሌ፣፣፣፣፣ ወዘተ.) የሲኤስኤስ ክፍሎችን .container ማመንጨት .row ያስችላል .col-md-1 ። |
$enable-caret |
true (ነባሪ) ወይምfalse |
በ ላይ የውሸት ንጥረ ነገር እንክብካቤን ያነቃል .dropdown-toggle ። |
$enable-print-styles |
true (ነባሪ) ወይምfalse |
ህትመትን ለማመቻቸት ቅጦችን ያነቃል። |
ቀለም
ብዙዎቹ የBootstrap የተለያዩ ክፍሎች እና መገልገያዎች የተገነቡት በሳስ ካርታ ውስጥ በተገለጹ ተከታታይ ቀለሞች ነው። ተከታታይ ደንቦችን በፍጥነት ለማመንጨት ይህ ካርታ በ Sass ውስጥ መዞር ይችላል።
ሁሉም ቀለሞች
በ Bootstrap 4 ውስጥ የሚገኙ ሁሉም ቀለሞች እንደ Sass ተለዋዋጮች እና scss/_variables.scss
በፋይል የ Sass ካርታ ይገኛሉ። ይህ በቀጣዮቹ ትንንሽ ልቀቶች ላይ ተጨማሪ ጥላዎችን ለመጨመር ይስፋፋል፣ ልክ አስቀድመን እንዳካተትነው የግራጫ ቤተ-ስዕል ።
በእርስዎ Sass ውስጥ እነዚህን እንዴት መጠቀም እንደሚችሉ እነሆ፡-
የቀለም መገልገያ ክፍሎች ለማቀናበር color
እና background-color
.
ለወደፊቱ፣ ከታች ያሉትን ግራጫማ ቀለሞች እንዳደረግነው የሳስ ካርታዎችን እና ተለዋዋጮችን ለእያንዳንዱ ቀለም ጥላዎች ለማቅረብ አላማ እናደርጋለን።
የገጽታ ቀለሞች
የቀለም መርሃግብሮችን ለመፍጠር አነስ ያለ የቀለም ቤተ-ስዕል ለመፍጠር የሁሉም ቀለሞች ንዑስ ስብስብ እንጠቀማለን፣ እንዲሁም እንደ Sass ተለዋዋጮች እና የ Sass ካርታ በ Bootstraps scss/_variables.scss
ፋይል ውስጥ ይገኛል።
ግራጫዎች
scss/_variables.scss
በፕሮጀክትዎ ላይ ወጥነት ላለው ግራጫማ ጥላዎች ሰፊ የሆነ የግራጫ ተለዋዋጮች ስብስብ እና የSass ካርታ ።
በ ውስጥ scss/_variables.scss
፣ የ Bootstrap ቀለም ተለዋዋጮች እና የሳስ ካርታ ያገኛሉ። $colors
የ Sass ካርታ ምሳሌ ይኸውና ፡-
በሌሎች በርካታ ክፍሎች ውስጥ እንዴት ጥቅም ላይ እንደሚውሉ ለማዘመን በካርታው ውስጥ እሴቶችን ያክሉ፣ ያስወግዱ ወይም ይቀይሩ። እንደ አለመታደል ሆኖ በዚህ ጊዜ፣ ሁሉም አካላት ይህንን የሳስ ካርታ አይጠቀሙም። የወደፊት ዝመናዎች በዚህ ላይ ለማሻሻል ይጥራሉ. እስከዚያ ድረስ፣ ${color}
ተለዋዋጮችን እና ይህን የሳስ ካርታ ለመጠቀም እቅድ ያውጡ።
አካላት
@each
ብዙዎቹ የBootstrap ክፍሎች እና መገልገያዎች በ Sass ካርታ ላይ በሚደጋገሙ ቀለበቶች የተገነቡ ናቸው ። ይህ በተለይ በእኛ የአንድ አካል $theme-colors
ልዩነቶችን ለመፍጠር እና ለእያንዳንዱ መግቻ ነጥብ ምላሽ ሰጪ ልዩነቶችን ለመፍጠር አጋዥ ነው። እነዚህን የሳስ ካርታዎች ሲያበጁ እና እንደገና ሲያጠናቅቁ፣ ለውጦችዎ በእነዚህ ዑደቶች ውስጥ ሲንፀባረቁ ያያሉ።
መቀየሪያዎች
ብዙዎቹ የ Bootstrap ክፍሎች የተገነቡት በመሠረታዊ-መቀየሪያ ክፍል አቀራረብ ነው። ይህ ማለት የአጻጻፉ አብዛኛው ክፍል ወደ ቤዝ ክፍል (ለምሳሌ .btn
፡) ይዟል ማለት ሲሆን የአጻጻፍ ልዩነቶች ግን በመቀየሪያ ክፍሎች (ለምሳሌ፡) ብቻ ተወስነዋል .btn-danger
። እነዚህ የመቀየሪያ ክፍሎች ከካርታው ላይ የተገነቡት የመቀየሪያ ክፍሎቻችንን $theme-colors
ቁጥር እና ስም ለማበጀት ነው።
በካርታው ላይ እንዴት እንደምናዞር ሁለት ምሳሌዎች ለክፍለ አካል እና ለሁሉም የጀርባ $theme-colors
መገልገያዎቻችን ማሻሻያዎችን ለማመንጨት ።.alert
.bg-*
ምላሽ ሰጪ
እነዚህ የ Sass loops በቀለም ካርታዎች ብቻ የተገደቡ አይደሉም። እንዲሁም የእርስዎን ክፍሎች ወይም መገልገያዎች ምላሽ ሰጪ ልዩነቶች ማመንጨት ይችላሉ። @each
የ $grid-breakpoints
Sass ካርታውን የሚዲያ መጠይቅን የምናጠቃልልበትን ምላሽ ሰጪ የጽሑፍ አሰላለፍ መገልገያዎችን እንደ ምሳሌ እንውሰድ ።
የእርስዎን ማስተካከል ካስፈለገዎት $grid-breakpoints
ለውጦችዎ በዚያ ካርታ ላይ በሚደጋገሙ ቀለበቶች ላይ ተፈጻሚ ይሆናሉ።
የሲኤስኤስ ተለዋዋጮች
Bootstrap 4 በተጠናቀረ CSS ውስጥ ወደ ሁለት ደርዘን የሚጠጉ የ CSS ብጁ ንብረቶችን (ተለዋዋጮችን) ያካትታል ። እነዚህ እንደ የእኛ ጭብጥ ቀለሞች፣ መግቻ ነጥቦች እና የመጀመሪያ ደረጃ ቅርጸ-ቁምፊ ቁልል በአሳሽዎ ኢንስፔክተር፣ ኮድ ማጠሪያ ወይም አጠቃላይ ፕሮቶታይፕ ውስጥ ያሉ በተለምዶ ጥቅም ላይ የዋሉ እሴቶችን በቀላሉ ማግኘት ይችላሉ።
የሚገኙ ተለዋዋጮች
እኛ የምናካትታቸው ተለዋዋጮች እነሆ ( :root
አስፈላጊ መሆኑን ልብ ይበሉ)። በእኛ _root.scss
ፋይል ውስጥ ይገኛሉ።
ምሳሌዎች
የሲኤስኤስ ተለዋዋጮች ከ Sass ተለዋዋጮች ጋር ተመሳሳይ የሆነ ተለዋዋጭነት ይሰጣሉ፣ ነገር ግን ወደ አሳሹ ከመቅረቡ በፊት ማጠናቀር ሳያስፈልግ። ለምሳሌ፣ እዚህ የገጻችንን ቅርጸ-ቁምፊ እና የአገናኝ ስልቶችን ከCSS ተለዋዋጮች ጋር ዳግም እያስጀመርን ነው።
የብሬክ ነጥብ ተለዋዋጮች
በመጀመሪያ መግቻ ነጥቦችን በእኛ የCSS ተለዋዋጮች (ለምሳሌ ፣ --breakpoint-md
) ያካተትን ቢሆንም፣ እነዚህ በመገናኛ ብዙሃን መጠይቆች ውስጥ አይደገፉም ፣ ነገር ግን አሁንም በሚዲያ ጥያቄዎች ውስጥ በደንቦች ውስጥ ጥቅም ላይ ሊውሉ ይችላሉ ። እነዚህ መግቻ ነጥብ ተለዋዋጮች በጃቫስክሪፕት ጥቅም ላይ ሊውሉ ስለሚችሉ ለኋላ ተኳኋኝነት በተዘጋጀው CSS ውስጥ ይቀራሉ። በዝርዝሩ ውስጥ የበለጠ ይረዱ።
የማይደገፍ ምሳሌ ይኸውና ፡-
እና የሚደገፈው ምሳሌ ይኸውና ፡-