Katika somo hili, utajifunza jinsi ya kutumia media queries kwa ajili ya kutengeneza tovuti zinazojibadilisha kulingana na ukubwa wa skrini. Tutazungumzia @media rules, breakpoints, na dhana ya mobile-first design.
Kwa sababu watu hutumia vifaa vya ukubwa tofauti kama simu, tablet, na kompyuta, tovuti inapaswa kuonekana vizuri kwenye kila kifaa. Hapa ndipo Responsive Design inapohusika, na nyenzo kuu ya kufanikisha hili ni CSS Media Queries.
@media Rules@media ni amri ya CSS inayoweka style fulani zitumike tu kwa hali maalum ya kifaa (screen).
Inaruhusu kuweka tofauti za muonekano kulingana na upana, urefu, orientation, resolution n.k.
@media (max-width: 768px) {
body {
background-color: lightblue;
}
}
? Maana yake: ikiwa upana wa skrini ni mdogo au sawa na 768px, badili rangi ya nyuma kuwa lightblue.
Breakpoints ni pointi maalum (kwa kipimo cha px) ambapo layout inabadilika ili kufaa kifaa tofauti.
? Mfano wa Breakpoints ya kawaida:
| Kifaa | Upana (px) |
|---|---|
| Simu ndogo | max-width: 480px |
| Simu ya kawaida | max-width: 768px |
| Tablet | max-width: 1024px |
| Kompyuta ndogo | max-width: 1280px |
| Kompyuta kubwa | zaidi ya 1280px |
@media (max-width: 480px) {
.menu {
display: none;
}
}
@media (min-width: 769px) {
.menu {
display: block;
}
}
Mobile-first ni mbinu ya kwanza kubuni kwa simu, kisha kupanua kwa vifaa vikubwa.
Unaandika CSS ya msingi kwanza (kwa simu), kisha unaongeza style za vifaa vikubwa kwa kutumia min-width.
/* Styles za simu (default) */
.container {
padding: 10px;
font-size: 14px;
}
/* Styles kwa tablet na zaidi */
@media (min-width: 768px) {
.container {
padding: 30px;
font-size: 18px;
}
}
? Hii inaipa simu kipaumbele badala ya kuanza na desktop.
<div class="box">Karibu!</div>
.box {
background: green;
color: white;
padding: 20px;
text-align: center;
}
/* Kwa vifaa vidogo */
@media (max-width: 600px) {
.box {
background: orange;
}
}
/* Kwa vifaa vikubwa */
@media (min-width: 1024px) {
.box {
background: navy;
}
}
Media queries ni njia bora ya kufanya tovuti yako ionekane vizuri kwenye kila kifaa. Kwa kutumia @media, unaweza kudhibiti layout kulingana na ukubwa wa skrini na kuweka uzoefu mzuri kwa watumiaji wa simu, tablet, au desktop.
Tutajifunza jinsi ya kuleta miondoko na harakati kwenye tovuti kwa kutumia transition, transform, na animation.
@media (max-width: 768px) inamaanisha nini?
a) Styles zitatumika ikiwa skrini ni kubwa zaidi ya 768px
b) Styles zitatumika ikiwa skrini ni ndogo au sawa na 768px
c) Styles zitatumika kwa kompyuta pekee
d) Styles hazitafanya kazi
Nini maana ya breakpoint?
a) Kifaa kilichovunjika
b) Muda wa kuvunja layout
c) Kipimo cha skrini kinachobadili layout
d) Kifaa kinapopotea mtandaoni
Mobile-first design huanza na?
a) Kompyuta
b) Tablet
c) Simu
d) Smart TV
Ili style ifanye kazi tu kwenye kompyuta yenye skrini kubwa zaidi ya 1024px, utatumia?
a) @media (max-width: 1024px)
b) @media (min-width: 1024px)
c) @media screen
d) @media desktop-only
gap, flex, ::after ni sehemu za nini?
a) Media queries
b) HTML
c) CSS Layout tools
d) JavaScript
Umeionaje Makala hii.. ?
Share On:
Katika somo hili, tutajifunza kuhusu @import — amri inayotumika kuingiza faili moja la CSS ndani ya jingine. Tutaona namna ya kuitumia, faida zake, hasara zake, na tofauti kati yake na njia mbadala ya <link> ndani ya HTML.
Soma Zaidi...Somo hili linakuletea ufahamu wa kina juu ya CSS Transitions na Animations, likifafanua vipengele vyake muhimu, matumizi, na namna ya kutumia properties mbalimbali za animation kwa ufanisi katika kurahisisha muonekano na mtumiaji wa tovuti.
Soma Zaidi...Katika somo hili, utajifunza jinsi ya kudhibiti upana (width) na urefu (height) wa elementi katika CSS. Pia utaelewa tofauti kati ya max-width, min-width, na jinsi overflow inavyodhibiti tabia ya content inayoizidi element.
Soma Zaidi...Katika somo hili utakwenda kujifunza maana ya CSS, pia nitakujulisha kazi zake. Mwisho utatambuwa historia ya CSS toka kuanzishwa.
Soma Zaidi...Katika somo hili, utajifunza misingi ya CSS Grid Layout, mfumo wenye nguvu wa kupanga vipengele katika safu (rows) na nguzo (columns). Tutachambua display: grid, pamoja na grid-template-columns, grid-template-rows, gap, grid-column, na grid-row.
Soma Zaidi...Katika somo hili tutajifunza kwa kina kuhusu CSS Shorthand Properties — ni nini, jinsi zinavyofanya kazi, faida zake, na mifano mbalimbali ya kutumia shorthand kuandika CSS kwa njia fupi na bora zaidi.
Soma Zaidi...Katika somo hili tutajifunza kuhusu CSS Timing Functions, ambazo hutumika kudhibiti kasi na mtiririko wa transition na animation. Utaelewa tofauti kati ya ease, linear, ease-in, ease-out, ease-in-out, pamoja na jinsi ya kutumia cubic-bezier() kwa kudhibiti mwendo wa mabadiliko kwenye elementi.
Soma Zaidi...Katika somo hili utajifunza kuhusu property ya position katika CSS, ambayo hutumika kuamua jinsi element inavyowekwa ndani ya ukurasa. Tutajifunza aina tano kuu za position: static, relative, absolute, fixed, na sticky.
Soma Zaidi...Katika somo hili, tutajifunza kuhusu CSS Specificity — yaani mfumo wa kipaumbele unaotumiwa na kivinjari kuchagua ni mtindo (style) upi utumike iwapo kuna migongano kati ya selectors mbalimbali. Utaelewa jinsi ya kupanga selectors zako vizuri ili kuzuia matatizo ya mitindo kutofanya kazi kama ulivyotarajia.
Soma Zaidi...Katika somo hili, utajifunza msingi wa mfumo wa Flexbox unaotumika kupanga elementi kwa usahihi ndani ya kontena. Utajifunza kuhusu display: flex;, pamoja na properties muhimu kama justify-content, align-items, flex-direction, na gap.
Soma Zaidi...