CSS - SOMO LA 20: Media Queries na Responsive Design
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.
? Utangulizi
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.
? Maudhui ya Somo
✅ 1. @media Rules
-
@mediani 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.
✅ 2. Breakpoints
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;
}
}
✅ 3. Mobile-First Design
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.
✅ 4. Mfano Kamili
<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;
}
}
✅ Hitimisho
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.
? Somo Linalofuata: SOMO LA 21 - Transition na Animation
Tutajifunza jinsi ya kuleta miondoko na harakati kwenye tovuti kwa kutumia transition, transform, na animation.
? Maswali ya Kujitathmini
-
@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,::afterni sehemu za nini?
a) Media queries
b) HTML
c) CSS Layout tools
d) JavaScript
Umeionaje Makala hii.. ?
Share On:
👉1 kitabu cha Simulizi 👉2 Kitabu cha Afya 👉3 web hosting 👉4 Dua za Mitume na Manabii 👉5 Madrasa kiganjani 👉6 Tafasiri ya Riyadh Swalihina
Post zinazofanana:
CSS - SOMO LA 28: CSS Timing Functions
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...CSS - somo la 5: Njia tano zinazotumika kuweka rangi kwenye css
Katika somo hili utajifunza aina tano za kuweka rangi kw akutumia css
Soma Zaidi...CSS - somo la 34: if() Condition katika CSS
Katika somo hili, tutajifunza kipengele kipya kinachoitwa if() function ndani ya CSS, kilichoanza kupatikana kwenye toleo la Chrome 137. Kipengele hiki kinaturuhusu kuandika mantiki ya masharti moja kwa moja kwenye property ya CSS, bila kutumia JavaScript wala media query zilizotawanyika. Tutajifunza pia aina za queries: media(), supports(), na style() pamoja na matumizi yao ya kivitendo kwenye tovuti. Mwisho, tutaeleza kwa kina kuhusu pointer na any-pointer.
Soma Zaidi...CSS - SOMO LA 21: CSS Units
Katika somo hili, utajifunza vipimo vinavyotumika kwenye CSS kama vile px, em, rem, %, vw, na vh. Vipimo hivi hutumika kuweka ukubwa wa maandishi, padding, margin, urefu, na upana wa vipengele kwenye tovuti.
Soma Zaidi...CSS - SOMO LA 14: Position Property
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...CSS - SOMO LA 30: CSS Functions – calc(), clamp(), var(), min(), max() na Custom Functions
Katika somo hili, tutajifunza kuhusu CSS functions muhimu zinazotumika kufanya mahesabu, kuweka vipimo vya kisasa vinavyobadilika kulingana na hali ya kifaa, na kutumia variables. Tutazingatia functions kama: calc(), clamp(), var(), min(), max(), na mwishoni tutajifunza jinsi ya kutengeneza custom function kwa kutumia variables.
Soma Zaidi...