Jifunze kuunda websites kuanzia mwanzo. HTML ni mifupa, CSS ni ngozi na mavazi. Course hii inakufundisha zote mbili.
Mtandao na Kurasa za Tovuti
🇹🇿 Kiswahili: Internet ni mtandao wa kompyuta zote duniani. Web page ni hati inayoonyeshwa kwenye browser kama Chrome au Safari. HTML (HyperText Markup Language) ndiyo lugha inayotumiwa kuunda web pages. CSS (Cascading Style Sheets) inapamba na kupanga HTML.
🇬🇧 English: The internet is a global network of computers. A web page is a document displayed in a browser. HTML is the language used to create web pages, and CSS styles them.
Kila webpage inahitaji mfumo huu
<!DOCTYPE html> <html lang="sw"> <head> <meta charset="UTF-8"> <title>Ukurasa Wangu</title> </head> <body> <h1>Habari Dunia!</h1> <p>Huu ndio ukurasa wangu wa kwanza.</p> </body> </html>
<!DOCTYPE html> — inaiambia browser hii ni HTML5<html> — mzizi wa hati yote<head> — meta data (jina, description, styles)<body> — content inayoonekana<tagname>...</tagname>Headers, paragraphs, formatting
<h1>Kichwa Kikubwa</h1> <h2>Kichwa cha Pili</h2> <h3>Kichwa cha Tatu</h3> <p>Hii ni aya ya maandishi. Inaweza kuwa na maneno mengi.</p> <p><strong>Maandishi mazito</strong> na <em>maandishi ya italiki</em>.</p> <br> <!-- Mstari mpya (line break) --> <hr> <!-- Mstari wa kugawanya (horizontal rule) -->
h1 hadi h6 ni vichwa. h1 ndio kikubwa zaidi. Tumia <h1> mara moja tu kwa kila ukurasa (SEO).Kuunganisha kurasa na kuonyesha picha
<!-- Link kwa ukurasa mwingine --> <a href="https://google.com">Nenda Google</a> <!-- Link kwa ukurasa wako mwenyewe --> <a href="about.html">Kuhusu Sisi</a> <!-- Link kwa email --> <a href="mailto:shbnsemeni@gmail.com">Tuma Email</a> <!-- Link kwa simu --> <a href="tel:+255782341709">Piga Simu</a> <!-- Link kwa sehemu ya ukurasa --> <a href="#sehemu">Nenda Sehemu</a>
<img src="picha.jpg" alt="Maelezo ya picha" width="300"> <!-- Picha kutoka mtandaoni --> <img src="https://example.com/picha.jpg" alt="Picha online" loading="lazy"> <!-- Figure na caption --> <figure> <img src="banner.jpg" alt="Banner"> <figcaption>Hii ni banner yetu</figcaption> </figure>
alt ni maelezo kwa ajili ya screen readers (upatikanaji) na search engines. Weka daima!Kupanga data kwa mpangilio
<ul> <li>Maziwa</li> <li>Mkate</li> <li>Sukari</li> </ul>
<ol> <li>Amka</li> <li>Oga</li> <li>Kula</li> </ol>
<table> <thead> <tr> <th>Jina</th> <th>Umri</th> </tr> </thead> <tbody> <tr> <td>Juma</td> <td>25</td> </tr> </tbody> </table>
Kukusanya taarifa kutoka kwa wageni wako
<form action="thank-you.html" method="POST"> <label for="jina">Jina lako:</label> <input type="text" id="jina" name="jina" required> <label for="email">Email:</label> <input type="email" id="email" name="email"> <label for="ujumbe">Ujumbe:</label> <textarea id="ujumbe" rows="4"></textarea> <button type="submit">Tuma</button> </form>
text, email, password, number, tel, url, file, checkbox, radio, date, color.Kupamba HTML yako
🇹🇿 Kiswahili: CSS inaweza kuwekwa kwa njia tatu: inline (ndani ya element), internal (ndani ya <style> kwenye head), au external (faili tofauti .css).
<!-- External CSS (njia bora) --> <link rel="stylesheet" href="styles.css">
h1 {
color: #D97706;
font-size: 36px;
text-align: center;
}
p {
color: #4B5563;
font-family: Arial, sans-serif;
line-height: 1.6;
}
.special {
background-color: #FFFBEB;
padding: 16px;
border-radius: 8px;
}
#header {
background: linear-gradient(135deg, #D97706, #F59E0B);
padding: 40px;
}
element — inalenga tag zote za aina hiyo.class — inalenga elements zenye class hiyo (tumia mara nyingi)#id — inalenga element moja yenye id hiyo (tumia mara moja)red), hex (#FF5733), rgb (rgb(255, 87, 51)), au hsl (hsl(9, 100%, 60%)).Sanduku na Mpangilio
Kila element kwenye HTML ni sanduku. CSS Box Model ina sehemu 4:
.sanduku {
width: 300px;
padding: 20px; /* Nafasi ndani */
border: 2px solid #D97706;
margin: 16px; /* Nafasi nje */
border-radius: 12px; /* Pembe za mviringo */
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
box-sizing: border-box; inafanya padding na border zihesabiwe kwenye upana wa jumla. Tumia daima!Panga vitu kwenye mstari au safu kwa urahisi
.container {
display: flex;
justify-content: space-between; /* space-around, center, flex-start, flex-end */
align-items: center; /* flex-start, flex-end, stretch */
gap: 16px; /* nafasi kati ya vitu */
flex-wrap: wrap; /* kuruhusu vitu kuvunjika mstari */
}
.item {
flex: 1; /* kila item inachukua nafasi sawa */
min-width: 250px;
padding: 20px;
background: #FFFBEB;
border-radius: 12px;
}
Mpangilio wa safu na nguzo
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr); /* nguzo 3 za ukubwa sawa */
gap: 20px;
}
.grid-item {
background: #FFFBEB;
padding: 24px;
border-radius: 12px;
text-align: center;
}
/* Responsive grid */
.grid-responsive {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 16px;
}
1fr ni sehemu moja ya nafasi iliyobaki. repeat(3, 1fr) ni sawa na 1fr 1fr 1fr.Tengeneza tovuti inayoonekana vizuri kwa simu, kompyuta, na kila kifaa
🇹🇿 Kiswahili: Responsive design inamaanisha tovuti yako inajirekebisha kulingana na ukubwa wa skrini ya mtumiaji.
/ * CSS kwa simu za mkononi * /
@media (max-width: 768px) {
.nav-links {
display: none; /* Ficha navigation kwenye simu */
}
.grid {
grid-template-columns: 1fr; /* Grid ya safu moja kwenye simu */
}
body {
font-size: 14px;
}
}
/ * CSS kwa skrini kubwa * /
@media (min-width: 1024px) {
.container {
max-width: 1200px;
}
}
/ * Andika kwanza kwa simu, kisha ongeza kwa skrini kubwa * /
.mtindo {
font-size: 14px;
}
@media (min-width: 768px) {
.mtindo {
font-size: 16px; /* Skrini kubwa zaidi */
}
}
em, rem, %, vw, vh) badala ya pixels kwa font size na spacing inayobadilika.Ongeza uhai kwenye tovuti yako
.kitufe {
background: #F59E0B;
color: #fff;
padding: 12px 24px;
border: none;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s ease; /* Badiliko la laini */
}
.kitufe:hover {
background: #D97706;
transform: scale(1.05); /* Kitufe kinakua kidogo */
}
@keyframes bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}
.animated {
animation: bounce 1s infinite;
}
transition ni kwa mabadiliko rahisi (hover, focus). animation ni kwa miondoko changamano inayojiendesha.Tengeneza portfolio yako mwenyewe
<!DOCTYPE html> <html lang="sw"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Portfolio Yangu</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; line-height: 1.6; color: #1F2937; background: #F9FAFB; } .container { max-width: 900px; margin: 0 auto; padding: 0 20px; } nav { background: #1F2937; color: #fff; padding: 16px 0; } nav .container { display: flex; justify-content: space-between; align-items: center; } nav a { color: #fff; text-decoration: none; margin-left: 16px; } .hero { padding: 80px 0; text-align: center; } .hero h1 { font-size: 48px; color: #D97706; } .skills { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; } .skills span { background: #FFFBEB; padding: 8px 16px; border-radius: 50px; font-size: 14px; } .projects { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; padding: 40px 0; } .card { background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); } footer { background: #1F2937; color: #fff; text-align: center; padding: 24px 0; margin-top: 40px; } @media (max-width: 768px) { nav .container { flex-direction: column; gap: 8px; } .hero h1 { font-size: 32px; } } </style> </head> <body> <nav> <div class="container"> <strong>Juma</strong> <div> <a href="#">Home</a> <a href="#">Projects</a> <a href="#">Contact</a> </div> </div> </nav> <section class="hero"> <div class="container"> <h1>Habari, mimi ni Juma!</h1> <p>Ni web developer kutoka Tanzania. Ninaunda websites nzuri na zinazofanya kazi.</p> <div class="skills"> <span>HTML</span> <span>CSS</span> <span>JavaScript</span> <span>Python</span> </div> </div> </section> <section class="container"> <h2>Miradi Yangu</h2> <div class="projects"> <div class="card"> <h3>Project 1</h3> <p>Maelezo ya project yako ya kwanza.</p> </div> <div class="card"> <h3>Project 2</h3> <p>Maelezo ya project yako ya pili.</p> </div> <div class="card"> <h3>Project 3</h3> <p>Maelezo ya project yako ya tatu.</p> </div> </div> </section> <footer> <p>© 2026 Juma. Haki zote zimehifadhiwa.</p> </footer> </body> </html>