Weboldalakon sokáig nem volt egyszerű lekerekített sarkú tarületeket definiálni - pedig igény az lett volna rá. Ezért több tucat módja alakult ki annak, hogyan lehet hasonló hatást kelteni. Az IE9-ben implementált CSS3 border-radius megjelenésével ennek vége! Mostantól nagyon egyszerű tényleg lekerekített sarkokat definiálni, ráadásul szabványosan.
A fentebb látható lekerekített sarkú kép valójában egy lekerekített sarkú div, háttérképpel (illetve egy screenshot róla).
Kiindulókód - még szögletes sarkokkal
A kiinduló kód valami ilyesmi:
DOCTYPE html>
<html>
<head>
<title>Lekerekített sarkoktitle>
<link rel="stylesheet" type="text/css" href="style.css" />
head>
<body>
<div class="wrapper">
div>
body>
html>
és:
.wrapper
{
width : 550px;
height : 118px;
overflow : hidden;
background-image : url(hatter.jpg);
border : 0px solid transparent;
}
Ez egy sima szögletes div, a szögletes háttérképpel:
A sarkok lekerekítése
A sarkokat a CSS3-ban definiált border-radius css elemmel lehet megadni. Mi a .wrapper osztályú diven állítjuk be ezt a tulajdonságot, mégpedig 25 pixelre. Így a div sarkai egy 25 pixel sugarú körív vonalát fogják felvenni:
.wrapper
{
width : 550px;
height : 118px;
overflow : hidden;
background-image : url(hatter.jpg);
border : 0px solid transparent;
border-radius: 25px;
}
Ezután a div szép lekerekített sarkokkal jelenik meg IE9-ben.
Nem CSS3 kompatibilis böngészők
Nem minden böngésző CSS3 kompatibilis még, vagy nem teljesen. De sok böngésző tudja a lekerekített sarkokat, csak valamilyen más, saját tulajdonságnevet használ a megadására. Amint ezekből a böngészőkből kijött/kijön az az újabb verzió, mely a szabványos nevet támogatja, figyelmen kívül fogják hagyni a nem szabványos nevű beállítást.
Hogy a lekerekített sarkok fierfoxban és chromeban is jól jelenjenek meg,érdemes a CSS további apró bővítése:
.wrapper
{
width : 550px;
height : 118px;
overflow : hidden;
background-image : url(hatter.jpg);
border : 0px solid transparent;
/* szabvanyos (IE9) */
border-radius: 25px;
/* firefox */
-moz-border-radius: 25px;
/* chrome */
-webkit-border-raidus: 25px;
}
Ezzel gyakorlatilag a böngészők nagy többségével kompatibilis kódot készítettünk:
