Yuvarlak Kenarlı Kutular

CSS ile XHTML kodlaması yaparken daha çok köşeli kutular kullanılır. Ancak CSS ile yuvarlak kenarlı kutularda yapabiliriz. CSS ile yuvarlak kenarlı kutu yapmanın bir çok tekniği vardır. Her tekniğin yerine ve durumuna göre avantajları olabilir. Biz burda en kolay ve en kullanışlılarını öğrenmeye çalışacağız.

Sabit Genişlikte Yuvarlak Kenarlı Kutu Oluşturmak

Sabit Genişlikte Yuvarlak Kenarlı Kutular en basit oluşturulabilen kutulardır. İçeriğin uzaması veya kısalması durumunda genişlik sabit kalır yükseklik değişkendir. İki adet resim kutuyu oluşturmamız için yeterlidir. Birini üst kısma diğerini alt kısıma yerleştirerek yuvarlak kutumuzu oluşturabiliriz.

200px genişliğinde bir yuvarlak kenarlı kutu olşuturmak için ilk önce alta ve üste koyacağımız kutuları hazırlayalım.

ust_yuvarlak.gif

alt_yuvarlak.gif

XHTML kodumuzu yazarsak:

<div class="yuvarlakKutu">
    <h2>Başlık</h2>
    <p>İçerik</p>
</div>

