Kõigile elementidele saate anda ümardatud nurgad, rakendades border-radius
CSS-i kaudu. Märkate ainult siis, kui tegemist on värvimuutusega. Näiteks kui elemendi taustavärv või ääris erineb selle elemendist, mille see on ületanud. Lihtsad näited:
#example-one ( border-radius: 10px; background: #BADA55; ) #example-two ( border-radius: 10px; border: 3px solid #BADA55; )
See pole tõesti enam vajalik, kuid absoluutselt parima võimaliku brauseri toe jaoks võiksite kasutada eesliidet -webkit-
ja -moz-
:
.round ( /* Safari 3-4, iOS 1-3.2, Android 1.6- */ -webkit-border-radius: 12px; /* Firefox 1-3.6 */ -moz-border-radius: 12px; /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */ border-radius: 12px; )
Pange tähele nende omaduste järjekorda: esimesena on toodud müüja eesliited ja viimasena loetletud eesliiteta „spec” versioon. See on õige viis seda teha. Piiri raadius on eriti hea näide, miks me seda niimoodi teeme. Kasutamise veidi keerukamas versioonis border-radius
(kus edastate ühe asemel kaks väärtust) -webkit-
teeks vanem hankija eesliide hoopis midagi muud kui „spec” versioon. Nii et kui kopeerime / kleepime samad väärtused pimesi kõigile kolmele atribuudile, näeme brauserite vahel erinevaid tulemusi. Lisateave selle stsenaariumi kohta. Pikaajalise järjepidevuse tagamiseks on kõige parem loetleda „spec” versioon viimasena.
Tänapäeval on päris realistlik loobuda eesliidetest ja kasutada lihtsalt piiriraadiust, nagu siin arutletud.
Kui elemendil on pildi taust, lõigatakse see ümardatud nurgas loomulikult:
#example-three ( border-radius: 20px; background: url(bglines.png.webp); /* will get clipped */ )
Mõnikord näete background-color
"lekkimist" väljaspool piiri, kui see border-radius
on olemas. (vt). Selle vältimiseks kasutage taustalõiku:
.round ( border-radius: 10px; /* Prevent background color leak outs */ -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; )
Ainult ühe väärtusega border-radius
on sama elemendi kõigis neljas nurgas. Kuid see ei pea nii olema. Soovi korral saate iga nurga eraldi määrata:
.round ( border-radius: 5px 10px 15px 20px; /* top left, top right, bottom right, bottom left */ )
Samuti saate määrata kaks või kolm väärtust. MDN selgitab seda hästi:
Kui on määratud üks väärtus, kehtib see raadius kõigi nelja nurga jaoks .
Kui on määratud kaks väärtust, kehtib esimenetop-left
ja bottom-right
nurk, teine kehtib top-right
ja bottom-left
nurga kohta.
Neli väärtusi kohaldatakse top-left
, top-right
, bottom-right
, bottom-left
nurgas selles järjekorras.
Kolm väärtust: teine väärtus kehtib top-right
ja ka bottom-left
.
#example-four ( border-radius: 5px 20px 5px; background: #BADA55; )
Samuti võite määrata raadiused, mille võrra nurk on ümardatud. Teisisõnu, ümardamine ei pea olema täiesti ümmargune, see võib olla elliptiline. Selleks kasutatakse kaldkriipsu (“/”) kahe väärtuse vahel.
#example-five ( border-radius: 10px/30px; /* horizontal radius / vertical radius */ ) #example-six ( border-radius: 30px/10px; /* horizontal radius / vertical radius */ )
Märkus: Firefox toetab elliptilisi piire ainult 3.5+ ja vanemates WebKiti brauserites (nt Safari 4) käsitleb valet „40px 10px” valesti kui „40px / 10px”.
Võite määrata väärtuse border-radius
protsentides. See on eriti kasulik, kui soovite luua ringi või ellipsikuju, kuid seda saab kasutada igal ajal, kui soovite, et piiri raadius oleks otseselt korrelatsioonis elementide laiusega.
#example-seven, #example-eight ( border-radius: 50%; ) #example-eight ( width: 200px; )
Märkus . Safari piirjoone raadiuse protsendiväärtused on toetatud ainult versioonides 5.1+. Operas, toetatud ainult versioonis 11.5+.
Siin on iga üksik vara koos müüja eesliidetega:
.round ( -webkit-border-top-left-radius: 1px; -webkit-border-top-right-radius: 2px; -webkit-border-bottom-right-radius: 3px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-topleft: 1px; -moz-border-radius-topright: 2px; -moz-border-radius-bottomright: 3px; -moz-border-radius-bottomleft: 4px; border-top-left-radius: 1px; border-top-right-radius: 2px; border-bottom-right-radius: 3px; border-bottom-left-radius: 4px; )
Märkus. Kõigil nendel väärtustel võib olla ka tühikutega eraldatud väärtus, näiteks „5px 10px”, mis käitub lühikese (horisontaalse raadiusega (tühik) vertikaalse raadiusena) nagu kaldkriipsuga eraldatud väärtus.
Ressursid
- Kiire tööriist piiri raadiuse koodi genereerimiseks
- Mozilla dokumendid
- Täiusliku raadiuse otsimisel
- Kas peame enam ette kandma piiri raadiuse?
Erinevate omaduste ja väärtustega mängimiseks on väike asi:
Vaadake Code Cenil Chris Coyieri (@chriscoyier) pliiatsit kogu piiri raadiuses.
Brauseri tugi
Need brauseri tugiandmed pärinevad Caniuse'ilt, millel on üksikasjalikum teave. Number näitab, et brauser toetab selle versiooni ja uuemat funktsiooni.
Töölaud
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
4 * | 3 * | 9 | 12 | 3,1 * |
Mobiil / tahvelarvuti
Android Chrome | Android Firefox | Android | iOS-i Safari |
---|---|---|---|
88 | 85 | 2,1 * | 3,2 * |