Loading...

CSS – Njohuri themelore

CSS është teknologjia kryesore prezantuese që përdoret në krijimin Ueb Faqeve.

CSS

CSS është akronim nga Cascading Style Sheets. CSS është një gjuhë standarde për stilizim të faqeve që përdoret në përshkrim të prezantimit (d.m.th. paraqitjen dhe formatimin) e ueb faqeve.

Para CSS, gati të gjitha atributet prezantuese të dokumenteve HTML ishin të përmbajtura brenda kodit HTML (specifikisht brenda etiketave HTML); të gjitha ngjyrat e shkronjave, stilet e sfondit, radhitjet e elementeve, kufijtë dhe madhësitë duhej të përshkruheshin qartë në HTML.

Si rezultat, zhvillimi i ueb sajteve të mëdha u bë një proces i vështirë dhe i shtrenjtë, pasi stilizimi duhet shtuar duke u përsëritur në çdo ueb faqe individuale të ueb sajit.

Për të zgjidhur këtë problem, CSS u prezantua në vitin 1996 nga World Wide Web Consortium (W3C), i cili gjithashtu mirëmban standardin e tij. CSS u krijua për të mundësuar ndarjen e prezantimit (stilizimit) dhe përmbajtjes. Tani ueb dizajnerët mund të zhvendosin informacionin e formatimit të ueb faqeve në një fajll stilizimi të veçantë e që rezulton me fajlla më të thjeshtë të HTML-së dhe mirëmbajtje më të mirë.

CSS3 është versioni më i fundit i specifikimeve CSS. CSS3 shton disa veçori të reja në stilizim dhe mundëson avancim të përmirësuar në prezantimet e ueb faqeve.

Shënim: Këto mësime për CSS do t'ju ndihmojë të mësoni bazat e gjuhës më të fundit të CSS3, nga temat më elementare deri tek ato të avancuara hap pas hapi.

Çfarë mund të bëni me CSS?

Ka shumë gjëra që mund të bëni me CSS.

  • Mund të zbatoni me lehtësi stilizim të njëjtë në disa elemente.
  • Mund të kontrolloni prezantimin e shumë ueb faqeve të një ueb sajti me një fajll të vetëm të stilizimit.
  • Mund ta paraqisni të njëjtën faqe ndryshe në pajisje të ndryshme.
  • Mund të stilizoni gjendje dinamike të elementeve të tilla si hover, fokus, etj. E që nuk është e mundur ndryshe.
  • Mund të ndryshoni pozicionin e një elementi në një ueb faqe pa e ndryshuar shënimin.
  • Mund të ndryshoni shfaqjen e elementeve ekzistuese në HTML.
  • Mund të transformoni elemente si shkalla, rrotullimi, pjerrtësimi, etj. në hapësirën 2D ose 3D.
  • Mund të krijoni efekte animacioni dhe tranzicioni pa e përdorur JavaScript-in.
  • Mund të krijoni një version për shtypje të ueb faqeve.

Lista nuk përfundon këtu, ka shumë gjëra të tjera interesante që mund të bëni me CSS.

Përparësitë e përdorimit të CSS-së

Përparësia më e madhe e CSS-së është se lejon ndarjen e stilit dhe paraqitjes nga përmbajtja e dokumentit. Këtu kemi dhënë edhe disa përparësi tjera:

  • CSS kursen shumë kohë – CSS jep shumë fleksibilitet për të vendosur vetitë e stilit të një elementi. Mund të shkruani CSS-në një herë; dhe pastaj i njëjti kod mund të zbatohet në grupet të elementeve HTML, e gjithashtu mund të ripërdoret në shumë faqe HTML.
  • Mirëmbajtje e thjeshtë – CSS ofron një mjet të thjeshtë për të përditësuar formatimin e dokumenteve dhe për të ruajtur qëndrueshmërinë në shumë dokumente. Për shkak se përmbajtja e tërësisë së ueb faqeve mund të kontrollohet lehtësisht duke përdorur një ose më shumë fajlla për stilzim.
  • Faqet lexohen më shpejtë – CSS i mundëson disa faqeve për të ndarë informacionin e formatimit, e që zvogëlon kompleksitetin dhe përsëritjen në përmbajtjen strukturale të dokumenteve. Gjithashtu ndjeshëm zvogëlon madhësinë e transferimit të fajllit, e që rezulton në një lexim më të shpejtë të faqes.
  • Stilet më superiore në HTML – CSS ka aftësi prezantuese shumë më të mëdha se HTML dhe siguron kontroll shumë më të mirë të paraqitjes së ueb faqeve. Kësisoj mund t'i jepni një pamje shumë më të mirë ueb faqeve në krahasim me elementet dhe atributet prezantuese të HTML-së.

Përputhshmëri në pajisje të ndryshme – CSS lejon gjithashtu që ueb faqet të optimizohen për më shumë se një lloj pajisjeje ose media. Përdorimi i CSS-it në të njëjtin dokument HTML mund të paraqitet në stile të ndryshme shikimi për pajisje (ekrane) si desktop, telefona inteligjentë, etj.

Këshillë: Tani shumica e atributeve HTML po zhvlerësohen dhe nuk rekomandohet të përdoren. Prandaj është një ide e mirë të përdorni sa më shumë CSS për të rritur përshtatshmërinë e ueb sajtit dhe t'i bëni ato të përputhshme me shfletuesit e ardhshëm.

Hyrje në CSS

Në këtë kaptinë do të mësoni se sa e lehtë është të shtoni informacione për stilin dhe formatimin në ueb faqe duke përdorur CSS. Por, para se të filloni, duhet të keni disa njohuri për HTML.

Përfshirja e CSS-it në dokumentet HTML

CSS mund të bashkëngjitet si një dokument i veçantë ose i shënuar në vetë dokumentin HTML. Ekzistojnë tri metoda për të përfshirë CSS-në në një dokument HTML:

  • Stilet inline – Përdorimi i atributit style në etiketën fillestare HTML.
  • Stilet e brendshme – Përdorimi i elementit <style> në pjesën kryesore të dokumentit HTML.
  • Stilet e jashtëm – Përdorimi i elementit <link>, për tu lidhur me një fajll të jashtëm CSS.

Shënim: Stilet inline kanë përparësinë më të lartë, dhe stilet e jashtëm kanë më të ultën. Do të thotë nëse specifikoni stilet për një element si në stilin e brendshëm ashtu edhe në atë të stilit të jashtëm, sipas rregullit stili i brendshëm do të mbizotëroj stilin e jashtëm.

Stilet inline

Stilet inline përdoren për të zbatuar rregullat e stilit unik në një element duke vendosur rregullat CSS direkt në etiketën fillestare. Mund t'i bashkëngjitet një elementi duke përdorur atributin style.

Atributi style përfshin një varg të çifteve të vetive dhe vlerave të CSS-it. Çdo palë "veti: vlerë" ndahet me nga një pikëpresje (;), ashtu si do të shkruani në stilin e brendshëm ose të jashtëm, por duhet të jetë e gjitha në një rresht, kësisoj:

Shembull:

<h1 style="color:red; font-size:30px;">Ky është titulli</h1>
<p style="color:green; font-size:22px;">Ky është një paragraf.</p>
<div style="color:blue; font-size:14px;">Kjo është një përmbajtje tekstuale.</div>

Përdorimi i stileve inline zakonisht konsiderohet si praktikë jo e mirë. Meqenëse stilet futen direkt brenda etiketës HTML, kjo bën që prezantimi të përzihet me përmbajtjen e dokumentit; gjë që e bën kodin e vështirë për tu mirëmbajtur dhe e mohon qëllimin e përdorimit të CSS-së.

Shënim: Tek stilizimi inline është e pamundur stilizimi i pseudo-elemente dhe pseudo-klasave. Prandaj, duhet të shmangni përdorimin e atributeve të stilit në kodin tuaj. Përdorimi i fajllit për stilizim të jashtëm është mënyra e preferuar për të shtuar stile në dokumentet HTML.

Stilet e brendshme

Stilet e brendshëm zbatohen vetëm në dokumentin në të cilin janë shënuara.

Stili i brendshëm definohet në seksionin <head> të dokumentit HTML duke përdorur elementin <style>. Mund të definoni më shumë se një herë elementet <style> në dokument HTML, por ato duhet të shfaqen midis etiketave <head> dhe </head>.

Shembull:

<!DOCTYPE html>
<html lang="sq">
<head>
    <title>Dokumenti HTML</title>
    <style>
        body { background-color: YellowGreen; }
        p { color: #fff; }
    </style>
</head>
<body>
    <h1>Ky është titulli</h1>
    <p>Ky është një paragraf tekstual.</p>
</body>
</html>

Këshillë: Tipi i atributit të etiketave <style> dhe <link> (d.m.th. type="text/css") definon gjuhën e stilizimit. Ky atribut është thjesht informues. Mund ta hiqni këtë pasi CSS është gjuhë standarde dhe e paracaktuar e stilizimit në HTML5.

Stilet e jashtëm

Një stil i jashtëm është ideal kur stili zbatohet në shumë faqe të ueb sajtit.

Një fajll me stil të jashtëm mban të gjitha rregullat e stilit në një dokument të veçantë që mund ta lidhni nga çdo dokument HTML në faqen tuaj. Stilet e jashtëm janë më fleksibël, sepse nga një fajll i vetëm, mund të ndryshoni pamjen e tërë ueb sajtit.

Mund të bashkëngjitni fajllat e stilit të jashtëm në dy mënyra – lidhja dhe importimi.

Lidhja e stilit të jashtëm

Para krijimit të lidhjes, duhet së pari të krijojmë një fajll stilizimi. Hapim editorin tuaj të preferuar të kodit dhe krijojmë një fajll të ri. Tani shtypim kodin e mëposhtëm CSS brenda këtij fajlli dhe ruajmë atë si "stili.css".

Shembull:

body {
    background: lightyellow;
    font: 18px Arial, sans-serif;
}
h1 {
    color: orange;
}

Një fajll me stil të jashtëm mund të lidhet me një dokument HTML duke përdorur etiketën <link>. Etiketa <link> hyn brenda seksionit <head>, siç mund ta shihni në shembullin vijues:

Shembull:

<!DOCTYPE html>
<html lang="sq">
<head>
    <title>Dokumenti HTML</title>
    <link rel="stylesheet" href="css/stili.css">
</head>
<body>
    <h1>Ky është titulli</h1>
    <p>Ky është një paragraf tekstual.</p>
</body>
</html>

Këshillë: Nga tri metodat, përdorimi i stilit të jashtëm është metoda më e mirë për definimin dhe zbatimin e stileve në dokumentet HTML. Siç mund ta shihni qartë me stil të jashtëm, fajlli HTML që lidh fajllin e jashtëm CSS kërkon ndryshime minimale në shënjim.

Importimi i stilit të jashtëm

Rregulli @import është një mënyrë tjetër për të ngarkuar një stil të jashtëm. Deklarata @import udhëzon shfletuesin të ngarkojë një stil të jashtëm dhe të përdorë stilet e saj.

Mund ta përdorni në dy mënyra. Më e thjeshtë është brenda seksionit head të dokumentit tuaj. Vini re se, rregulla tjera të CSS-së mund të përfshihen akoma në elementin <style>.

Shembull:

<style>
    @import url("css/stili.css");
    p {
        color: blue;
        font-size: 16px;
    }
</style>

Ngjashëm, mund të përdorni rregullin @import për të importuar një stil brenda një stili tjetër.

Shembull:

@import url("css/modeli.css");
@import url("css/ngjyra.css");
body {
    color: blue;
    font-size: 14px;
}

Shënim: Të gjithë rregullat @import duhet të vendosen në fillim të fletës së stilit. Çdo rregull stili i definuar në stilin e dhënë mbizotëron rregullat kundërshtuese nga stilet e importuar. Sidoqoftë, importimi i një stili brenda një stili tjetër nuk rekomandohet për shkak të çështjes së performancës.

Sintaksa CSS

Një fletë stilesh e CSS-së përbëhet nga një grup rregullash që interpretohen nga ueb shfletuesi dhe më pas aplikohen në elementet përkatëse si paragrafët, titujt, etj.

Rregulli i CSS-së ka dy pjesë kryesore, një selektor dhe një ose më shumë deklarata:

Kodi CSS

Selektori specifikon se në cilin element ose në cilat elemente në faqen HTML zbatohet rregulli CSS.

Deklaratat brenda bllokut përcaktojnë mënyrën e formatimit të elementeve në një ueb faqe. Secila deklaratë përbëhet nga një veti dhe një vlerë e ndarë nga dy pika (:) dhe që mbaron me pikëpresje (;), e grupet e deklarimit janë të vendosura nga kllapat e mëdha {}.

Vetia është atribut i stilit që dëshironi ta ndryshoni; ato mund të jenë fonte, ngjyra, sfonde, etj. Çdo veti ka një vlerë, për shembull vetia e ngjyrës mund të ketë vlerën blue ose #0000FF, etj.

h1 {color:blue; text-align:center;}

Për ta bërë CSS-në më të lexueshme, çdo deklaratë mund  ta shënoni në rresht të ri, kësisoj:

Shembull:

h1 {
    color: blue;
    text-align: center;
}

Në shembullin e mësipërm h1 është selektor, color dhe test-align janë veti të CSS-së, pastaj blue dhe center janë vlerat përkatëse të këtyre vetive.

Shënim: Një deklaratë CSS gjithmonë përfundon me një pikëpresje ";", dhe grupet e deklarimit janë gjithmonë brenda kllapave gjarpërore "{}".

Shënimi i komenteve në CSS

Komentet zakonisht shtohen me qëllim që ta bëjnë kodin burimor më të lehtë për t'u kuptuar. Mund t’i ndihmojë zhvilluesit tjetër (ose juve në të ardhmen kur editoni kodin burimor) të kuptojnë se çfarë po përpiqeshit të bënit me CSS. Komentet janë domethënëse për programuesit, por injorohen nga shfletuesit.

Një koment në CSS fillon me /* dhe përfundon me */, siç tregohet në shembullin më poshtë:

Shembull:

/* Ky është një koment në CSS */
h1 {
    color: blue;
    text-align: center;
}
/* Ky është koment CSS i gjatë
    në shumë rreshta */
p {
    font-size: 18px;
    text-transform: uppercase;
}

Gjithashtu mund të komentoni një pjesë të kodit tuaj CSS për qëllime korrigjimi, siç tregohet më poshtë:

Shembull:

h1 {
    color: blue;
    text-align: center;
}
/*
p {
    font-size: 18px;
    text-transform: uppercase;
}
*/

Ndjeshmëria e shkronjave në CSS (Case Sensivity)

Emrat e vetive në CSS dhe shumë vlera nuk janë të ndjeshme në shkronja të mëdha. Ndërsa, selektorët e CSS-së zakonisht janë të ndjeshëm në shkronja, për shembull, selektori i klasës .maincontent nuk është i njëjtë me .mainContent.

Prandaj, për të qenë më të sigurt, duhet të supozoni se të gjithë komponentet e rregullave të CSS janë të ndjeshëm ndaj shkronjave.

Selektorët

Selektori CSS është një model që përputhet me elementet e një ueb faqeje. Rregullat e stilit të shoqëruara me atë selektor do të aplikohen në elementet që përputhen me modelin e selektorit.

Selektorët janë një prej aspekteve më të rëndësishme të CSS-së, pasi ato ju mundësojnë të përzgjidhni elemente specifike në ueb faqen tuaj që të stilizohen në mënyra të ndryshme.

Disa lloje të selektorëve CSS janë në dispozicion, le t'i hedhim një vështrim:

Selektori universal

Selektori universal, i shënuar me një yll (*), përputhet me çdo element në ueb faqe.

Selektori universal mund të hiqet nëse ekzistojnë kushte të tjera në element. Ky selektor shpesh përdoret për të hequr margjinat dhe mbushjet e paracaktuara nga elementët me qëllim të testimit të shpejtë.

Shembull:

* {
    margin: 0;
    padding: 0;
}

Rregullat e stilit brenda selektorit * do të zbatohen për çdo element në një dokument.

Shënim: Rekomandohet të mos përdorni selektorin universal (*) shumë shpesh në një mjedis paraqitjeje, pasi që ky selektor përputhet me çdo element në ueb faqe e që ushtron presion të panevojshëm në shfletues. Në vend të tij përdorni selektor të tipit element ose selektor të klasës.

Selektorët e tipit të elementit

Një selektor i tipit të elementit përputhet me të gjitha instancat e elementit në dokument me emrin e tipit përkatës të elementit. Të provojmë një shembull për të parë se si funksionon në të vërtetë:

Shembull:

p {
    color: blue;
}

Rregullat e stilit brenda selektorit p do të zbatohen në çdo element <p> (apo paragraf) në dokument dhe e ngjyrosin atë me ngjyrë të kaltër (blue), pavarësisht nga pozicioni i tyre në pemën e dokumentit.

Selektorët ID

Selektori ID përdoret për të definuar rregullat e stilit për një element të vetëm ose unik.

Selektori ID definohet me shenjën (#), e më pas e ndjekur nga vlera e ID-së.

Shembull:

#error {
    color: red;
}

Ky stil e paraqet tekstin e një elementi me të kuqe, atributi id i të cilit e ka vlerën error.

Shënim: Vlera e një atributi ID duhet të jetë unike brenda një dokumenti të caktuar – që do të thotë se dy elementë në dokumentin HTML nuk mund të kenë të njëjtën vlerë të ID-së.

Selektorët e klasave

Selektorët e klasave mund të përdoren për të zgjedhur çdo element HTML që kanë atributin class. Të gjithë elementët që kanë atë klasë do të formatohen sipas rregullit të përcaktuar.

Selektori i klasës definohet me shenjën (.), e më pas e ndjekur nga vlera e klasës.

Shembull:

.kalter {
    color: blue;
}

Rregullat e stilit të mësipërm e bëjnë tekstin me ngjyrë të kaltër për çdo element në dokument që posedon atributin class me vlerë blue. Mund ta bëni atë më të veçantë. Për shembull:

Shembull:

p.kalter {
    color: blue;
}

Stili brenda selektorit p.blue e bën tekstin e kaltër vetëm për elementet <p> që kanë atributin class me vlerën blue dhe nuk ka asnjë efekt në paragrafët e tjerë.

Selektorët pasardhës

Mund t'i përdorni këto selektorë kur duhet të zgjidhni një element që është pasardhës i një elementi tjetër, për shembull, nëse doni të përzgjidhni vetëm ato etiketa a që përmbahen në një listë të parenditur ul, në vend që të përzgjidhni të gjithë elementët a në atë dokument.

Shembull:

ul.menu li a {
    text-decoration: none;
}
h1 em {
    color: green;
}

Rregullat e stilit brenda selektorit ul.menu li a zbatohen vetëm për ato elemente <a> që gjinden brenda një elementi <ul> që ka klasën .menu, dhe nuk ka asnjë efekt në linqet tjerë brenda dokumentit.

Në mënyrë të ngjashme, rregullat e stilit brenda selektorit h1 em do të zbatohen vetëm për ato elemente <em> që përmbahen brenda elementit <h1> dhe nuk ka efekt në elementët e tjerë <em>.

Selektorët e fëmijëve

Selektorët e fëmijëve përdoren për të zgjedhur vetëm ato elemente që janë fëmijët e drejtpërdrejtë të një elementi.

Selektorët e fëmijëve përbëhet nga dy ose më shumë selektorë të ndarë me simbolin më i madh se (>). Mund ta përdorni këtë selektor, për shembull, për të zgjedhur nivelin e parë të elementeve të listës brenda një liste të futur që ka më shumë se një nivel. Le të shikojmë një shembull për të kuptuar se si funksionon:

Shembull:

ul > li {
    list-style: square;
}
ul > li ol {
    list-style: none;
}

Rregulli i stilit brenda selektorit ul > li zbatohet vetëm për ato elementë <li> që janë fëmijë të drejtpërdrejtë të elementeve <ul> dhe nuk ka asnjë efekt mbi elementët e tjerë të listës.

Selektorët fqinjë sibling

Selektorët fqinjë sibling mund të përdoren për të zgjedhur elementë në të njëjtin nivel. Ky selektor ka sintaksën kësisoj: E1 + E2, ku E2 është shënjestra e selektorit.

Selektori h1 + p në shembullin vijues do të zgjedhë elementet <p> vetëm nëse të dy elementet <h1> dhe <p> ndajnë të njëjtin prind në pemën e dokumentit dhe <h1> i paraprin dhe është fqinj me elementin <p>. Kjo do të thotë se vetëm ata paragrafë që vijnë menjëherë pas çdo titulli <h1> do të përzgjidhen. Le të shohim se si funksionon në të vërtetë ky selektor:

Shembull:

h1 + p {
    color: blue;
    font-size: 18px;
}
ul.task + p {
    color: #f0f;
    text-indent: 30px;
}

Selektorët e përgjithshëm sibling

Selektori i përgjithshëm sibling është i ngjashëm me selektorin fqinj sibling (E1 + E2), por është më pak i rreptë. Selektori i përgjithshëm sibling përbëhet nga dy selektorë të thjeshtë të ndarë nga karakteri (). Mund të shkruhet kësisoj: E1 ∼ E2, ku E2 është shënjestra e selektorit.

Selektori h1 ∼ p në shembullin më poshtë do të zgjedhë të gjithë elementët <p> që paraprihen nga elementi <h1>, ku të gjithë elementët ndajnë të njëjtin prind në pemën e dokumentit.

Shembull:

h1 ∼ p {
    color: blue;
    font-size: 18px;
}
ul.task ∼ p {
    color: #f0f;
    text-indent: 30px;
}

Grupimi i selektorëve

Shpesh disa selektorë në një fletë të stilit ndajnë të njëjtat deklarata të rregullave të stilit. Mund t'i gruponi në një listë të ndarë me presje për të minimizuar kodin në fletën tuaj të stilit. Gjithashtu ju pamundëson të përsërisni të njëjtat rregulla të stilit disa herë:

Shembull:

h1 {
    font-size: 36px;
    font-weight: normal;
}
h2 {
    font-size: 28px;
    font-weight: normal;
}
h3 {
    font-size: 22px;
    font-weight: normal;
}

Siç mund ta shihni në shembullin e mësipërm, i njëjti rregull i stilit font-weight: normal; përdoret nga selektorët h1, h2 dhe h3, kështu që mund të grupohen në një listë të ndarë me presje, kësisoj:

Shembull:

h1, h2, h3 {
    font-weight: normal;
}
h1 {
    font-size: 36px;
}
h2 {
    font-size: 28px;
}
h3 {
    font-size: 22px;
}

Ngjyrat

Vetia e ngjyrave color definon ngjyrën e tekstit të një elementi.

Për shembull, vetia color e specifikuar në selektorin body definon ngjyrën e paracaktuar të tekstit për të gjithë faqen.

Shembull:

body {
    color: #ff5722;
}

Shënim: Vetia color normalisht trashëgon vlerën e ngjyrës nga elementi i tyre prind, përveç rastit të elementeve të ankorimit – linqeve. Për shembull, nëse specifikoni vetinë color në elementin body, ajo automatikisht do të atribuohej edhe në tituj, paragrafë, etj.

Definimi i vlerës së ngjyrave

Ngjyrat në CSS specifikohen më shpesh sipas këtyre formateve:

  • fjalë kyçe me ngjyra (emra të ngjyrave) – "red", "green", "blue", "transparent", etj.
  • vlera HEX (heksadecimale) – "#ff0000", "#00ff00", etj.
  • vlera RGB (Red-Green-Blue) – "rgb(255,0,0)"

CSS3 ka prezantuar disa formate të tjera me ngjyra të tilla si HSL, HSLA dhe RGBA që gjithashtu mbështesin transparencën alfa.

Fjalët kyçe të ngjyrave

CSS definon disa fjalë kyçe me ngjyra të cilat ju lejojnë të specifikoni vlerat e ngjyrave në një mënyrë më të lehtë.

Këto fjalë kyçe kryesore me ngjyra janë: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white dhe yellow. Emrat e ngjyrave nuk janë të ndjeshëm në llojin e shkronjave që përdoret.

Shembull:

h1 {
    color: red;
}
p {
    color: purple;
}

Ueb-shfletuesit modernë megjithatë praktikisht mbështesin shumë më tepër emra ngjyrash sesa ato që përcaktohen në standardin CSS, por për të qenë më të sigurt duhet të përdorni vlera heksadecimale të ngjyrave në vend të tyre.

Vlerat e ngjyrave HEX

Hex (shkurtesë për heksadecimal) është deri më tani metoda më e përdorur për definimin e ngjyrave në ueb.

Hex paraqet ngjyrat duke përdorur një kod 6-shifror, që i paraprinë karakteri hash (#), si #rrggbb, në të cilin rr, gg dhe bb përfaqësojnë përkatësisht komponentin ngjyrës së kuqe, gjelbër dhe të kaltër.

Vlera e secilit komponent mund të varioj nga 00 (pa ngjyrë) deri në FF (ngjyra e plotë) në shënimin heksadecimal, ose nga 0 deri në 255 në shënimin ekuivalent decimal. Kësisoj #ffffff përfaqëson ngjyrën e bardhë dhe #000000 përfaqëson ngjyrën e zezë.

Shembull:

h1 {
    color: #ffa500;
}
p {
    color: #00ff00;
}

Shënim: Sistemi heksadecimal ose Hex i referohet një skeme numërimi që përdor 16 karaktere si bazë të saj. Përdor numrat 0 deri në 9 dhe shkronjat A, B, C, D, E dhe F që korrespondojnë përkatësisht me numrat dhjetorë 10, 11, 12, 13, 14 dhe 15.

Këshillë: Nëse kodi heksadecimal i një ngjyre ka nga dy vlera të njëjta, ai gjithashtu mund të shkruhet më shkurtë për të shmangur shënimin shtesë, për shembull, vlera e ngjyrave hex #ffffff mund të shkruhet edhe si #fff, #000000 si #000, #00ff00 si #0f0, #ffcc00 si #fc0, e kështu me radhë.

Vlerat e ngjyrave RGB

Ngjyrat mund të definohen edhe në modelin RGB (Red – e kuqe, Green – e gjelbër dhe Blue – e kaltër) duke përdorur shënimin funksional rgb().

Funksioni rgb() përdor tri vlera të ndara me presje, të cilat specifikojnë sasinë e komponentit të ngjyrës së kuqe, të gjelbër dhe të kaltër. Këto vlera zakonisht specifikohen si numra të plotë ndërmjet 0 deri në 255, ku 0 përfaqëson asnjë ngjyrë dhe 255 përfaqëson ngjyrën e plotë ose maksimale.

Shembulli i mëposhtëm specifikon të njëjtën ngjyrë si në shembullin e mëparshëm, por në shënimin RGB.

Shembull:

h1 {
    color: rgb(255, 165, 0);
}
p {
    color: rgb(0, 255, 0);
}

Shënim: Gjithashtu mund të specifikoni vlerat RGB brenda funksionit rgb() në përqindje, ku 100% përfaqëson ngjyrën e plotë dhe 0% (jo thjesht 0) përfaqëson asnjë ngjyrë. Për shembull, mund të specifikoni ngjyrën e kuqe  rgb(255,0,0) ose rgb(100%,0%,0%).

Këshillë: Nëse R, G dhe B të gjitha kanë vlerën maksimale 255, d.m.th. rgb(255,255,255), ngjyra do të jetë e bardhë. Po kështu, nëse të gjitha kanalet kanë vlerën 0, d.m.th. rgb(0,0,0), ngjyra do të ishte e zezë.

Ndikimi i vetisë color në kufij dhe skica

Vetia color nuk vlen vetëm për përmbajtjen e tekstit, por për çdo gjë në plan të parë që merr një vlerë të ngjyrës. Për shembull, nëse vlera e ngjyrës së kufirit (border-color) ose ngjyra e skicës (outline-color) nuk është përcaktuar qartazi për elementin, në vend të kësaj do të përdoret vlera e ngjyrës nga vetia color.

Shembull:

p.nje {
    color: #0000ff;
    border: 2px solid;
}
p.dy {
    color: #00ff00;
    outline: 2px solid;
}

Zgjedhësi i ngjyrave RGB dhe HEX

rgb(12,115,184) #0C73B8

Red: 12
Hex: 0C
Green: 115
Hex: 73
Blue: 184
Hex: B8

Sfondi

Sfondi apo prapaskena luan një rol të rëndësishëm në prezantimin vizual të ueb faqeve.

CSS ofron disa veti për stilizimin e sfondit të një elementi, përfshirë ngjyrosjen e sfondit, vendosjen e imazheve në sfond dhe menaxhimin e pozicionimit të tyre, etj.

Vetitë e sfondit janë background-color, background-image, background-repeat, background-attachment dhe background-position.

Ngjyra e sfondit

Vetia  background-color përdoret për të vendosur ngjyrë në sfond të një elementi.

Shembulli i mëposhtëm tregon se si të vendosni ngjyrën në sfond të të gjithë faqes.

Shembull:

body {
    background-color: #f0e68c;
}

Vlerat e ngjyrave në CSS specifikohen kryesisht në formatet e mëposhtme:

  • me emër ngjyrash – si p.sh. "red"
  • me vlerë HEX – si p.sh. "#ff0000"
  • me vlerë RGB – si p.sh. "rgb(255,0,0)"

Imazhi në sfond

Vetia background-image vendos një imazh në sfond të një elementi HTML.

Le të shohim shembullin vijues që vendos imazhin në sfond në të gjithë faqen.

Shembull:

body {
    background-image: url("foto/imazh.png");
}

Shënim: Kur përdorni imazhin në sfond të një elementi, sigurohuni që imazhi që zgjidhni nuk ndikon në lexueshmërinë e përmbajtjes së tekstit të elementit.

Këshillë: Në mënyrë të paracaktuar shfletuesi përsërit imazhin e sfondit si horizontalisht ashtu edhe vertikalisht për të mbushur të gjithë zonën e një elementi. Këtë mund ta kontrolloni me vetinë background-repeat.

Përsëritja e sfondit

Vetia background-repeat ju lejon të kontrolloni se si një imazh i sfondit përsëritet ose vendoset në formë të pllakave në sfondin e një elementi. Mund të vendosni një imazh sfondi që të përsëritet vertikalisht (boshti y), horizontalisht (boshti x), në të dy drejtimet ose në asnjë drejtim.

Le të shohim shembullin vijues që demonstron se si të vendosim sfondin me gradiencë për një ueb faqe duke përsëritur imazhin e prerë horizontalisht përgjatë boshtit x.

Shembull:

body {
    background-image: url("foto/gradienca.png");
    background-repeat: repeat-x;
}

Në mënyrë të ngjashme, mund të përdorni vlerën repeat-y për të përsëritur imazhin e sfondit vertikalisht përgjatë boshtit y, ose vlerën no-repeat për të parandaluar përsëritjen krejtësisht.

Shembull:

body {
    background-image: url("foto/tekstura.png");
    background-repeat: no-repeat;
}

Le të hedhim një vështrim në ilustrimin vijues për të kuptuar se si funksionon kjo veti në të vërtetë.

Bg repeat repeat-x Bg repeat-y no-repeat

Pozicioni i sfondit

Vetia background-position përdoret për të kontrolluar pozicionin e imazhit të sfondit.

Nëse nuk është specifikuar asnjë pozicion i sfondit, imazhi i sfondit vendoset në pozicionin e paracaktuar lart-majtas të elementit d.m.th. në (0,0), le të provojmë  me shembullin vijues:

Shembull:

body {
    background-image: url("foto/roboti.png");
    background-repeat: no-repeat;
}

Në shembullin vijues, imazhi i sfondit është pozicionuar në cepin e sipërm nga ana e djathtë.

Shembull:

body {
    background-image: url("foto/roboti.png");
    background-repeat: no-repeat;
    background-position: right top;
}

Shënim: Nëse specifikohen dy vlera për vetinë e pozicionit të sfondit, vlera e parë përfaqëson pozicionin horizontal dhe e dyta përfaqëson pozicionin vertikal. Nëse specifikohet vetëm një vlerë, vlera e dytë supozohet të jetë në qendër.

Përveç fjalëve kyçe për pozicionim, gjithashtu për këtë veti mund të përdorni vlera të përqindjes ose të gjatësisë, të tilla si px ose em.

Le të hedhim një vështrim në ilustrimet vijuese për të kuptuar se si funksionon kjo veti në të vërtetë.

Bg position
Bg position 1 Bg position 2

Shtojca e sfondit

Vetia background-attachment përcakton nëse imazhi i sfondit është i fiksuar në lidhje me portën e shikimit ose bartet së bashku me bllokun që përmban.

Le të shohim shembullin vijues për të kuptuar se si funksionon:

Shembull:

body {
    background-image: url("foto/imazh.png");
    background-repeat: no-repeat;
    background-attachment: fixed;
}

Vetia e shkurt për sfond

Siç mund ta shihni në shembujt e mësipërm, ka disa veti për t'u marrë parasysh kur merreni me sfondet. Sidoqoftë, është gjithashtu e mundur të specifikohen të gjitha këto veti në një veti të vetme për ta shkurtuar kodin ose për t’iu shmangur shënimit shtesë.

Vetia background është një veti e shkurtër për vendosjen e të gjitha veçorive individuale të sfondit, dmth. për një herë mund të shkruhen vetitë e lartpërmendura, background-color, background-image, background-repeat, background-attachment dhe background-position. Le të shohim se si funksionon kjo:

Shembull:

body {
    background-color: #f0e68c;
    background-image: url("foto/imazhi.png");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: 250px 25px;
}

Duke përdorur shënimin e shkurtër, shembulli i mësipërm mund të shënohet kësisoj:

Shembull:

body {
    background: #f0e68c url("foto/imazhi.png") no-repeat fixed 250px 25px;
}

Kur përdorni vetinë background radhitja e vlerave të vetive duhet të jetë kësisoj:

background: ngjyra imazhi përsëritja shtojca pozicioni;

Nëse vlera për një veti individuale të sfondit mungon ose nuk është specifikuar gjatë përdorimit të shënimit të shkurtër, vlera e paracaktuar për atë veti do të përdoret.

Shënim: Vetitë e sfondit nuk trashëgohen sikur vetia e ngjyrave, por sfondi i elementit prind do të jetë i dukshëm si parazgjedhje, për shkak të vlerës iniciuese ose të paracaktuar transparent të vetisë CSS background-color.

Fontet

Zgjedhja e fontit (llojit të shkronjave) dhe stilit të duhur është shumë e rëndësishme për lexueshmërinë e tekstit në një faqe.

CSS ofron disa veti për stilizim të fontit të tekstit, duke përfshirë ndryshimin e pamjes së tyre, kontrollimin e madhësisë dhe trashësinë e tyre, pastaj menaxhimin e variantit, etj.

Vetitë e fonteve janë: font-family, font-style, font-weight, font-size dhe font-variant.

Familja e fontit

Vetia font-family përdoret për të specifikuar fontin që do të përdoret për të paraqitur tekstin.

Kjo veti mund të përmbajë disa emra të fonteve të ndara me presje si një sistem fallback, kështu që nëse fonti i parë nuk është i disponueshëm në sistemin e përdoruesit, shfletuesi përpiqet të përdorë të dytin e kështu me radhë.

Prandaj, radhitni fontin që dëshironi të jetë i pari, pastaj çdo font tjetër që mund të plotësohet nëse fonti i parë nuk është i disponueshëm. Në fund duhet ta përfundoni listën me një familje të përgjithshme të fonteve të cilat janë pesë – serif, sans-serif, monospace, cursive dhe fantasy. Një deklaratë tipike e familjes së fonteve mund të duket kësisoj:

Shembull:

body {
    font-family: Arial, Helvetica, sans-serif;
}

Shënim: Nëse emri i një familje të fonteve përmban më shumë se një fjalë, ajo duhet të vendoset brenda thonjëzave, si p.sh. "Times New Roman", "Courier New", "Segoe UI", etj.

Familjet e fonteve zakonisht të përdorura në ueb faqe janë serif dhe sans-serif, sepse janë më të përshtatshme për lexim. Ndërsa fontet monospace përdoren zakonisht për të paraqitur kodin, pasi në këtë lloj shkrimi çdo shkronjë zë të njëjtën hapësirë e cila duket si tekst i shkruar.

Fontet cursive duken si shkrim kursiv ose shkrim dore. Fonti fantasy përfaqëson font artistik, por këto lloj fonte nuk përdoren gjerësisht për shkak të disponueshmërisë së dobët në të gjithë sistemet operative.

Dallimi në mes fonteve serif dhe sans-serif

Fontet serif kanë vijë të vogël ose kthesa në skajet e karaktereve, ndërsa fontet sans-serif janë më të drejta dhe nuk i kanë këto vija dhe kthesa të vogla në skaje. Shihni ilustrimin vijues.

Serif vs sans-serif

Stili i fontit

Vetia font-style përdoret për të vendosur stilin e shkronjave në përmbajtjen e tekstit të një elementi.

Stili i fontit mund të jetë normal, italic ose oblique. Vlera e paracaktuar është normal.

Shembull:

p.normal {
    font-style: normal;
}
p.pjerret {
    font-style: italic;
}
p.zhdrejt {
    font-style: oblique;
}

Shënim: Në shikim të parë të dy stilet oblique dhe italic shfaqin të njëjtin gjë, por ekziston një dallim. Stili italic përdor një version të pjerrtë të fontit ndërsa stili i zhdrejtë nga ana tjetër është thjesht një version i pjerrët ose i zhdrejtë i fontit normal.

Madhësia e fontit

Vetia font-size përdoret për të caktuar madhësinë e fontit në përmbajtjen e tekstit të një elementi.

Ekzistojnë disa mënyra për të specifikuar vlerat e madhësisë së fontit, p.sh. me fjalë kyçe, përqindje, piksell, em, etj.

Madhësia e fontit me piksell

Vendosja e madhësisë së fonit në vlera piksell (p.sh. 14px, 16px, etj.) është një zgjedhje e mirë kur keni nevojë për saktësinë e piksellëve. Piksell është një njësi matëse absolute e cila specifikon një gjatësi fikse.

Shembull:

h1 {
    font-size: 24px;
}
p {
    font-size: 14px;
}

Definimi i madhësive të fontit me piksell nuk konsiderohet shumë i arritshëm, sepse përdoruesi nuk mund të ndryshojë madhësinë e shkronjave nga cilësimet e shfletuesit. Për shembull, personat me shikim të kufizuar ose të ulët mund të dëshirojnë të zmadhojnë madhësinë e fontit më shumë se madhësia e specifikuar nga ju.

Prandaj, duhet të shmangni përdorimin e vlerave piksell dhe të përdorni vlerat që janë relative në raport me madhësinë e paracaktuar të fontit nga përdoruesi.

Këshillë: Teksti mund të ridimensionohet gjithashtu tek të gjithë shfletuesit duke përdorur veçorinë e zmadhimit (zoom). Sidoqoftë, kjo veçori ndryshon përmasat e tërë faqes, jo vetëm të tekstit. W3C rekomandon përdorimin e vlerave em ose përqindje (%) në mënyrë që të krijohen paraqitje më të fuqishme dhe të shkallëzuara.

Madhësia e fontit me EM

Njësia em i referohet madhësisë së shkronjave të elementit prind. Kur përcaktohet vetia font-size, 1em është e barabartë me madhësinë e fontit që vlen për prindin e elementit.

Pra, nëse caktoni font-size me vlerë 20px në elementin e trupit, atëherë 1em = 20px dhe 2em = 40px.

Sidoqoftë, nëse nuk e keni caktuar madhësinë e fontit askund në faqe, atëherë vlera është e parazgjedhur nga shfletuesi, që normalisht është 16px. Prandaj, në mënyrë të paracaktuar 1em = 16px dhe 2em = 32px.

Shembull:

h1 {
    font-size: 2em;      /* 32px/16px=2em */
}
p {
    font-size: 0.875em;  /* 14px/16px=0.875em */
}

Kombinimi i përqindjes dhe EM

Siç e keni vërejtur në shembullin e mësipërm, llogaritja e vlerave em nuk duket e thjeshtë. Për ta thjeshtuar këtë, një teknikë e njohur është vendosja e font-size për elementin body62.5% (që është 62.5% e 16px të paracaktuara), e cila barazohet me 10px ose 0.625em.

Tani mund të caktoni font-size për çdo element duke përdorur njësinë em, me një konvertim të lehtë për tu mbajtur mend, duke e ndarë vlerën px me 10. Në këtë mënyrë 10px = 1em, 12px = 1.2em, 14px = 1.4em, 16px = 1.6em, e kështu me radhë.

Shembull:

body {
    font-size: 62.5%;    /* font-size 1em = 10px */
}
p {
    font-size: 1.4em;    /* 1.4em = 14px */
}
p span {
    font-size: 2em;      /* 2em = 28px */
}

Madhësia e fontit me Root EM

Për t'i bërë gjërat edhe më të thjeshta CSS3 ka prezantuar njësinë rem (shkurtesë e "root em") që është gjithmonë relative me font-size të elementit rrënjë (html), pavarësisht se ku qëndron elementi në dokument (ndryshe nga em që është relativ me madhësinë e fontit të elementit prind).

Kjo do të thotë që 1rem është ekuivalent me madhësinë e fontit të elementit html, që është 16px si parazgjedhje në shumicën e ueb-shfletuesve.

Shembull:

html {
    font-size: 62.5%;    /* font-size 1em = 10px */
}
p {
    font-size: 1.4rem;   /* 1.4rem = 14px */
}
p span {
    font-size: 2rem;     /* 2rem = 20px (e jo 28px) */
}

Madhësia e fontit me fjalë kyçe

CSS ofron disa fjalë kyçe që mund të përdorni për të përcaktuar madhësitë e fonteve.

Një madhësi absolute e fontit mund të specifikohet duke përdorur një nga këto fjalë kyçe: xx-small, x-small, small, medium, large, x-large, xx-large. Ndërsa, madhësia relative e fontit mund të specifikohet duke përdorur fjalët kyçe: smaller ose larger.

Shembull:

body {
    font-size: large;
}
h1 {
    font-size: larger;
}
p {
    font-size: smaller;
}

Shënim: Fjala kyçe medium është ekuivalente me madhësinë e paracaktuar të fontit të ueb-shfletuesve, e cila normalisht është 16px. Po kështu, xx-small është ekuivalent me 9px, x-small është 10px, small është 13px, large është 18px, x-large është 24px, dhe xx-large është 32px.

Këshillë: Pasi keni vendosur një madhësi të fontit në elementin body, më pas mund të vendosni madhësinë relative të fontit kudo tjetër në faqe, duke ju dhënë mundësinë të shkallëzoni me lehtësi madhësinë e fontit lart ose poshtë në përputhje me rrethanat.

Madhësia e fontit me njësitë Viewport

Madhësitë e fontit mund të specifikohen edhe duke përdorur njësitë viewport (hapësira e pamjes), siç janë vw ose vh.

Njësia viewport i referohet përqindjes së dimensioneve të pamjes së shfletuesit, ku 1vw = 1% e gjerësisë së viewport-it dhe 1vh = 1% e lartësisë së viewport-it. Andaj, nëse viewport është 1600px e gjerë, 1vw është 16px.

Provoni shembullin e mëposhtëm duke ndryshuar madhësinë e dritares së shfletuesit dhe shikoni se si funksionon:

Shembull:

body {
    font-size: 1vw;
}
h1 {
    font-size: 3vw;
}

Sidoqoftë, ekziston një problem me njësitë viewport. Në ekranet e vogla, shkronjat bëhen aq shumë të vogla sa nuk mund të lexohen. Për të parandaluar këtë mund të përdorni funksionin CSS calc(), kësisoj:

Shembull:

html { 
    font-size: calc(1em + 1vw); 
}
h1 {
    font-size: 3rem;
}

Në këtë shembull, edhe nëse gjerësia e viewport-it bëhet 0, madhësia e fontit do të jetë së paku 1em ose 16px.

Trashësia e fontit

Vetia font-weight përcakton rëndësinë ose trashësinë e fontit.

Kjo veti mund të marrë një nga këto vlera: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900 dhe inherit.

Vlerat numerike 100 – 900 specifikojnë trashësinë e fontit, ku secili numër përfaqëson një trashësi më të madhe se paraardhësi i tij. 400 është e njëjtë me normal dhe 700 është e njëjtë me bold.

Vlerat bolder dhe lighter janë relative me trashësinë e trashëguar të fontit, ndërsa vlerat e tjera si normal dhe bold janë vlera absolute të trashësisë së fontit.

Le të provojmë një shembull për të kuptuar se si funksionon kjo veti në thelb:

Shembull:

p {
    font-weight: bold;
}

Shënim: Shumica e fonteve janë në dispozicion vetëm në një numër të kufizuar të trashësive; shpesh ato janë në dispozicion vetëm me vlerat normal dhe bold. Në rast se një font nuk është i disponueshëm me trashësinë e specifikuar, do të zgjidhet një alternativë që është trashësia më e afërt në dispozicion.

Variant i fontit

Vetia font-variant lejon që teksti të shfaqet në një variant të veçantë të shkronjave të vogla (small-caps).

Small-caps ose shkronjat e vogla kapitale janë paksa të ndryshme nga shkronjat e mëdha normale, në të cilat shkronjat e vogla shfaqen si versione më të vogla të shkronjave të mëdha përkatëse.

Shembull:

p {
    font-variant: small-caps;
}

Vlera normal heq shkronjat e vogla nga teksti i cili tashmë është formatuar në atë mënyrë.

Teksti

Formatimi i tekstit me CSS

CSS ofron disa veti që ju mundësojnë të përcaktoni stile të ndryshme të tekstit siç janë: ngjyra, rreshtimi, hapësira në mes shkronjave, dekorimi, transformimi, etj.

Vetitë e tekstit që përdoren zakonisht janë: text-align, text-decoration, text-transform, text-indent, line-height, letter-spacing, word-spacing, etj. Këto veti ju japin kontroll të saktë mbi pamjen vizuale të karaktereve, fjalëve, hapësirave, etj.

Ngjyra e tekstit

Ngjyra e tekstit përcaktohet nga vetia e ngjyrave në CSS: color.

Rregulli i stilit në shembullin vijues do të definoj ngjyrën e paracaktuar të tekstit për faqen e dhënë:

Shembull:

body {
    color: #434343;
}

Megjithëse, vetia e ngjyrave duket sikur do të ishte një pjesë e tekstit në CSS, por në fakt është vetëm një veti e pavarur në CSS.

Rreshtimi i tekstit

Vetia text-align përdoret për të vendosur shtrirjen horizontale të tekstit.

Teksti mund të rreshtohet në katër mënyra: në të majtë, në të djathtë, në qendër ose të justifikuar (justified).

Le të hedhim një vështrim në shembullin vijues për të kuptuar se si funksionon kjo veti në thelb.

Shembull:

h1 {
    text-align: center;
}
p {
    text-align: justify;
}

Shënim: Kur vetia text-align ka vlerën justify, çdo rresht i tekstit do të shtrihet prej njërit skaj në tjetrin në gjerësi të barabartë (përveç rreshtit të fundit). Kjo shtrirje e tekstit zakonisht përdoret në botime të tilla si revista dhe gazeta.

Le të hedhim një vështrim në ilustrimet vijuese për të kuptuar se çfarë nënkuptojnë këto vlera.

Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet impedit laudantium iste minus, deleniti aperiam pariatur quasi non?

left

Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet impedit laudantium iste minus, deleniti aperiam pariatur quasi non?

center

Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet impedit laudantium iste minus, deleniti aperiam pariatur quasi non?

right

Lorem ipsum dolor sit amet consectetur adipisicing elit. Amet impedit laudantium iste minus, deleniti aperiam pariatur quasi non?

justify

Dekorimi i tekstit

Vetia text-decoration përdoret për të vendosur ose hequr dekorime nga teksti.

Kjo veti zakonisht pranon një nga këto vlera: underline, overline, line-through dhe none. Duhet të shmangni nënvizimin e tekstit që nuk paraqet ndonjë link, pasi mund të hutojë vizitorin.

Shembull:

h1 {
    text-decoration: overline;
}
h2 {
    text-decoration: line-through;
}
h3 {
    text-decoration: underline;
}

Heqja e nënvizimit të paracaktuar nga linqet

Vetia text-decoration përdoret gjerësisht për të hequr nënvizimin e paracaktuar nga hyperlinqet në HTML. Më pas mund t’i bëni disa ndryshme tjera vizuale për ta bërë atë të dallohet nga teksti normal, për shembull, duke përdorur kufizë me pika në vend të nënvizimit solid.

Shembull:

a {
    text-decoration: none;
    border-bottom: 1px dotted;
}

Shënim: Kur krijoni një link në HTML, shfletuesit automatikisht e nënvizojnë atë dhe ia vendosin ngjyrën e kaltër, në mënyrë që lexuesit të shohin qartë se cili tekst mund të klikohet.

Transformimi i tekstit

Vetia text-transform përdoret për të vendosur shkronja të ndryshme për një tekst.

Teksti shpesh shkruhet me shkronja të përziera (të mëdha dhe të vogla). Sidoqoftë, në situata të caktuara mund të dëshironi të paraqitni tekstin tuaj në raste krejtësisht të ndryshme. Duke përdorur këtë veti mund të ndryshoni përmbajtjen e tekstit të një elementi në shkronja të mëdha ose të vogla, ose të shkruani me germë të madhe shkronjën e parë të secilës fjalë pa ndryshuar tekstin origjinal.

Shembull:

h1 {
    text-transform: uppercase;
}
h2 {
    text-transform: capitalize;
}
h3 {
    text-transform: lowercase;
}

Kryeradha e tekstit

Vetia text-indent përdoret për të vendosur kryeradhë në rreshtin e parë të tekstit brenda një blloku të tekstit. Zakonisht kjo bëhet duke futur hapësirë boshe para rreshtit të parë të tekstit.

Gjerësia e hapësirës mund të specifikohet duke përdorur përqindjen (%), vlerat e gjatësisë në piksell, em, etj.

Stili i mëposhtëm do të shtoj hapësirë në rreshtin e parë të paragrafëve me vlerë prej 100 piksell.

Shembull:

p {
    text-indent: 100px;
}

Hapësira në mes shkronjave

Vetia letter-spacing përdoret për të vendosur hapësirë shtesë midis karaktereve të tekstit.

Kjo veti mund të marrë vlera të gjatësisë në piksell, em, etj. Mund të pranojë gjithashtu edhe vlera negative. Kur vendosni hapësirë në mes shkronjave, vlera që e vendosni tregon hapësirën shtesë nga hapësira e paracaktuar ndërmjet karaktereve.

Shembull:

h1 {
    letter-spacing: -3px;
}
p {
    letter-spacing: 10px;
}

Hapësira në mes fjalëve

Vetia word-spacing përdoret për të specifikuar hapësirën shtesë midis fjalëve.

Kjo veti përdor vlera të gjatësisë në piksell, em, etj. Gjithashtu lejohen edhe vlera negative.

Shembull:

p.normal {
    word-spacing: 20px;
}
p.justifikuar {
    word-spacing: 20px;
    text-align: justify;
}
p.paraformatuar {
    word-spacing: 20px;
    white-space: pre;
}

Shënim: Hapësira në mes fjalëve mund të ndikohet nga teksti i justifikuar. Gjithashtu, edhe pse hapësira është ruajtur, hapësirat ndërmjet fjalëve ndikohen nga vetia e ndarjes së fjalëve.

Lartësia e rreshtit

Vetia line-height përdoret për të vendosur lartësinë e rreshtit të tekstit. Pra, gjithashtu përdoret për të vendosur distancë midis rreshtave të tekstit.

Vlera e kësaj vetie mund të jetë një numër, përqindje (%), ose gjatësi në piksell, em, etj.

Shembull:

p {
    line-height: 1.2;
}

Kur vlera është një numër, lartësia e rreshtit llogaritet duke shumëzuar madhësinë e fontit të elementit me numrin. Ndërsa, vlerat e përqindjes janë relative me madhësinë e fontit të elementit.

Shënim: Vlerat negative për vetinë line-height nuk lejohen. Kjo veti është gjithashtu një përbërës i vetisë së fontit në CSS.

Nëse vlera e vetisë line-height është më e madhe se vlera e font-size për një element, kjo diferencë pritet në gjysmë dhe shpërndahet në mënyrë të barabartë në pjesën e sipërme dhe të poshtme të rreshtit.

Shembull:

p {
    font-size: 14px;
    line-height: 20px;
    background-color: #f0e68c;
}

Ekzistojnë edhe veti tjera të tekstit, siç janë p.sh. tejmbushja e tekstit (overflow), hija e tekstit (text-shadow), etj.

Linqet

Stilizimi i linqeve me CSS

Linqet ose hiperlinqet janë pjesë esenciale të një ueb faqeje. Këto lidhje i mundësojnë vizitorëve të kalojnë prej një faqe në një tjetër në atë ueb sajt duke klikuar në to. Andaj stilizimi i linqeve siç duhet është një aspekt i rëndësishëm i ndërtimit të një ueb sajti miqësor për përdoruesit.

Linku ka katër gjendje të ndryshme – link, visited, active dhe hover. Këto katër gjendje të një linku mund të stilizohen ndryshe duke përdorur selektorët e mëposhtëm të pseudo-klasëve.

  • a:link – definon stilet për linqet normale ose të pavizituar.
  • a:visited – definon stilet për linqet që përdoruesi i ka vizituar.
  • a:hover – definon stilet për linkun kur përdoruesi vendos treguesin e miut mbi të.
  • a:active – definon stilet për linqet kur ato klikohen.

Mund të specifikoni çfarëdo vetie CSS që dëshironi, si p.sh. color, font, background, border, etj., e secilin prej këtyre selektorëve mund t’ia rregulloni stilin e linqeve, ashtu siç mund të veproni me tekstin normal.

Shembull:

a:link {    /* link i pavizituar */
    color: #ff0000;
    text-decoration: none;
    border-bottom: 1px solid;
}
a:visited {    /* Link i vizituar */
    color: #ff00ff;
}
a:hover {    /* mausi mbi link */
    color: #00ff00;
    border-bottom: none;
}
a:active {    /* link aktiv */
    color: #00ffff;
}

Radhitja në të cilin vendosni stilin për gjendje të ndryshme të linqeve është i rëndësishëm, sepse ajo që definohet e fundit ka përparësi mbi rregullat e stilit të definuar më parë.

Shënim: Në përgjithësi, renditja e pseudo-klasave duhet të jetë kësisoj – :link, :visited, :hover, :active, :focus në mënyrë që këto të funksionojnë siç duhet.

Modifikimi i stileve standarde të linkut

Në të gjithë ueb shfletuesit kryesor si Chrome, Firefox, Safari, etj., linqet në ueb faqe janë të nënvizuar dhe kanë ngjyrë të paracaktuar nga ueb shfletuesi.

Si parazgjedhje, linqet e tekstit do të shfaqen si më poshtë në shumicën e shfletuesve:

  • Link i pavizituar – tekst i kaltër i nënvizuar.
  • Link i vizituar – tekst vjollcë i nënvizuar.
  • Link aktiv – tekst i kuq i nënvizuar.

Sidoqoftë, nuk ka asnjë ndryshim në pamjen e linkut në rast të gjendjes kur jemi me maus mbi link (hover). Pra, mbetet i kaltër, vjollcë ose i kuq në varësi të gjendjes (d.m.th. i pa vizituar, i vizituar ose aktiv).

Cilësimi i ngjyrës së personalizuar të linqeve

Thjesht përdorni vetinë e ngjyrave në CSS – color për të definuar ngjyrën e zgjedhur për gjendjet e ndryshme të një linku. Por kini kujdes kur zgjidhni ngjyrat, sigurohuni që përdoruesi të mund të bëjë dallimin e qartë midis tekstit normal dhe linqeve.

Shembull:

a:link {
    color: #1ebba3;
}
a:visited {
    color: #ff00f4;
}
a:hover {
    color: #a766ff;
}
a:active {
    color: #ff9800;
}

Heqja e nënvizimit të paracaktuar nga linqet

Nëse nuk ju pëlqen nënvizimi i paracaktuar në linqe, thjesht mund të përdorni vetinë CSS text-decoration për të hequr atë. Përndryshe, mund të aplikoni një stilizim tjetër në link siç janë ngjyra e sfondit, kufiza e poshtme, font i theksuar, etj., për ta bërë atë që të dallohet nga teksti normal.

Shembulli i mëposhtëm tregon se si të hiqni ose vendosni nënvizimin për gjendje të ndryshme të një linku.

Shembull:

a:link, a:visited {
    text-decoration: none; 
}
a:hover, a:active {
    text-decoration: underline;
}

Pamja e linqeve të tekstit si butona

Gjithashtu mund t'i bëni linqet tuaja të zakonshme të tekstit të duken si butona duke përdorur CSS-në. Për ta bërë këtë, duhet të përdorim disa veti tjera të CSS-së, të tilla si background-color, border, display, padding, etj.

Shembull:

a:link, a:visited {
    color: white;    
    background-color: #1ebba3;    
    display: inline-block;
    padding: 10px 20px;
    border: 2px solid #099983;
    text-decoration: none;
    text-align: center;
    font: 14px Arial, sans-serif;  
}
a:hover, a:active {
    background-color: #9c6ae1;
    border-color: #7443b6;
}

Listat

Llojet e listave HTML

Ekzistojnë tri lloje të ndryshme të listave në HTML:

  • Listat e parenditura – Listë e artikujve, ku çdo artikull i listës shënohet me pika.
  • Listat e renditura – Listë e artikujve, ku secili artikull i listës shënohet me numra.
  • Listat përshkruese – Listë e artikujve, me një përshkrim për secilin artikull.

Stilizimi i listave me CSS

CSS ofron disa veti për stilizim dhe formatim të listave të parenditura dhe të renditura. Këto veti të listës CSS zakonisht ju lejojnë të:

  • Kontrolloni formën ose pamjen e shenjës.
  • Specifikoni një imazh për shenjën në vend të një pikë apo një numri.
  • Vendosni distancën në mes shenjës dhe tekstit në listë.
  • Specifikoni nëse shenja do të shfaqet brenda ose jashtë kutisë që përmban artikujt e listës.

Ndryshimi i llojit të shenjës tek listat

Si parazgjedhje, artikujt në një listë të renditur paraqiten me numra arabë (1, 2, 3, 5, e kështu me radhë), ndërsa në një listë të parenditur, artikujt shënohen me një pikë (•).

Por, ju mund ta ndryshoni këtë shenjë të parazgjedhur të listës në çdo lloj tjetër, siç janë numrat romakë, shkronjat latine, rrethi, katrori, e kështu me radhë, duke përdorur vetinë list-style-type.

Shembull:

ul {
    list-style-type: square;
}
ol {
    list-style-type: upper-roman;
}

Ndryshimi i pozicionit të shenjave tek listat

Si parazgjedhje, shenja e secilit artikull të listës pozicionohen jashtë (outside) kutive të tyre të shfaqjes.

Sidoqoftë, ju gjithashtu mund t'i poziciononi këto shenja, pra, numrat ose pikat brenda kutive të shfaqjes së artikullit të listës duke përdorur vetinë list-style-position së bashku me vlerën inside. Në këtë rast shenjat do të përfshihen brenda kutisë së linjës.

Shembull:

ol.brenda li {
    list-style-position: inside;
}
ol.jashte li {
    list-style-position: outside;
}

Le të shohim ilustrimin vijues për të kuptuar se si pozicionohen shenjat brenda dhe jashtë kutisë së pamjes së listave.

  1. Artikulli i parë
  2. Artikulli i dytë, i cili është tekst më i gjatë nga artikujt tjerë për ta testuar
  3. Artikulli i tretë

Jashtë (me parazgjedhje)

  1. Artikulli i parë
  2. Artikulli i dytë, i cili është tekst më i gjatë nga artikujt tjerë për ta testuar
  3. Artikulli i tretë

Brenda

Përdorimi i imazheve si shenja të listave

Gjithashtu mund të vendoset një imazh si shenjë e listës duke përdorur vetinë list-style-image.

Rregulli i stilit në shembullin vijues cakton një imazh transparent PNG "shigjeta.png" si shenjë të listës për të gjithë artikujt në listën e parenditur.

Shembull:

ul li {
    list-style-image: url("foto/shigjeta.png");
}

Ndonjëherë, vetia list-style-image mund të mos na jep rezultatin e pritur. Përndryshe, mund të përdorni zgjidhjen e mëposhtme për kontroll më të mirë në pozicionimin e shenjave në listë.

Duke bërë punë përreth, gjithashtu mund të vendosni shenja në listë nga imazhi përmes vetisë CSS background-image. Së pari, hiqni pikat në listë, pastaj, përcaktoni për elementin e listës një imazh në sfond që nuk përsëritet.

Shembulli i mëposhtëm tregon imazhin si shenjë në mënyrë të rregullt për të gjithë  ueb shfletuesit:

Shembull:

ul {
    list-style-type: none;
}
ul li {
    background-image: url("foto/shigjeta.png");
    background-position: 0px 5px; /* Poz-X Poz-Y (nga lartë-majtas) */
    background-repeat: no-repeat;
    padding-left: 20px;
}

Cilësimi i të gjitha vetive të listës përnjëherë

Vetia list-style është një veti e shkurtër për definimin e tri vetive përnjëherë: list-style-type, list-style-image dhe list-style-position.

Rregulli i mëposhtëm i stilit cilëson të gjitha vetitë e listës në një deklaratë të vetme.

Shembull:

ul {
    list-style: square inside url("foto/shigjeta.png");
}

Shënim: Kur përdorni vetinë e shkurt list-style, radhitjet e vlerave janë: list-style-type | list-style-position | list-style-image. Nuk ka rëndësi nëse njëra nga vlerat e mësipërme mungon për sa kohë që pjesa tjetër janë në radhën e specifikuar.

Krijimi i menyve të navigimit duke përdorur listat

Listat HTML përdoren shpesh për të krijuar shirit horizontal apo meny të navigimit që zakonisht paraqiten në krye të një ueb sajti. Por meqenëse artikujt e listës janë bllok elemente, kësisoj për t'i shfaqur ato njëra pas tjetrës duhet të përdorim vetinë CSS display.

Shembull:

ul {
    padding: 0;
    list-style: none;
    background: #f2f2f2;
}
ul li {
    display: inline-block;
}
ul li a {
    display: block;
    padding: 10px 25px;
    color: #333;
    text-decoration: none;
}
ul li a:hover {
    color: #fff;
    background: #939393;
}

Tabelat

Stilizimi i tabelave me CSS

Tabelat përdoren zakonisht për të shfaqur të dhëna tabelore, siç janë p.sh. raportet financiare.

Por kur krijoni një tabelë në HTML pa ndonjë stil ose atribut, ueb shfletuesit i shfaqin ato pa asnjë kufizë. Me ndihmën e CSS mund të përmirësoni shumë pamjen e tabelave.

CSS ofron disa veti që ju mundësojnë të kontrolloni paraqitjen dhe prezantimin e elementeve të tabelës. Në njësitë vijuese do të shihni se si të përdorni CSS-në për të krijuar tabela elegante dhe të qëndrueshme.

Shtimi i kufizave në tabela

Vetia CSS border është mënyra më e mirë për të definuar kufijtë për tabelat.

Shembulli i mëposhtëm do të cilësojë një kufizë të zezë për elementet <table>, <th> dhe <td>.

Shembull:

table, th, td {
    border: 1px solid black;
}

Si parazgjedhje, ueb shfletuesi paraqet një kufizë përreth tabelës, si dhe përreth të gjitha celulave, me një hapësirë ndërmjet, e cila rezulton me kufiza të dyfishta. Për të eliminuar këtë problem të kufizës së dyfishtë, thjesht mund të rrënoni kufijtë e celulave të tabelës të ngjitur dhe të krijoni kufij të pastër me një vijë.

Le të shohim në ilustrimin vijues për të kuptuar se si zbatohet kufizat në një tabelë.

ID Emri Mosha
1 Altin Haziri 16
2 Shkurte Rrustemi 15
3 Muhamed Selimi 17

Kufij të dyfishtë (me parazgjedhje)

ID Emri Mosha
1 Altin Haziri 16
2 Shkurte Rrustemi 15
3 Muhamed Selimi 17

Kufij të njëfishtë

Kufij të bashkuar të tabelës

Ekzistojnë dy modele të dallueshme për vendosjen e kufijve në celulat e tabelës në CSS: kufij të njëfishtë dhe të dyfishtë.

Në modelin e kufirit të dyfishtë, i cili është i paracaktuar, secila celulë e tabelës ka kufijtë e saj të veçantë, ndërsa në modelin e kufirit të njëfishtë, celulat e tabelës ndajnë një kufizë të përbashkët.  Mund të cilësoni modelin e kufizës për një tabelë në HTML duke përdorur vetinë CSS border-collapse.

Rregullat e mëposhtme të stilit do të shembin kufijtë e celulave të tabelës dhe do të aplikojnë një kufizë të zezë me trashësi një piksell.

Shembull:

table {
    border-collapse: collapse;
}
th, td {
    border: 1px solid black;
}

Shënim: Gjithashtu mund të hiqni hapësirën midis kufijve të celulave të tabelës duke cilësuar vlerën e vetisë CSS border-spacing0. Megjithatë, kjo veti heq vetëm hapësirën, por nuk bashkon kufijtë si kur cilësoni vetinë border-collapse me vlerën collapse.

Rregullimi i hapësirës brenda në tabela

Me parazgjedhje, ueb shfletuesit i krijojnë celulat e tabelës me madhësi të mjaftueshme për të përmbajtur të dhënat në celulë.

Për të shtuar më shumë hapësirë në mes të përmbajtjes së celulës në tabelë dhe kufijve të celulës, mund të përdorni vetinë CSS padding.

Shembull:

th, td {
    padding: 15px;
}

Gjithashtu mund të rregulloni hapësirën midis kufijve të celulave duke përdorur vetinë CSS border-spacing, nëse kufijtë e tabelës suaj janë të ndara (e që është e paracaktuar).

Rregullat e mëposhtme të stilit cilësojnë hapësirën prej 10 piksellësh midis të gjitha kufijve brenda një tabele:

Shembull:

table {
    border-spacing: 10px;
}

Cilësimi i gjerësisë dhe lartësisë së tabelës

Si parazgjedhje, një tabelë në HTML do të jetë mjaft e gjerë dhe e lartë për ta nxënë të gjithë përmbajtjen e saj.

Sidoqoftë, mund të cilësoni gjerësinë dhe lartësinë e tabelës, si dhe celulat e saj në mënyrë të qartë duke përdorur vetitë CSS width dhe height. Rregullat e stilit në shembullin vijues do të cilësojnë gjerësinë e tabelës në 100%, dhe lartësinë e celulave në kokë të tabelës në 40px.

Shembull:

table {
    width: 100%;
}
th {
    height: 40px;
}

Kontrollimi i paraqitjes së tabelës

Tabela do të zgjerohet dhe lartësohet mjaftueshëm për të akomoduar të dhënat që përmbahen brenda saj. Kjo është sjellja e paracaktuar. Deri sa të dhënat plotësohen brenda tabelës, ajo vazhdon të zgjerohen deri sa ekziston hapësirë. Sidoqoftë, ndonjëherë është e nevojshme të vendosni një gjerësi fikse për tabelën e dhënë në mënyrë që të menaxhoni paraqitjen e saj.

Mund ta bëni këtë me ndihmën e vetisë në CSS table-layout. Kjo veti definon algoritmin që do të përdoret për paraqitjen e celulave, rreshtave dhe kolonave të tabelës. Kjo veti merr një nga dy vlerat:

  • auto – Përdor një algoritëm automatik të paraqitjes së tabelës. Me këtë algoritëm, gjerësitë e tabelës dhe celulat e saj rregullohen për t'iu përshtatur përmbajtjes. Kjo është vlerë e paracaktuar.
  • fixed – Përdor algoritmin e paraqitjes fikse të tabelës. Me këtë algoritëm, paraqitja horizontale e tabelës nuk varet nga përmbajtja e celulave; kjo varet vetëm nga gjerësia e tabelës, gjerësia e kolonave dhe kufizave ose hapësira e celulave. Zakonisht kjo vlerë është më e shpejt se vlera auto.

Rregullat e stilit në shembullin vijues specifikojnë që tabela HTML është paraqitur duke përdorur algoritmin e paraqitjes fikse dhe ka një gjerësi fikse prej 300 piksellësh.

Shembull:

table {
    width: 300px;
    table-layout: fixed;
}

Këshillë: Mund të optimizoni performancën e paraqitjes së tabelës duke specifikuar vlerën e fiksuar fixed për vetinë table-layout. Vlera fikse e kësaj vetie bën që tabela të paraqitet një rresht për një herë, duke ju siguruar përdoruesve informacion me një ritëm më të shpejtë.

Shënim: Pa vlerën fikse fixed të vetisë table-layout në tabela të mëdha, përdoruesit nuk do të shohin asnjë pjesë të tabelës derisa ueb shfletuesi të paraqet tërë tabelën.

Shtrirja e tekstit brenda celulave të tabelave

Mund të shtrini përmbajtjen e tekstit brenda celulave të tabelës horizontalisht ose vertikalisht.

Shtrirja horizontale e përmbajtjes së celulave

Për shtrirjen horizontale të tekstit brenda celulave të tabelës mund të përdorni vetinë text-align në të njëjtën mënyrë siç përdorni atë me elementët e tjerë. Mund ta vendosni tekstin në të majtë, në të djathtë, në qendër ose mund ta justifikoni.

Rregullat e mëposhtme të stilit do të shtrinë tekstin majtas brenda elementeve <th>.

Shembull:

th {
    text-align: left;
}

Shënim: Teksti brenda elementeve <td> shtrihet majtas me parazgjedhje, ndërsa teksti brenda elementeve <th> është shtrirë në qendër dhe jepet me shkronja të trasha me parazgjedhje.

Shtrirja vertikale e përmbajtjes së celulave

Në mënyrë të ngjashme, mund ta shtrini vertikalisht përmbajtjen brenda elementeve <th> dhe <td> në krye, në fund ose në mes duke përdorur vetinë CSS vertical-align. Shtrirja vertikale me parazgjedhje është në mes.

Rregulla e mëposhtme e stilit do të shtrij vertikalisht në pjesën e poshtme tekstin brenda elementeve <th>.

Shembull:

th {
    height: 40px;
    vertical-align: bottom;
}

Kontrollimi i pozicionit të titullit të tabelës

Mund të vendosni pozicionin vertikal të një titulli të tabelës duke përdorur vetinë CSS caption-side.

Titulli mund të vendoset në krye ose në fund të tabelës. Pozicioni i paracaktuar është në krye.

Shembull:

caption {
    caption-side: bottom;
}

Këshillë: Për të ndryshuar shtrirjen horizontale të tekstit në titullit e tabelës (p.sh. majtas ose djathtas), thjesht mund të përdorni vetinë CSS text-align, siç e bëni me tekstin normal.

Krijimi i tabelave me “shirita-zebër”

Cilësimi i ngjyrave të ndryshme të sfondit për rreshtat njëri pas tjetrit është një teknikë e përhapur për të përmirësuar lexueshmërinë e tabelave që kanë sasi të madhe të të dhënave. Kjo zakonisht njihet si një tabelë me “shirita-zebër”.

Shumë lehtë mund ta arrini këtë efekt duke përdorur selektorin e pseudo-klasës të CSS :nth-child().

Rregulli i mëposhtëm i stilit do të nxjerr në pah çdo të dytin rresht brenda trupit të tabelës.

Shembull:

tr:nth-child(odd) {
    background-color: #f2f2f2;
}

Tabela me “shirita-zebër” zakonisht duket diçka si imazhi i mëposhtëm.

Nr Emri Mbiemri Email-i
1 Altin Haziri altin.haziri@mail.com
2 Shkurte Rrustemi shkurte.rrustemi@mail.com
3 Muhamed Selimi muhamed.selimi@mail.com

Shënim: Pseudo-klasa :nth-child() zgjedh elemente të bazuar në pozicionin e tyre në një grup të fëmijëve. Mund të marrë si argument një numër, një fjalë kyçe çift (even) ose tek (odd), ose një shprehje të formës xn + y ku x dhe y janë numra të plotë (p.sh. 1n, 2n, 2n + 1, ...)

Tabela responsive

Tabelat nuk janë të natyrës responsive. Sidoqoftë, për të mbështetur pajisjet mobile mund të shtoni responsivitet në tabelat tuaja duke mundësuar lëvizjen horizontale në ekranet e vogla. Për ta bërë këtë thjesht futni tabelën tuaj brenda një elementi <div> dhe aplikoni stilin overflow-x: auto; siç tregohet më poshtë:

Shembull:

<div style="overflow-x: auto;">
  <table>
    ... përmbajtja e tabelës ...
  </table>
</div>

Box Modeli

Çfarë është Box Modeli?

Çdo element që mund të shfaqet në një ueb faqe përbëhet nga një ose më shumë kuti drejtkëndëshe (rectangular boxes). Box modeli në CSS përshkruan në mënyrë tipike se si këto kuti drejtkëndëshe janë paraqitur në një ueb faqe. Këto kuti mund të kenë veti të ndryshme dhe mund të bashkëveprojnë me njëra-tjetrën në mënyra të ndryshme, por çdo kuti ka një zonë të përmbajtjes dhe zona opsionale padding, border dhe margin.

Vizatimi i mëposhtëm tregon se si vetitë CSS width, height, padding, border dhe margin përcaktojnë se sa hapësirë mund të zë një element në një ueb faqe.

Box Modeli

Padding-u (mbushja) është hapësirë transparente midis përmbajtjes së elementit dhe kufirit të tij (ose skajit të kutisë, nëse nuk ka asnjë kufi), ndërsa margjina është hapësira transparente përreth kufirit.

Gjithashtu, nëse një element ka ngjyrë në sfond, ajo ngjyrë do të jetë e dukshme edhe në zonën e padding-ut. Zona e margjinës mbetet gjithnjë transparente, nuk ndikohet nga ngjyra e sfondit të elementit, megjithatë, bën që ngjyra e sfondit të elementit prind të shihet përmes saj.

Gjerësia dhe lartësia e elementeve

Zakonisht kur cilësoni gjerësinë dhe lartësinë e një elementi duke përdorur vetitë CSS width dhe height, në të vërtetë ju po cilësoni vetëm gjerësinë dhe lartësinë e zonës së përmbajtjes së këtij elementi. Gjerësia dhe lartësia aktuale e kutisë së elementit varet nga disa faktorë.

Hapësira aktuale që kutia e një elementi mund të marrë në një ueb faqe llogaritet kështu:

Madhësia e kutisë

Vetitë CSS

Gjerësia totale

width + padding-left + padding-right + border-left + border-right + margin-left + margin-right

Lartësia totale

height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom

Tani le të provojmë shembullin e mëposhtëm për të kuptuar se si funksionon në të vërtetë box modeli:

Shembull:

div {
    width: 300px;
    height: 200px;
    padding: 15px; /* cilëson padding-un për të gjitha anët */
    border: 10px solid black; /* cilëson kufirin për të gjitha anët */
    margin: 20px auto; /* cilëson margjinën e epërme dhe të poshtme në 20 piksell, ndërsa majtas dhe djathtas auto */
}

Shënim: Në box modelin e CSS; zona e përmbajtjes së kutisë të një elementi është zona ku shfaqet përmbajtja e tij, p.sh., teksti, imazhi, video, etj. Mund të përmbajë gjithashtu edhe kuti elementesh pasardhëse.

Cilësimi i dimensioneve të elementit

CSS ka disa veti të dimensioneve, të tilla si width, height, max-width, min-width, max-height dhe min-height që ju lejon të kontrolloni gjerësinë dhe lartësinë e një elementi.

Cilësimi i gjerësisë dhe lartësisë

Vetia width dhe height definon gjerësinë dhe lartësinë e zonës së përmbajtjes të një elementi.

Kjo gjerësi dhe lartësi nuk përfshin padding-un, kufijtë ose margjinat.

Shembull:

div {
    width: 300px;
    height: 200px;
}

Rregullat e mësipërme të stilit i caktojnë elementit <div> një gjerësi fikse prej 300 piksell dhe lartësi fikse prej 200 piksell.

Vetitë width dhe height mund të marrin këto vlera:

  • gjatësia – specifikon një gjerësi në px, em, rem, pt, cm, etj.
  • % –  specifikon gjerësinë në përqindje (%) të gjerësisë së elementit që përmban.
  • auto – ueb shfletuesi llogarit gjerësinë e përshtatshme për elementin.
  • initial – Cilëson gjerësinë dhe lartësinë në vlerën e saj të paracaktuar, e cila është auto.
  • inherit – specifikon që gjerësia duhet të trashëgohet nga elementi prind.

Nuk mund të specifikoni vlera negative për vetitë e gjerësisë dhe lartësisë.

Këshillë: Në mënyrë tipike kur krijoni një element bllok, të tillë si <div>, <p>, etj. ueb shfletuesi vendos automatikisht gjerësinë e tyre në 100% të gjerësisë së disponueshme, dhe lartësinë në çfarëdo vlere që nevojitet për të treguar të gjithë përmbajtjen. Duhet të shmangni vendosjen e një gjerësie dhe lartësie fikse nëse nuk është e nevojshme.

Cilësimi i gjerësisë dhe lartësisë maksimale

Mund të përdorni vetitë max-width dhe max-height për të specifikuar gjerësinë dhe lartësinë maksimale të zonës së përmbajtjes. Kjo gjerësi dhe lartësi maksimale nuk përfshin padding-un, kufijtë apo margjinën.

Një element nuk mund të jetë më i gjerë se vlera e max-width, edhe nëse vlera e vetisë width është diç më e madhe. Për shembull, nëse width është vendosur në 300px dhe max-width është vendosur në 200px, gjerësia aktuale e elementit do të jetë 200px.

Shembull:

div {
    width: 300px;
    max-width: 200px;
}

Shënim: Nëse vetia min-width është specifikuar me një vlerë më të madhe se ajo e vetisë max-width, në këtë rast vlera e min-width do të jetë në të vërtetë ajo që zbatohet.

Po kështu, një element që ka të zbatuar max-height nuk do të jetë kurrë më i lartë se vlera e specifikuar, edhe nëse vetia width ka vlerë më të madhe. Për shembull, nëse height është vendosur në 200px dhe max-height është vendosur në 100px, lartësia aktuale e elementit do të jetë 100px.

Shembull:

div {
    height: 200px;
    max-height: 100px;
}

Shënim: Nëse vetia min-height është specifikuar me një vlerë më të madhe se ajo e max-height, në këtë rast vlera min-height do të jetë ajo që zbatohet.

Cilësimi i gjerësisë dhe lartësisë minimale

Mund të përdorni vetitë min-width dhe min-height për të specifikuar gjerësinë dhe lartësinë minimale të zonës së përmbajtjes. Kjo gjerësi dhe lartësi minimale nuk përfshin padding-un, kufijtë apo margjinat.

Një element nuk mund të jetë më i ngushtë se vlera e min-width, edhe nëse vlera e vetisë width është diçka më e vogël. Për shembull, nëse width është vendosur në 300px dhe min-width është vendosur në 400px, gjerësia aktuale e elementit do të jetë 400px.

Shembull:

div {
    width: 200px;
    min-width: 300px;
}

Shënim: Vetia min-width zakonisht përdoret për të siguruar që një element ka të paktën një gjerësi minimale edhe nëse nuk ka përmbajtje. Megjithatë, elementi do të lejohet të rritet normalisht nëse përmbajtja e tij tejkalon gjerësinë minimale të caktuar.

Në mënyrë të ngjashme, një element në të cilin zbatohet min-height nuk do të jetë kurrë më i vogël se vlera e specifikuar, edhe nëse vetia height është diçka më e vogël. Për shembull, nëse height është vendosur në 200px, dhe min-height është vendosur në 300px, lartësia aktuale e elementit do të jetë 300px.

Shembull:

div {
    height: 100px;
    min-height: 200px;
}

Shënim: Vetia min-height zakonisht përdoret për të siguruar që një element ka të paktën një lartësi minimale edhe nëse nuk ka përmbajtje. Megjithatë elementi do të lejohet të rritet normalisht nëse përmbajtja tejkalon lartësinë minimale të caktuar.

Cilësimi i diapazonit të gjerësisë dhe lartësisë

Vetitë min-width dhe min-height përdoren shpesh në kombinim me vetitë max-width dhe max-height për të prodhuar një diapazon (brez) të gjerësisë dhe lartësisë në një element.

Kjo mund të jetë shumë e dobishme për krijimin e një dizajni fleksibil. Në shembullin vijues, gjerësia minimale e elementit <div> do të ishte 300px dhe mund të shtrihet horizontalisht deri në një vlerë maksimale prej 500px.

Shembull:

div {
    min-width: 300px;
    max-width: 500px;
}

Në mënyrë të ngjashme, mund të definoni një interval lartësie për një element. Në shembullin e mëposhtëm lartësia minimale e elementit <div> do të ishte 300px dhe mund të shtrihet vertikalisht deri në maksimum 500px.

Shembull:

div {
    min-height: 300px;
    max-height: 500px;
}

Vetitë e padding-ut

Vetitë CSS të padding-ut lejojnë të vendosni hapësirë ndërmjet përmbajtjes së një elementi dhe kufirit të tij (ose skajit të kutisë së elementit, nëse nuk ka kufi të përcaktuar).

Padding-u ndikohet nga ngjyra e sfondit të elementit. Për shembull, nëse vendosni ngjyrën e sfondit në një element, ajo ngjyrë do të jetë e dukshme edhe në zonën së padding-ut.

Definimi i padding-ut për anët individuale

Mund të specifikoni padding-jet për anët individuale të një elementi të tillë si pjesa e sipërme, e djathtë, e poshtme dhe e majtë duke përdorur përkatësisht vetitë CSS të padding-top, padding-right, padding-bottom dhe padding-left.

Shembull:

h1 {
    padding-top: 50px;
    padding-bottom: 100px;
}
p {
    padding-left: 75px;
    padding-right: 75px;
}

Vetitë e padding-ut mund të specifikohen duke përdorur vlerat e mëposhtme:

  • gjatësia – specifikon një padding në px, em, rem, pt, cm, etj.
  • % – specifikon një padding në përqindje (%) të gjerësisë së elementit që përmban.
  • inherit – specifikon që padding-u duhet të trashëgohet nga elementi prind.

Ndryshe nga margjina CSS, vlerat për vetitë e padding-ut nuk mund të jenë negative.

Vetia e shkurtë e padding-ut

Vetia padding është një veti e shkurtë për të shmangur cilësimin e padding-ut të secilës anë veç e veç, d.m.th., padding-top, padding-right, padding-bottom dhe padding-left.

Shembull:

h1 {
    padding: 50px; /* zbatohen në të katër anët */
}
p {
    padding: 25px 75px; /* vertikal | horizontal */
}
div {
    padding: 25px 50px 75px; /* sipër | horizontal | poshtë */
}
pre {
    padding: 25px 50px 75px 100px; /* sipër | djathtas | poshtë | majtas */
}

Ky shënim i shkurtë mund të marrë një, dy, tri ose katër vlera të ndara me hapësira.

  • Nëse specifikohet një vlerë, ajo zbatohet në të katër anët.
  • Nëse specifikohen dy vlera, vlera e parë aplikohet në anën e sipërme dhe të poshtme, dhe vlera e dytë zbatohet në anën e djathtë dhe të majtë të kutisë së elementit.
  • Nëse specifikohen tri vlera, vlera e parë zbatohet në krye, vlera e dytë zbatohet në anën e djathtë dhe të majtë dhe vlera e fundit zbatohet në pjesën e poshtme.
  • Nëse specifikohen katër vlera, ato zbatohen në pjesën e sipërme, në të djathtë, në pjesën e poshtme dhe në të majtë të kutisë së elementit përkatësisht në radhitjen e specifikuar.

Rekomandohet të përdoret vetia e shkurtë, kjo do t'ju ndihmojë të kurseni pak kohë duke shmangur shënim shtesë dhe kësisoj e bëni kodin tuaj CSS më të lehtë për t'u ndjekur dhe mirëmbajtur.

Efekti i padding-ut dhe kufirit në paraqitje

Kur krijoni një ueb faqe, cilësimi i padding-ut apo kufirit në elemente ndonjëherë prodhon një rezultat të papritur, sepse padding-u dhe kufiri ju shtohen gjerësisë dhe lartësisë së kutisë së gjeneruar nga elementi, siç e kemi tash të njohur nga njësia Box modeli.

Për shembull, nëse cilësoni gjerësinë e një elementi <div> në 100% dhe gjithashtu vendosni padding apo kufij majtas dhe djathtas, në faqe do të shfaqet shiriti lëvizës horizontal.

Shembull:

div {
    width: 100%;
    padding: 25px;
}

Për të parandaluar padding-un dhe kufirin që të ndryshojnë gjerësinë dhe lartësinë e kutisë së elementit, mund të përdorni vetinë CSS box-sizing. Në shembullin vijues gjerësia dhe lartësia e kutisë <div> do të mbeten të pandryshuara, megjithatë, zona e përmbajtjes së saj do të zvogëlohet me rritjen e padding-ut apo kufirit.

Shembull:

div {
    width: 100%;
    padding: 25px;
    box-sizing: border-box;
}

Vetitë e kufijve

Vetitë CSS të kufirit lejojnë të definoni zonën kufitare të kutisë së një elementi.

Kufijtë shfaqen drejtpërdrejt midis margjinës dhe padding-ut të një elementi. Kufiri mund të jetë një stil i paracaktuar si, vijë solide, vijë me pika, vijë e dyfishtë, etj. apo edhe një imazh.

Kuptimi i stileve të ndryshme të kufijve

Vetia border-style cilëson stilin e kufirit të një kutie, siç janë: solid, dotted, etj. Është një veti e shkurtë për cilësimin e stilit të vijës për të katër anët e kufirit të elementeve.

Vetia border-style mund të ketë këto vlera: none, hidden, solid, dashed, dotted, double, inset, outset, groove dhe ridge.

Stili i kufijeve 1 Stili i kufijeve 2 Stili i kufijeve 3 Stili i kufijeve 4

Vlerat none dhe hidden nuk shfaqin asnjë kufi, megjithatë, ekziston një ndryshim i vogël midis këtyre dy vlerave. Në rastin e celulave të tabelës dhe bashkimit të kufirit, vlera none ka përparësi më të ulët, ndërsa vlera hidden ka përparësi më të lartë, nëse vendoset ndonjë kufi tjetër konfliktual.

Vlerat inset, outset, groove dhe ridge krijojnë një efekt 3D, i cili në thelb varet nga vlera e border-color. Kjo zakonisht arrihet duke krijuar një "hije" nga dy ngjyra që janë pak më të ndritshme dhe më të errëta se ngjyra e kufirit.

Shembull:

h1 {
    border-style: dotted;
}
p {
    border-style: ridge;
}

Shënim: Duhet të specifikoni një stil të kufirit në mënyrë që kufiri të shfaqet rreth një elementi, sepse stili i paracaktuar i kufirit është none. Ndërsa, gjerësia ose trashësia e kufirit të paracaktuar është medium, dhe ngjyra e paracaktuar e kufirit është e njëjtë me ngjyrën e tekstit.

Cilësimi i gjerësisë së kufirit

Vetia border-width specifikon gjerësinë e zonës kufitare. Është një veti e shkurtë për cilësimin e trashësisë në të katër anët e kufirit të një elementi në të njëjtën kohë.

Shembull:

p {
    border-style: dashed;
    border-width: 10px;
}

Këshillë: Gjerësia e kufirit mund të specifikohet duke përdorur çdo vlerë të gjatësisë, të tilla si px, em, rem, etj. Përveç njësive të gjatësisë, gjerësia e kufirit mund të specifikohet gjithashtu duke përdorur një nga tre fjalët kyçe: thin, medium dhe thick. Vlerat e përqindjes nuk lejohen.

Specifikimi i ngjyrës së kufirit

Vetia border-color specifikon ngjyrën e zonës kufitare. Kjo është gjithashtu një veti e shkurtë për cilësimin e ngjyrës në të katër anët e kufirit të një elementi.

Rregullat e mëposhtme të stilit shtojnë një kufi solid me ngjyrë të kuqe rreth paragrafëve.

Shembull:

p {
    border-style: solid;
    border-color: #ff0000;
}

Shënim: Vetia CSS border-width ose border-color nuk funksionojnë nëse përdoren të vetme. Përdorni vetinë border-style për të cilësuar më parë stilin e kufirit.

Vetia e shkurtë e kufirit

Vetia CSS border është një veti e shkurtë për cilësimin e një ose më shumë nga vetitë e kufirit border-width, border-style dhe border-color në një rregull të vetëm.

Shembull:

p {
    border: 5px solid #00ff00;
}

Nëse vlera për një veti individuale të kufirit hiqet ose nuk specifikohet gjatë cilësimit të vetisë së shkurtë të kufirit, vlera e paracaktuar për atë veti do të përdoret.

Për shembull, nëse vlera për vetinë border-color mungon ose nuk specifikohet kur cilësoni kufirin, vetia color e elementit do të përdoret si vlerë për ngjyrën e kufirit.

Në shembullin më poshtë, kufiri do të jetë një vijë e kuqe solide me gjerësi 5 piksell:

Shembull:

p {
    color: red;
    border: 5px solid;
}

Por, në rastin e border-style, mungesa e vlerës së saj do të pamundësoj shfaqjen e kufirit, sepse vlera e paracaktuar për këtë veti është none. Në shembullin vijues, nuk do të ketë kufi:

Shembull:

p {
    border: 5px #00ff00;
}

Vetitë e margjinës

Vetitë CSS të margjinës lejojnë të caktoni hapësirën rreth kufirit të kutisë së një elementi (ose skajit të kutisë së elementit, nëse nuk ka kufi të përcaktuar).

Margjina e një elementi nuk ndikohet nga ngjyra e sfondit, ajo është gjithmonë transparente. Sidoqoftë, nëse elementi prind ka ngjyrë në sfond, ai do të jetë i dukshëm përmes zonës së tij të margjinës.

Cilësimi i margjinave për anët individuale

Mund të specifikoni margjina për anët individuale të një elementi të tillë si ana e sipërme, e djathtë, e poshtme dhe e majtë duke përdorur përkatësisht vetitë CSS: margin-top, margin-right, margin-bottom dhe margin-left.

Shembull:

h1 {
    margin-top: 50px;
    margin-bottom: 100px;
}
p {
    margin-left: 75px;
    margin-right: 75px;
}

Vetitë e margjinës mund të specifikohen duke përdorur vlerat e mëposhtme:

  • gjatësia – specifikon margjinën në px, em, rem, pt, cm, etj.
  • % – specifikon margjinën në përqindje (%) të gjerësisë së elementit që përmban.
  • auto – ueb shfletuesi llogarit një margjinë të përshtatshme për t'u përdorur.
  • inherit – specifikon që margjina duhet të trashëgohet nga elementi prind.

Gjithashtu mund të specifikoni margjina me vlera negative në një element, p.sh., margin: -10px;, margin: -5%;, etj.

Vetia e shkurtë e margjinës

Vetia margin është një veti e shkurtë për të shmangur vendosjen e margjinës të secilës anë veçmas, d.m.th., margin-top, margin-right, margin-bottom dhe margin-left.

Shembull:

h1 {
    margin: 50px; /* zbatohen në të katër anët */
}
p {
    margin: 25px 75px; /* vertikal | horizontal */
}
div {
    margin: 25px 50px 75px; /* sipër | horizontal | poshtë */
}
hr {
    margin: 25px 50px 75px 100px; /* sipër | djathtas | poshtë | majtas */
}

Ky shënim i shkurtë mund të marrë një, dy, tre ose katër vlera të ndara me hapësirë.

  • Nëse specifikohet një vlerë, ajo zbatohet në të katër anët.
  • Nëse specifikohen dy vlera, vlera e parë aplikohet në anën e sipërme dhe të poshtme, dhe vlera e dytë zbatohet në anën e djathtë dhe të majtë të kutisë së elementit.
  • Nëse specifikohen tri vlera, vlera e parë zbatohet në krye, vlera e dytë zbatohet në anën e djathtë dhe të majtë dhe vlera e fundit zbatohet në pjesën e poshtme.
  • Nëse specifikohen katër vlera, ato zbatohen në pjesën e sipërme, në të djathtë, në pjesën e poshtme dhe në të majtë të kutisë së elementit përkatësisht në radhitjen e specifikuar.

Rekomandohet të përdorni vetinë e shkurtë, pasi kjo do t'ju ndihmojë të kurseni pak kohë duke shmangur shënimin shtesë dhe ta bëni kodin tuaj CSS më të lehtë për t'u ndjekur dhe mirëmbajtur.

Qendërzimi horizontal me margjina automatike

Vlera auto për vetinë e margjinës i tregon ueb shfletuesit që të llogarit automatikisht margjinën. Kjo zakonisht përdoret për të qendërzuar një element horizontalisht brenda një elementi më të madh.

Shembull:

div {
    width: 300px;
    background: gray;
    margin: 0 auto;
}

Rregullat e mësipërme të stilit lejojnë që elementi <div> të ketë 300 piksell nga e gjithë hapësira horizontale e disponueshme, ndërsa hapësira tjetër e mbetur do të ndahet në mënyrë të barabartë midis margjinës së majtë dhe të djathtë. Kësisoj elementi <div> do të qendërzohet horizontalisht.

Shfaqja (Display)

Vetia CSS Display

Specifikimi CSS definon vlerën e paracaktuar të shfaqjes për të gjithë elementët, p.sh. elementi <div> paraqitet si bllok (block), ndërsa elementi <span> paraqitet në linjë (inline).

Ndryshimi i vlerës së parazgjedhur të shfaqjes

Mbivendosja e vlerës së paracaktuar të shfaqjes së një elementi është një implikim i rëndësishëm i vetisë display. Për shembull, ndryshimi i një elementi të nivelit inline në element të nivelit bllok ose ndryshimi i elementit të nivelit bllok që do të shfaqet si një element i nivelit inline.

Shënim: Vetia CSS display është një nga vetitë më të fuqishme dhe më të dobishme në CSS. Mund të jetë shumë e dobishme për krijimin e ueb faqeve që duken në një mënyrë tjetër, por prapë duke ndjekur standardet e uebit.

Display block

Vlera block e vetisë display e detyron një element të sillet si një element i nivelit bllok, si është p.sh. elementi <div> ose <p>. Rregullat e stilit në shembullin vijues shfaqin elementet <span> dhe <a> si elementë të nivelit bllok:

Shembull:

span {
    display: block;
}
a {
    display: block;
}

Shënim: Ndryshimi i tipit të shfaqjes të një elementi ndryshon vetëm sjelljen e shfaqjes së një elementi, JO edhe tipin e elementit që është. Për shembull, një element inline i cilësuar si display: block; nuk lejohet të ketë një element bllok të vendosur brenda tij.

Display inline

Vlera inline e vetisë display bën që një element të sillet sikur të ishte element në linjë, për shembull siç janë elementet <span> ose <a>. Rregullat e stilit në shembullin vijues shfaqin elementet <p> dhe <li> si elemente të nivelit inline:

Shembull:

p {
    display: inline;
}
ul li {
    display: inline;
}

Display inline-block

Vlera inline-block e vetisë display bën që një element të gjenerojë një kuti bllok që do të ketë përmbajtje përreth d.m.th. në të njëjtën linjë me përmbajtjen e afërt. Rregullat e mëposhtme të stilit shfaqin elementet <div> dhe <span> si bllok në linjë (inline-block):

Shembull:

div {
    display: inline-block;
}
span {
    display: inline-block;
}

Display none

Vlera none vetisë display thjesht nuk bën që një element të gjenerojë fare një kuti. Elementet e fëmijëve nuk gjenerojnë gjithashtu asnjë kuti, edhe nëse vetia e tyre display është cilësuar në ndonjë vlerë tjetër. Dokumenti paraqitet sikur elementi të mos ekzistonte në pemën e dokumentit.

Shembull:

h1 {
    display: none;
}
p {
    display: none;
}

Shënim: Vlera none për vetinë display nuk krijon një kuti të padukshme – por nuk krijon fare kuti. Padukshmëria e një elementi bëhet me deklaratën visibility: hidden;

Pozicionimi

Metodat e pozicionimit në CSS

Pozicionimi i elementeve në mënyrë të përshtatshme në ueb faqe është një domosdoshmëri për një dizajn të mirë të paraqitjes. Ekzistojnë disa metoda në CSS që mund të përdoren për pozicionimin e elementeve.

Pozicionimi statik

Një element i pozicionuar në mënyrë statike pozicionohet gjithmonë sipas rrjedhës normale të faqes. Elementet HTML kanë pozicion statik me parazgjedhje. Elementet e pozicionuara në mënyrë statike nuk ndikohen nga këto veti: top, bottom, left, right dhe z-index.

Shembull:

.box {
    padding: 20px;
    background: #7dc765;
}

Pozicionimi relativ

Një element relativisht i pozicionuar është i pozicionuar në krahasim me pozicionin e tij normal.

Në skemën e pozicionimit relativ, pozicioni i kutisë së elementit llogaritet sipas rrjedhës normale. Pastaj kutia zhvendoset nga ky pozicion normal në përputhje me vetitë – top ose bottom dhe/ose left ose right.

Shembull:

.box {
    position: relative;
    left: 100px;
}

Shënim: Një element i pozicionuar në mënyrë relative mund të zhvendoset dhe të mbivendosë elementë të tjerë, por ai e mban hapësirën e rezervuar fillimisht për të në rrjedhën normale.

Pozicionimi absolut

Një element i pozicionuar absolutisht është i pozicionuar në raport (krahasuar) me elementin e parë prind që ka një pozicion tjetër përveç atij statik. Nëse nuk gjendet ndonjë element i tillë, ai do të pozicionohet në ueb faqe në krahasim me këndin 'sipër-majtas' të dritares së shfletuesit. Cilësimet e kutisë më tej mund të specifikohen duke përdorur një ose më shumë veti: top, right, bottom dhe left.

Elementet e pozicionuar në mënyrë absolute nxirren jashtë rrjedhës normale tërësisht dhe kështu nuk zënë vend kur vendosen elemente fëmijë. Sidoqoftë, mund të mbivendoset elementë të tjerë në varësi të vlerës së vetisë z-index. Gjithashtu, një element i pozicionuar absolutisht mund të ketë margjina, dhe ato nuk shemben me asnjë margjinë tjetër.

Shembull:

.box {
    position: absolute;
    top: 200px;
    left: 100px;
}

Pozicionimi i fiksuar

Pozicionimi i fiksuar është një nënkategori e pozicionimit absolut.

Dallimi i vetëm është se, një element i pozicionuar në mënyrë fikse është i fiksuar në lidhje me pamjen e shfletuesit dhe nuk lëviz.

Shembull:

.box {
    position: fixed;
    top: 200px;
    left: 100px;
}

Shënim: Gjithashtu ekziston në standardin CSS3 edhe pozicionimi ngjitës (sticky), pra,
position: sticky;

Rregullimi i elementeve në shtresa duke përdorur vetinë z-index

Zakonisht faqet HTML konsiderohen dy-dimensionale, sepse teksti, imazhet dhe elementët e tjerë janë rregulluar në faqe që nuk mbivendosen njëra mbi tjetrën. Sidoqoftë, përveç pozicioneve të tyre horizontale dhe vertikale, kutitë mund të radhiten përgjatë boshtit z, d.m.th. njëra mbi tjetrën duke përdorur vetinë CSS z-index. Kjo veti specifikon nivelin e një kutie, vlera e pozicionit të së cilës është një nga këto: absolute, fixed ose relative.

Pozicioni i boshtit z të secilës shtresë shprehet si një numër i plotë që përfaqëson radhën e paraqitjes. Një element me një z-index më të madh e mbulon një tjetër element me një z-index më të vogël.

Vetia z-index mund t'ju ndihmojë të krijoni ueb faqe më komplekse.

Shembull:

.box {
    position: absolute;
    left: 10px;
    top: 20px;
    z-index: 2;
}

Media Queries në CSS3

Media Queries në CSS ju mundësojnë të formatoni dokumentet tuaja që të paraqiten në mënyrë korrekte në madhësi të ndryshme të ekraneve.

Media Queries dhe ueb dizajni responziv

Media Queries ju lejojnë të rregulloni prezantimin e ueb faqeve për numër më të madh të pajisjeve siç janë telefonat e mençur, tabletët, desktopët, etj. pa bërë ndonjë ndryshim në shënime. Një media query përbëhet nga një lloj media dhe asnjë apo më shumë shprehje që përputhen me llojin dhe kushtet e një veçorie partikulare të medias, siç janë gjerësia e pajisjes ose rezolucioni i ekranit.

Meqenëse media query është një shprehje logjike, ajo mund të jetë e saktë (true) ose jo e saktë (false). Rezultati i pyetjes do të jetë e saktë nëse lloji i medias i specifikuar në pyetjen media përputhet me llojin e pajisjes në të cilën dokumenti shfaqet, si dhe të gjitha shprehjet në pyetjen e medias përputhen. Kur një pyetje e medias është e saktë, rregullat e stilit të lidhura me atë zbatohen në pajisjen e synuar. Më poshtë keni një shembull të thjeshtë të media query për pajisjet standarde.

Shembull:

/* Telefonat e mençur (portret dhe peisazh) ---------- */
@media screen and (min-width: 320px) and (max-width: 480px){
    /* stilet */
}
/* Telefonat e mençur (portret) ---------- */
@media screen and (max-width: 320px){
    /* stilet */
}
/* Telefonat e mençur (peisazh) ---------- */
@media screen and (min-width: 321px){
    /* stilet */
}
/* Tabletë, iPad (portret dhe peisazh) ---------- */
@media screen and (min-width: 768px) and (max-width: 1024px){
    /* stilet */
}
/* Tabletë, iPad (portret) ---------- */
@media screen and (min-width: 768px){
    /* stilet */
}
/* Tabletë, iPad (peisazh) ---------- */
@media screen and (min-width: 1024px){
    /* stilet */
}
/* Desktop and laptop ---------- */
@media screen and (min-width: 1224px){
    /* stilet */
}
/* Ekranet e mëdha ---------- */
@media screen and (min-width: 1824px){
    /* stilet */
}

Këshillë: Media queries janë një mënyrë e shkëlqyeshme për të krijuar paraqitje responsive (të përshtatshme). Duke përdorur media queries mund ta personalizoni ueb faqen tuaj ndryshe për përdoruesit që përdorin pajisje si telefona të mençur ose tabletë pa ndryshuar përmbajtjen aktuale të faqes.

Ndryshimi i gjerësisë së kolonës bazuar në madhësinë e ekranit

Mund të përdorni CSS media query për ndryshimin e gjerësisë së ueb faqes dhe elementëve të saj për të ofruar një eksperiencë më të mirë të pamjes për përdoruesit në pajisje të ndryshme.

Rregullat e mëposhtme të stilit automatikisht do të ndryshojnë gjerësinë e elementit të kontejnerit bazuar në madhësinë e ekranit ose pamjen e shikimit (viewport). Për shembull, nëse gjerësia e pamjes së shikimit është më e vogël se 768 piksell ajo do të mbulojë 100% të gjerësisë së pamjes së shikimit, nëse është më e madhe se 768 piksell por më e vogël se 1024 piksell do të jetë e gjerë 750 piksell, etj.

Shembull:

.kontejneri {
    margin: 0 auto;
    background: #f2f2f2;
    box-sizing: border-box;
}
/* Telefona mobil (portret dhe peisazh) ---------- */
@media screen and (max-width: 767px){
    .kontejneri {
        width: 100%;
        padding: 0 10px;
    }
}
/* Tabletë, iPad (portret dhe peisazh) ---------- */
@media screen and (min-width: 768px) and (max-width: 1023px){
    .kontejneri {
        width: 750px;
        padding: 0 10px;
    }
}
/* Desktop dhe laptop me rezolucion të ultë ---------- */
@media screen and (min-width: 1024px) {
    .kontejneri {
        width: 980px;
        padding: 0 15px;
    }
}
/* Desktop dhe laptop me rezolucion të lartë ---------- */
@media screen and (min-width: 1280px) {
    .kontejneri {
        width: 1200px;
        padding: 0 20px;
    }
}

Shënim: Mund të përdorni vetinë CSS3 box-sizing në elemente për të krijuar paraqitje më intuitive dhe fleksibile me shumë më pak përpjekje.

Ndryshimi i faqeve bazuar në madhësinë e ekranit

Gjithashtu mund të përdorni CSS media query për të bërë paraqitjen tuaj të uebsajtit me shumë kolona më të adaptueshme dhe të përshtatshme për pajisje të ndryshme duke bërë pak ndryshim në kodin CSS.

Rregulli i mëposhtëm i stilit do të krijojë një paraqitje me dy kolona nëse madhësia e pamjes është më e madhe ose e barabartë me 768 piksell, por nëse është më e vogël, atëherë do të jepet paraqitja me vetëm një kolonë.

Shembull:

.kolona {
    width: 48%;
    padding: 0 15px;
    box-sizing: border-box;
    background: #93dcff;
    float: left;
}
.kontejneri.kolona:first-child{
    margin-right: 4%;
}
@media screen and (max-width: 767px){
    .kolona {
        width: 100%;
        padding: 5px 20px;
        float: none;
    }
    .kontejneri.kolona:first-child{
        margin-right: 0;
        margin-bottom: 20px;
    }
}
Përmbajtja