alt_yuvarlak.gif resmini .yuvarlakKutu kapsayıcı katmanının alt kısımına dayalı olarak zemin resmi olarak atıyoruz. Ayrıca .yuvarlakKutu zemin resminin bitiminden itibaren zemin dolgu rengini(#84E0FF) atıyoruz.

.yuvarlakKutu {
    width: 200px;
    background: #84E0FF url(images/alt_yuvarlak.gif) no-repeat left bottom;
}
.yuvarlakKutu h2 {
	background: url(images/ust_yuvarlak.gif) no-repeat left top;
}

Başlık ve içeriğinin kutunun kenarlarına yapışmaması için padding değerlerini ayarlamalıyız:

.yuvarlakKutu h2 {
	padding: 10px 20px 0 20px;
}
.yuvarlakKutu p {
	padding: 0 20px 10px 20px;
}

Örnek kodları indirmek için tıklayınız.

Eğer başlıksız bir yapı istiyorsanız, h2 kaldırıp h2‘ye atadığımız zemin resmini paragraf(p)’a atamamız yeterlidir.

Eğer zemin dolgu alanı düz renk değilde degrade renkler içeriyorsa, bu iş için iki metod vardır birincisi yukarıdaki metod ile de yapabilrsiniz ama kutu yüksekliği kabul edilebilir bir yükseklik ise. Yukarıdaki metod ile bunu yapmak için bu kutunu maksimum 300px genişliğe çıkabileceğini farz edelim. İki adet resim hazırlarız.

ust2_yuvarlak.gif

alt2_yuvarlak.gif

Diğer bir yöntem ise kutuyu üç kısıma bölerek yapmaktır ki bu daha esnek bir yöntemdir.

.yuvarlakKutu {
    width: 424px;
    background: url(images/orta_yuvarlak.gif) repeat-y;
}
.yuvarlakKutu h2 {
    background: url(images/ust3_yuvarlak.gif) no-repeat left top;
    padding-top: 20px;
}
.yuvarlakKutu .altYuvarlak {
    background: url(images/alt3_yuvarlak.gif) no-repeat left bottom;
    padding-bottom: 20px;
}
.yuvarlakKutu h2, .yuvarlakKutu p {
    padding-left: 20px;
    padding-right: 20px;
}
<div class="yuvarlakKutu">
    <h2>Başlık</h2>
    <p class="altYuvarlak">İçerk</p>
</div>

Örnek kodları indirmek için tıklayınız.

Esnek Boyutlu Yuvarlak Kenarlı Kutular

Yukarıdaki örnekde sadece dikeydeki genişlemelere olanak sağlıyor bazen hem yatayda hemde dikeyde genişleye bilen esnek yuvarlık köşeli kutulara ihytiyacımız olur. Bunun için yukarda uyguladığımız yöntemden biraz farlı bir yöntem deneyeceğiz, iki resim değil de dört resime ihtiyacımız olacak. Bu dört resim için artı katmanlara ihtiyacımız olacaktır, bu katmanlar kodumuzu biraz temiz kod üretimi dışına çıkarsada işimizi görecektir:

<div class="yuvarlakKutu">
    <div class="yuvarlakKutuDisi">
        <div class="yuvarlakKutuIci">
        <h2>Başlık</h2>
        <p>İçerik</p>
        </div>
    </div>
</div>

Dört resimin iki tanesi üst köşeleri yuvarlamak için, iki tanesi alt köşeleri yuvarlamak için kullanacağız.

.yuvarlakKutu {
    width: 20em;
    background: #effce7 url(images/alt_sol.gif)
    no-repeat left bottom;
}
.yuvarlakKutuDisi {
    background: url(images/alt_sag.gif) no-repeat right bottom;
    padding-bottom: 5%;
}
.yuvarlakKutuIci {
	background: url(images/ust_sol.gif) no-repeat left top;
}
.yuvarlakKutu h2 {
    background: url(images/ust_sag.gif) no-repeat right top;
    padding-top: 5%;
}
.yuvarlakKutu h2, .yuvarlakKutu p {
    padding-left: 5%;
    padding-right: 5%;
}

Yukarıdaki örnekte esneklik sağlamak için değerler (% ve em) gibi görece değerler verilerek font boyutunun arttırılması durumlarında esnek bir kutu oluşturulmuş olur.

Örnek kodları indirmek için tıklayınız.

Yuvarlak kenarlı kutu yapımında bir çok örnek ve yöntem mevcut, aşağıda ki link de bu metodları linkleri ile katagorize etmişler:

http://css-discuss.incutio.com/?page=RoundedCorners

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

34 Yorum (Yorum Ekle)

  • serdar diyor ki:

    kodun görünmesi için baştaki
    div class=”yuvarlakKutu”>
    h2>buraya birseyler yazdim /h2>
    p class=”altYuvarlak”> /p>
    div class=”yuvarlakKutu”>
    h2>baslik /h2>
    p class=”altYuvarlak”> /p>

    /div>

    width: 200px

  • serdar diyor ki:

    sanırım az önce yazdığım kısımda bazı yanlışlar yapmışım kod şöyle:

    “div id=”BannerAlani”>

    buraya birseyler yazdim

    baslik

    width: 200px

  • serdar diyor ki:

    css ile oluturduğum sitemin banner alanında birkaç tane günün sözü vs. eklemk için bu sayfada yazdığınız 2. yönteni denedim ancak IE77 de kutuların alt kısmı düz gözüküyor firefoxta ise iki yuvarlak kutu arasında dikdörtgen şeklinde bir kutu faha gözüküyor.sayfaya eklemek için yazdığım kod:

    buraya birseyler yazdim

    baslik

    birde .yuvarlakKutu {

    width: 424px; kısminı -width: 424px- olarak değiştirdim bunun bir sakıncası olurmu?

  • Damacana diyor ki:

    Bunları arıyordum, saol.

  • fatih.hayrioglu diyor ki:

    bunu için yapmanız gerek resmi gölgeli hala getirmek ve bu şekilde kesmek.

    http://www.w3.org/Style/Examples/007/roundshadow.html

  • Seretan diyor ki:

    Sayenizde CSS i daha iyi bir şekilde öğreniyoruz emeğiniz için teşekkürler.

    Buna ek olarak gölge efecti nasıl verebiliriz. Yani hem köşeleri yuvarlak olacak hemde gölgeli olacak.

  • Sinan TURGUT diyor ki:

    Ellerine sağlık çok güzel anlatılmış.. Sık sık kullandığım bir yöntem. Geliştirilip biraz daha esnek hale getirilebilir..

  • alico diyor ki:

    iyi bir okuyu değilim sanırım :) sabit genişlikte ibaresi altında düşünemedim. Esnek olmamaktan kastım ise burdaki örnek ovel kenarları ve buna benzer örneklerin pek çoğu ovekenar resmi ile içi dolu tek renkte olması idi mesela ben içini serbest çalışıp border şeklinde ovel olması isteyebilirim. bu çalışmada o şekle çevrilir elbette ama dediğim gibi ihtiyaç olduğunda biraz uğraşan çevirebilir.

    Bu arada geçenlerde çok süper bir örnek gördüm sonra uğrarım diye çıktım şimdide sayfayı bulamıyorum Javascript ile Multiple background uygulaması yampışlar ve tek div de ovel tablo işini bitirmiş siteyi bulamayınca deli oldum. :(Javascript Multiple bacground diye gezinip duruyorum halen nette :)Gören olursa bir zahmet link bıraksın…

  • fatih.hayrioglu diyor ki:

    Verdiğin örnek için teşekkürler.

    Ancak bence sabit genişlikte bir yuvarlak kenar için

    “Sabit Genişlikte Yuvarlak Kenarlı Kutu Oluşturmak”

    başlığı altında anlatılan örnek daha avantajlı gibi geldi. Hem kodlama hemde görünüm açısından.

    Esnek olmamış derken neyi kastettiğinizi anlayamadım.

  • alico diyor ki:

    fazla esnek olmamış ancak biraz uğraşan üstüden gelebilir. Aşağıda kendi üretimim olan ovel kenarlı x-fieldset ismini takdığım çalışmada benden olsun…

    http://forum.ceviz.net/showthread.php?t=26167

Yorum yaz

Format: Yorum içinde kullanılabilecek HTML kodları: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

?