Cashar 2 / 20

Xulayaasha CSS (Selectors)

Baro dhammaan noocyada xulayaasha CSS — element, class, id, pseudo-classes, pseudo-elements, iyo xulayaasha isku-dhafan.

Xulayaasha (selectors) waa qaybta koowaad ee xeer kasta oo CSS ah. Waxay u sheegaan bog-furaha (browser-ka) curiyaha ama curiyayaasha (elements) ee la rabo in la qaabeeyo oo la qurxiyo [1].


1. Xulaha Curiyaha (Element Selector)

Wuxuu doortaa dhammaan curiyayaasha isku nooca ah ee ku jira bogga:

/* Dhammaan curiyayaasha h1 */
h1 { color: #0a0a0a; font-size: 2rem; }

/* Dhammaan curiyayaasha p */
p  { color: #555; line-height: 1.8; }

/* Dhammaan badhamada (button) */
button { background: #00d97e; border: none; }

2. Xulaha Class-ka / Kooxda (Class Selector) .

Wuxuu doortaa dhammaan curiyayaasha leh class-kaas gaarka ah. Si looga dhex saaro curiyayaasha kale, waxaa magaca class-ka laga horreysiiyaa dhibic .:

.badhanka      { background: #00d97e; padding: 10px 20px; }
.qoraal-weyn   { font-size: 1.5rem; font-weight: 700; }
.mid-cas       { color: red; }
<button class="badhanka">Gujiso</button>
<p class="qoraal-weyn">Qoraalkan waa mid weyn</p>
<p class="mid-cas">Qoraalkan waa mid casaan ah</p>

<!-- Curiye leh class-yo badan -->
<p class="qoraal-weyn mid-cas">Waa weyn yahay, midabkiisuna waa casaan</p>

3. Xulaha Aqoonsiga (ID Selector) #

Wuxuu doortaa hal curiye oo kaliya oo leh aqoonsiga id ee la tilmaamay. Waxaa magaca ID-ga laga horreysiiyaa calaamadda #:

#cinwaanka-ugu-weyn { font-size: 3rem; text-align: center; }
#nav-bar            { background: #0a0a0a; }
#hoosta             { border-top: 1px solid #eee; }
<h1 id="cinwaanka-ugu-weyn">Ereyle Learning</h1>
<nav id="nav-bar">...</nav>

Talo Muhiim Ah: Adeegso Class-yada inta badan si aad koodka u isticmaali karto marar badan. ID-ga u daa kaliya marka aad qaabaynayso hal curiye oo gaar ah oo aan bogga ku soo noqnoqonayn.


4. Xulaha Caalamiga ah (Universal Selector) *

Wuxuu doortaa dhammaan curiyayaasha ku jira bogga oo dhan iyadoon la kala reebayn:

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

Inta badan waxaa loo adeegsadaa dib-u-habaynta (CSS Reset) si meesha looga saaro margin-ka iyo padding-ka dabiiciga ah ee bog-furayaashu siiyaan curiyayaasha.


5. Xulaha Kooxaynta (Group Selector) ,

Haddii aad rabto inaad xeer isku mid ah u adeegsato curiyayaal kala duwan, halkii aad mid kasta si gaar ah u qori lahayd, waxaad u qori kartaa hal mar adigoo ku kala saaraya dhibic-iyo-gole (comma) ,:

/* Badalkii aad saas u qori lahayd: */
h1 { color: #0a0a0a; }
h2 { color: #0a0a0a; }
h3 { color: #0a0a0a; }

/* Waxaad u qori kartaa si kooban oo ka dhowrsan ku-celis: */
h1, h2, h3 { color: #0a0a0a; }

/* Sidoo kale, waxaad isku dhex dari kartaa noocyo kala duwan: */
h1, .cinwaanka, #magaca {
  font-family: 'Georgia', serif;
  letter-spacing: -0.02em;
}

6. Xulaha Faraca (Descendant Selector) (Meel bannaan)

Wuxuu doortaa dhammaan curiyayaasha ku dhex jira curiye kale oo gaar ah (ha ahaadaan kuwo toos ugu dhex jira ama farac sii dhex jira):

/* Dhammaan xiriiriyayaasha <a> ee ku dhex jira <nav> */
nav a { color: white; text-decoration: none; }

/* Dhammaan walxaha <li> ee ku dhex jira class-ka .liiska */
.liiska li { margin-bottom: 8px; }

/* Dhammaan <strong> ee ku dhex jira <p> ee isna ku dhex jira <article> */
article p strong { color: #00a860; }
<nav>
  <a href="/">Hoyga</a>      <!-- ✓ Waa la doortay -->
  <a href="/koorso">Koorso</a> <!-- ✓ Waa la doortay -->
</nav>
<a href="#">Link kale</a> <!-- ✗ Lama dooranayo (maadaama uusan ku dhex jirin nav) -->

7. Xulaha Faraca Tooska ah (Child Selector) >

Wuxuu doortaa oo kaliya faraca tooska ah (direct child) ee curiyaha sare, isagoo iska indho-tiraya faraca sii dhex jira:

/* Kaliya <li> toos ugu dhex jira <ul> oo leh class-ka .liiska */
ul.liiska > li { font-weight: 600; }

/* Kaliya <p> toos ugu dhex jira .kaadhka */
.kaadhka > p { color: #333; }
<ul class="liiska">
  <li>Walax 1 ✓ (Waa la doortay)</li>
  <li>
    Walax 2 ✓ (Waa la doortay)
    <ul>
      <li>Hoosaadka — ✗ (Lama dooranayo sababtoo ah ma aha farac toos ah)</li>
    </ul>
  </li>
</ul>

8. Xulaha Deriska Tooska ah (Adjacent Sibling) +

Wuxuu doortaa curiyaha isla heerka ah ee isla markiiba ku xiga curiyaha hore:

/* Curiyaha <p> ee isla markiiba ku xiga <h2> */
h2 + p {
  font-size: 1.1rem;
  color: #333;
  margin-top: 0;
}
<h2>Cinwaanka</h2>
<p>Tuduca koowaad — ✓ Waa la doortay (waayo wuxuu ku xigaa h2)</p>
<p>Tuduca labaad — ✗ Lama doorto (waayo isla markiiba kuma xigo h2)</p>

9. Xulaha Walaalaha Guud (General Sibling) ~

Wuxuu doortaa dhammaan curiyayaasha isla heerka ah ee ka dambeeya curiyaha hore:

h2 ~ p { color: #666; }
<h2>Cinwaanka</h2>
<p>Tuduc 1 — ✓ Waa la doortay</p>
<p>Tuduc 2 — ✓ Waa la doortay</p>
<p>Tuduc 3 — ✓ Waa la doortay</p>

10. Xulaha Sifada Curiyaha (Attribute Selector) []

Wuxuu doortaa curiyayaasha iyadoo lagu dhowrayo sifooyinka gaarka ah ee ay u leeyihiin HTML-ka dhexdiisa:

/* Dhammaan input-yada leh sifo ah type="text" */
input[type="text"]     { border: 2px solid #00d97e; }
input[type="password"] { border: 2px solid red; }
input[type="email"]    { border: 2px solid blue; }

/* Dhammaan xiriiriyayaasha <a> ee href-koodu ka bilaabmo "https" */
a[href^="https"] { color: green; }

/* Dhammaan xiriiriyayaasha <a> ee href-koodu ku dhammaado ".pdf" */
a[href$=".pdf"]  { color: red; }

/* Dhammaan sawirrada <img> ee alt-kooda ay ku jirto ereyga "ereyle" */
img[alt*="ereyle"] { border: 2px solid #00d97e; }

11. Xulaha Xaaladda (Pseudo-Classes) :

Waxay doortaan curiyayaasha marka ay ku jiraan xaalad gaar ah (sida marka la taabto, la riixo, ama la booqdo):

/* Hover — marka tilmaamaha jiirka la dul saaro */
a:hover           { color: #00d97e; text-decoration: underline; }
button:hover      { opacity: 0.85; transform: translateY(-1px); }

/* Focus — marka curiyaha la dhex taagan yahay (sida sanduuqa qoraalka) */
input:focus       { border-color: #00d97e; outline: none; box-shadow: 0 0 0 3px rgba(0,217,126,0.2); }

/* Active — marka badhanka la riixayo isla daqiiqaddaas */
button:active     { transform: scale(0.97); }

/* Visited — xiriiriye horay loo booqday */
a:visited         { color: purple; }

/* First/last child — kan ugu horreeya ama ugu dambeeya */
li:first-child    { font-weight: 700; }
li:last-child     { border-bottom: none; }

/* Nth child — u doorista boos gaar ah */
tr:nth-child(even) { background: #f9f9f9; } /* Safafka dhabanka ah */
tr:nth-child(odd)  { background: white; }   /* Safafka kinsiga ah */

/* li:nth-child(3n) — mid kasta oo saddexaad */
li:nth-child(3n)  { color: #00d97e; }

/* Not — ka-reebista curiye gaar ah */
p:not(.gaarka)    { color: #555; }

/* Required / disabled — ku xiran xaaladda foomka */
input:required    { border-left: 3px solid #00d97e; }
input:disabled    { opacity: 0.5; cursor: not-allowed; }

12. Xulaha Qaybaha Gaarka ah (Pseudo-Elements) ::

Waxay qaabeeyaan qayb ka mid ah curiyaha, halkii ay qaabayn lahaayeen curiyaha oo dhan:

/* Xarafka ugu horreeya ee tuduca */
p::first-letter {
  font-size: 2.5rem;
  font-weight: 700;
  float: left;
  margin-right: 6px;
  color: #00d97e;
}

/* Xariiqda ugu horreysa ee tuduca */
p::first-line { font-weight: 600; }

/* Nuxur lagu darayo curiyaha hortiisa */
.xidid::before {
  content: "✦ ";
  color: #00d97e;
}

/* Nuxur lagu darayo curiyaha gadaashiisa */
.cusub::after {
  content: " 🆕";
}

/* Marka qoraalka bogga la xusho (laga jiido mouse-ka) */
::selection {
  background: #00d97e;
  color: #0a0a0a;
}

/* Qaabaynta qoraalka hordhaca ah (placeholder) ee ku dhex jira input-ka */
input::placeholder { color: #bbb; font-style: italic; }

Awoodda Xulayaasha (Specificity)

Marka ay jiraan xeerar isku dhacaya oo hal curiye wada beegsanaya, xeerka leh dhibcaha awoodda ugu sarreeya ayaa la fuliyaa:

XulahaDhibcaha Awoodda (Weight)
!important∞ (Ugu sarreeya — iska ilaali isticmaalkiisa)
Inline style=""1000
#id100
.class, :pseudo-class, [attr]10
element, ::pseudo-element1
* (Universal)0
/* Awoodda = 1 (Curiye kaliya) */
p { color: black; }

/* Awoodda = 10 (Class kaliya) */
.qoraal { color: blue; }

/* Awoodda = 100 (ID kaliya) */
#gaarka { color: green; }

/* Awoodda = 11 (Curiye + Class) */
p.qoraal { color: red; }

/* Awoodda = 111 (ID + Class + Curiye) */
#gaarka .qoraal p { color: purple; }

Tusaale Dhamaystiran

<!DOCTYPE html>
<html lang="so">
<head>
  <meta charset="UTF-8">
  <title>Xulayaasha CSS</title>
  <style>
    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: sans-serif;
      background: #f9f7f4;
      padding: 40px 20px;
    }

    /* Curiyaha (Element) */
    h1 { font-size: 2rem; margin-bottom: 8px; }

    /* Kooxda (Class) */
    .xidid { color: #00d97e; }

    /* Aqoonsiga (ID) */
    #cinwaanka { text-align: center; margin-bottom: 40px; }

    /* Faraca (Descendant) */
    nav a {
      display: inline-block;
      padding: 8px 16px;
      color: #555;
      text-decoration: none;
    }
    nav a:hover { color: #00d97e; }

    /* Booska (Nth-child) */
    li:nth-child(odd)  { background: #f0fdf8; }
    li:nth-child(even) { background: #fff; }
    li { padding: 10px 16px; list-style: none; }

    /* Kahor (Before) */
    .xidid::before { content: "▶ "; font-size: 0.8em; }

    /* Xulista (Selection) */
    ::selection { background: #00d97e; color: #0a0a0a; }
  </style>
</head>
<body>

  <div id="cinwaanka">
    <h1>Xulayaasha <span class="xidid">CSS</span></h1>
    <nav>
      <a href="#">Hoyga</a>
      <a href="#">Koorsooyinka</a>
      <a href="#">Xiriir</a>
    </nav>
  </div>

  <ul>
    <li class="xidid">HTML Basics</li>
    <li>CSS Basics</li>
    <li class="xidid">JavaScript</li>
    <li>React</li>
    <li class="xidid">Node.js</li>
  </ul>

</body>
</html>

Casharka xiga: Waxaan ku baran doonaa Midabada iyo Gadaal-ka-buuxiyaha (Backgrounds) ee CSS.

Start today · It's free

Ready to learn
something new?

Browse community-written courses on any subject, or share your expertise by contributing on GitHub .

Browse Courses