Avastage CSS-i loogilisi nurgaraadiuse omadusi, et luua tundlikke ja kirjutusviisidest teadlikke disaine. Õppige neid rakendama praktiliste näidetega rahvusvahelistele veebisaitidele.
CSS-i loogilised nurgaraadiused: Kohanemine kirjutusviisidega globaalseks disainiks
Veebidisaini areneval maastikul on ülioluline luua paigutusi, mis kohanduvad sujuvalt erinevate keelte, kultuuride ja kirjutusviisidega. Traditsioonilised CSS-i omadused tuginevad sageli füüsilistele mõõtmetele (top, right, bottom, left), mis võib muutuda problemaatiliseks keelte puhul, mida loetakse paremalt vasakule (RTL) või ülevalt alla.
CSS-i loogilised omadused ja väärtused pakuvad lahenduse, tuues sisse voo ja suunapõhised kontseptsioonid füüsiliste servade asemel. Nende võimsate tööriistade hulgas saab border-radius
'e perekond oma loogiliste vastetega uut paindlikkust. See artikkel süveneb CSS-i loogiliste nurgaraadiuse omaduste maailma, selgitades nende funktsionaalsust ja demonstreerides nende väärtust tõeliselt globaalsete veebikogemuste loomisel.
Loogiliste omaduste vajalikkuse mõistmine
Ajalooliselt on CSS-i omadused olnud seotud füüsiliste mõõtmetega. Näiteks margin-left
lisab alati ruumi elemendi vasakule küljele. See töötab hästi vasakult paremale (LTR) keelte, nagu inglise keel, puhul, kuid muutub vähem intuitiivseks RTL-keeltes, nagu araabia või heebrea keel, kus „vasak” külg on tegelikult visuaalselt parem.
Kujutage ette veebisaiti, mille kĂĽlgriba on LTR-keeltes paigutatud vasakule. Kasutades margin-left
ja float: left
, toimib kõik suurepäraselt. Kui aga veebisait tõlgitakse araabia keelde, peaks külgriba ideaalis ilmuma paremale. Käsitsi margin-left
'i vahetamine margin-right
'iks ja float: right
'iks lisab keerukust ja hoolduskoormust.
Loogilised omadused lahendavad selle probleemi, kasutades mõisteid nagu 'start' (algus) ja 'end' (lõpp), mis kohanduvad automaatselt vastavalt kirjutusviisile. See lihtsustab oluliselt paigutuste loomist, mis töötavad korrektselt erinevates keeltes ja kirjasüsteemides.
CSS-i loogiliste nurgaraadiuse omaduste tutvustus
Traditsiooniline border-radius
omadus võimaldab teil ümardada elemendi nurki. See tugineb aga füüsilistele suundadele nagu border-top-left-radius
, border-top-right-radius
, border-bottom-right-radius
ja border-bottom-left-radius
. CSS-i loogiliste omaduste ja väärtuste spetsifikatsioon tutvustab uusi, kirjutusviisist teadlikke omadusi, mis pakuvad suuremat paindlikkust ja kohanemisvõimet:
border-start-start-radius
: Määrab nurgaraadiuse elemendi algus-algus nurgale.border-start-end-radius
: Määrab nurgaraadiuse elemendi algus-lõpp nurgale.border-end-start-radius
: Määrab nurgaraadiuse elemendi lõpp-algus nurgale.border-end-end-radius
: Määrab nurgaraadiuse elemendi lõpp-lõpp nurgale.
Siin on 'start' (algus) ja 'end' (lõpp) suhtelised sisu kirjutusviisi ja suunaga. LTR-keeles vastab 'start' vasakule ja 'end' paremale. RTL-keeles vastab 'start' paremale ja 'end' vasakule. Samamoodi vastab vertikaalsetes kirjutusviisides 'start' ülemisele ja 'end' alumisele osale.
Praktilised näited ja kasutusjuhud
Uurime mõningaid praktilisi näiteid, et illustreerida, kuidas neid loogilisi nurgaraadiuse omadusi saab kasutada tundlike ja kirjutusviisist teadlike disainide loomiseks.
Näide 1: Ümarad nupud, mis kohanduvad kirjutusviisiga
Kujutage ette ĂĽmarate nurkadega nuppu. Me tahame, et ĂĽmardus ilmuks esi- ja tagaservale, olenemata kirjutusviisist.
HTML:
<button class="button">Click Me</button>
CSS:
.button {
border-start-start-radius: 10px;
border-start-end-radius: 10px;
border-end-start-radius: 10px;
border-end-end-radius: 10px;
/* Või kasutades lühendit: */
border-radius: 10px;
}
[dir="rtl"] .button {
/* Muudatusi pole vaja! Veebilehitseja tegeleb kirjutusviisiga kohanemisega */
}
Selles näites ümardatakse ülemine-vasak ja ülemine-parem (LTR-is) või ülemine-parem ja ülemine-vasak (RTL-is) nurk, olenemata sellest, kas leht on LTR või RTL. Erinevate kirjutusviiside jaoks pole vaja eraldi CSS-reegleid kirjutada. Veebilehitseja rakendab stiile arukalt dir
atribuudi alusel.
Näide 2: Dünaamilise "saba" paigutusega jutumullid
Jutumullid on levinud kasutajaliidese element. Tavaliselt osutab mulli "saba" saatja suunas. Loogiliste omaduste abil saame hõlpsasti kohandada mulli välimust vastavalt sellele, kas sõnum on kasutajalt või teiselt kontaktilt, ja arvestada ka kirjutusviisiga.
HTML:
<div class="chat-bubble user">Hello!</div>
<div class="chat-bubble other">Hi there!</div>
CSS:
.chat-bubble {
background-color: #eee;
padding: 10px;
margin-bottom: 10px;
border-radius: 10px;
}
.chat-bubble.user {
border-start-start-radius: 0; /* Eemalda raadius ülevalt vasakult (LTR) või ülevalt paremalt (RTL) */
}
.chat-bubble.other {
border-start-end-radius: 0; /* Eemalda raadius ülevalt paremalt (LTR) või ülevalt vasakult (RTL) */
}
/* RTL-keelte puhul peegeldab veebilehitseja automaatselt algus/lõpp punkte */
/* Täiendavat CSS-i pole vaja */
Selle stsenaariumi kohaselt eemaldab .user
klass nurgaraadiuse 'start-start' nurgalt, luues efektiivselt "saba". LTR-keelte puhul on see ülemine vasak nurk. RTL-keelte puhul tõlgendab veebilehitseja 'start-start' automaatselt ülemiseks paremaks nurgaks, tagades, et "saba" on alati õigesti paigutatud, ilma et oleks vaja eraldi RTL-spetsiifilisi stiile.
Näide 3: Nurgarõhutusega kaardid
Oletame, et tahame esile tõsta kaardi teatud nurka, et tähistada esiletõstetud toodet. Loogiliste omaduste kasutamine muudab selle uskumatult paindlikuks.
HTML:
<div class="card featured">
<h2>Product Title</h2>
<p>Product description.</p>
</div>
CSS:
.card {
border: 1px solid #ccc;
padding: 20px;
border-radius: 10px;
}
.card.featured {
border-end-end-radius: 0; /* Eemalda raadius alt paremalt (LTR) või alt vasakult (RTL) */
border-top: 3px solid red;
border-start-start-radius:0; /*Eemalda ĂĽlemine vasak raadius*/
}
.featured
klass eemaldab raadiuse 'end-end' nurgalt, mis on LTR-is alumine parem ja RTL-is alumine vasak nurk. Seda efekti peegeldab veebilehitseja RTL-keelte jaoks automaatselt.
Loogiliste nurgaraadiuse omaduste eelised
- Lihtsustatud rahvusvahelistamine: Kirjutage vähem CSS-i ja vältige eraldi stiililehtede haldamise keerukust erinevate kirjutusviiside jaoks.
- Parem tundlikkus: Looge paigutusi, mis kohanduvad sujuvamalt erinevate ekraanisuuruste ja -orientatsioonidega.
- Parem hooldatavus: Loogilised omadused toovad kaasa puhtama ja lühema koodi, mida on lihtsam mõista ja hooldada.
- Parem ligipääsetavus: Paigutust ja suunda õigesti käsitledes loote kaasavama kogemuse kõikide keelte ja kultuuride kasutajatele.
- Tulevikukindlus: Kuna CSS areneb pidevalt, tagab loogiliste omaduste kasutuselevõtt, et teie kood jääb asjakohaseks ja kohanemisvõimeliseks.
Veebilehitsejate tugi ja polĂĽfillid
Enamik kaasaegseid veebilehitsejaid pakub suurepärast tuge CSS-i loogilistele omadustele ja väärtustele, sealhulgas loogilistele nurgaraadiuse omadustele. Vanemate veebilehitsejate puhul, millel puudub natiivne tugi, saate ühilduvuse tagamiseks kasutada polüfille. Autoprefixer saab sageli hakkama vajalike teisendustega, et tagada teie koodi toimimine laiemas veebilehitsejate valikus.
Alati on hea tava kontrollida praegust veebilehitsejate tuge ressurssidest nagu Can I use, enne kui neid omadusi tootmiskeskkonnas rakendada.
Parimad praktikad ja kaalutlused
- Kasutage loogilisi omadusi järjepidevalt: Kui hakkate kasutama loogilisi omadusi, proovige neid järjepidevuse huvides rakendada kogu oma projektis. Loogiliste ja füüsiliste omaduste segamine võib põhjustada segadust ja ootamatuid tulemusi.
- Testige põhjalikult: Testige oma veebisaiti erinevates kirjutusviisides (LTR, RTL ja potentsiaalselt vertikaalne), et tagada paigutuse korrektne kohanemine.
- Arvestage `direction` atribuudiga: Atribuut `direction` (
dir="ltr"
võidir="rtl"
) on oluline teie sisu kirjutusviisi näitamiseks. Veenduge, et see oleks õigesti määratud<html>
elemendil või teie lehe konkreetsetel osadel. - Kasutage koos teiste loogiliste omadustega: Kombineerige loogilisi nurgaraadiuse omadusi teiste loogiliste omadustega nagu
margin-inline-start
,padding-block-end
jainset-inline-start
, et luua tõeliselt kirjutusviisist teadlikke paigutusi. - Ligipääsetavuse testimine: Veenduge, et teie paigutused on ligipääsetavad, kasutades ekraanilugejaid ja muid abitehnoloogiaid. Õige suund on kriitilise tähtsusega kasutajatele, kes neile tööriistadele tuginevad.
Täpsemad tehnikad ja lühendid
Nagu ka standardse `border-radius` omaduse puhul, saate kasutada lühendit, et määrata mitu loogilist nurgaraadiust korraga:
border-radius: border-start-start-radius border-start-end-radius border-end-end-radius border-end-start-radius;
Võite kasutada ka ühte, kahte, kolme või nelja väärtust, täpselt nagu standardse `border-radius` omaduse puhul. Nende väärtuste tõlgendamine järgib samu reegleid:
- Üks väärtus: Kõigil neljal nurgal on sama raadius.
- Kaks väärtust: Esimene väärtus kehtib algus-algus ja lõpp-lõpp nurkadele ning teine väärtus kehtib algus-lõpp ja lõpp-algus nurkadele.
- Kolm väärtust: Esimene väärtus kehtib algus-algus nurgale, teine väärtus kehtib algus-lõpp ja lõpp-algus nurkadele ning kolmas väärtus kehtib lõpp-lõpp nurgale.
- Neli väärtust: Iga väärtus kehtib kindlale nurgale järjekorras: algus-algus, algus-lõpp, lõpp-lõpp, lõpp-algus.
Näiteks:
border-radius: 10px; /* Kõigil nurkadel on raadius 10px */
border-radius: 10px 20px; /* algus-algus ja lõpp-lõpp: 10px, algus-lõpp ja lõpp-algus: 20px */
border-radius: 10px 20px 30px; /* algus-algus: 10px, algus-lõpp ja lõpp-algus: 20px, lõpp-lõpp: 30px */
border-radius: 10px 20px 30px 40px; /* algus-algus: 10px, algus-lõpp: 20px, lõpp-lõpp: 30px, lõpp-algus: 40px */
Kokkuvõte: Võtke omaks loogilised omadused globaalse veebi jaoks
CSS-i loogilised omadused ja väärtused, sealhulgas loogilised nurgaraadiuse omadused, on olulised tööriistad tõeliselt globaalsete ja ligipääsetavate veebikogemuste loomiseks. Neid omadusi mõistes ja kasutades saate oluliselt lihtsustada oma disainide kohandamist erinevatele keeltele, kultuuridele ja kirjutusviisidele.
Kuna veeb muutub üha globaalsemaks, on ülioluline omaks võtta parimad praktikad, mis tagavad kaasavuse ja ligipääsetavuse kõigile kasutajatele. Võtke omaks loogilised omadused, testige põhjalikult ja looge veebisaite, mis töötavad sujuvalt erinevates keeltes ja kirjasüsteemides.
Füüsilistest mõõtmetest eemaldudes ja loogilisi kontseptsioone omaks võttes loote paremini hooldatavaid, tundlikumaid ja kasutajasõbralikumaid veebisaite, mis on suunatud mitmekesisele globaalsele publikule.
Lisamaterjalid
- MDN veebidokumendid: CSS-i loogilised omadused ja väärtused
- W3C CSS-i loogilised omadused ja väärtused, 1. tase
- Can I use (veebilehitsejate toe kontrollimiseks)