Vítám vás opět u seriálu o nových funkcích jazyků HTML, CSS a JS, který dnes doplním o další vlastnost z CSS3, a tou je border-radius, neboli volně přeloženo, podle funkce: zaoblené hrany elementů. Border rádius je velmi jednoduchá a šikovná vlastnost jazyka CSS, která nám umožňuje se posunout zase o kousek dál ve tvorbě "pure-css" grafiky na webových stránkách, tedy grafiky čistě složené z css stylů, bez potřeby obrázkových prvků.
Vlastnost border-radius popíšu jen v krátkosti, jelikož na ní není nic složitého. Tento díl zaměřím spíše na ukázky využitelnosti této vlastnosti v praxi a možnosti, které jsou díky zaobleným rohům dosažitelné.
Vlastnost zapisujeme do stylu elementu, jako všechny vlastnosti CSS. Hodnoty poloměru zaoblení zadáváme v pixelech (px) nebo v procentech (%). Pokud chceme poloměr zaoblení pro všechny rohy stejný, zapíšeme vlastnosti pouze jednu hodnotu, společnou pro všechny rohy: border-radius: 6px;. Pokud chceme zadávat pro každý roh zvlášť, zapisujeme čtyři hodnoty oddělené mezerou takto: border-radius: hornilevy hornipravy dolnipravy dolnilevy;. Toto je však zkrácený zápis vlastnosti, takže rozdílné hodnoty rohů můžeme zapisovat i v nezkrácené formě.
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
Další silnou zbraní této vlastnosti, je zaoblení podle elipsy. Pokud chceme zadávat zaoblení podle elipsy, stačí zapsat délku hlavní osy a za lomítko délku vedlejší osy, takto:border-radius: hlavniosa / vedlejsiosa;. Stejně tak to lze zapisovat i ve zkráceném zápisu rozdílně pro různé hrany: border-radius: hlavni1 hlavni2 hlavni3 hlavni4 / vedlejsi1 vedlejsi2 vedlejsi3 vedlejsi4;.
V následující části bych chtěl ukázat, co všechno lze vytvořit v CSS3 za pomoci jeho vlastností a border-radius.
Kruh
#kruh {
width:200px;
height:200px;
border-radius:100px;
}
Čtverec
#ctverec {
width:200px;
height:200px;
}
Elipsa
#elipsa {
width:200px;
height:124px;
border-radius:200px/124px;
}
Trojúhelník
#trojuhelnik1 {
width:0px;
height:0px;
border-bottom:120px solid blue;
border-left:60px solid transparent;
border-right:60px solid transparent;
}
#trojuhelnik2 {
width:0px;
height:0px;
border-top:120px solid blue;
border-left:60px solid transparent;
border-right:60px solid transparent;
}
#trojuhelnik3 {
width:0px;
height:0px;
border-left:120px solid blue;
border-top:60px solid transparent;
border-bottom:60px solid transparent;
}
#trojuhelnik4 {
width:0px;
height:0px;
border-right:120px solid blue;
border-top:60px solid transparent;
border-bottom:60px solid transparent;
}
Lichoběžník
#lichobeznik {
width:80px;
height:0px;
border-bottom:80px solid #00CCFF;
border-left:60px solid transparent;
border-right:60px solid transparent;
}
Vajíčko
#vajicko {
height:100px;
width:80px;
height:100px;
border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
}
Toto lze vytvářet pomocí border-radius, nalezl jsem šikovná řešení i pro jiné tvary, a tak jsem do článku zařadil například i trojúhelník, přesto že se ho přímo border-radius netýká. Tímto bych završil náš dnešní článek a přeji mnoho zdarů při vytváření webových stránek.