[CSS]すぐに利用できる、美しいボックスシャドウと角丸のスタイルシートのまとめ
Post on:2011年8月2日
sponsorsr
一昔前はPhotoshopを使用しないと作成できなかったデザインをCSS3で実装するシリーズのナビゲーション編から、すぐに利用できるボックスシャドウと角丸のスタイルシートを紹介します。

CSS3 vs. Photoshop: Rounded Corners and Box Shadows
[ad#ad-2]
下記は、その中からボックスシャドウと角丸に関するスタイルシートをピックアップしたものです。
ボックスシャドウ -box-shadow
HTMLはsection要素を使用していますが、これはdiv要素などでもそのまま利用できます。

HTML
<section class="box dropshadow"></section>
CSS
.dropshadow{
background-image:-moz-linear-gradient(top, #F3F4F5, #C8C9CA);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#F3F4F5), to(#C8C9CA), color-stop(1,#C8C9CA));
border:2px solid #F2F2F2;
box-shadow: 10px 10px 10px rgba(0,0,0,0.25);
-moz-box-shadow: 10px 10px 10px rgba(0,0,0,0.25);
-webkit-box-shadow: 10px 10px 10px rgba(0,0,0,0.25);
}

HTML
<section class="box innershadow"></section>
CSS
.innershadow{
background-image:-moz-linear-gradient(top, #E2E2E2, #CCCCCC);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#E2E2E2), to(#CCCCCC), color-stop(1,#CCCCCC));
border:2px solid #FEFEFE;
box-shadow: inset 5px 5px 5px rgba(0,0,0,0.25);
-moz-box-shadow: inset 5px 5px 5px rgba(0,0,0,0.25);
-webkit-box-shadow: inset 5px 5px 5px rgba(0,0,0,0.25);
}

HTML
<section class="box intenseshadow"></section>
CSS
.intenseshadow{
background-color:#FFF;
border:1px solid #F00;
box-shadow: 10px 10px 0px #F00;
-moz-box-shadow: 10px 10px 0px #F00;
-webkit-box-shadow: 10px 10px 0px #F00;
}

HTML
<section class="box bevel"></section>
CSS
.bevel{
background-color:#CCC;
box-shadow: 10px 10px 0px #F00;
-moz-box-shadow:inset 0px 0px 120px rgba(0,0,0,.60);
-webkit-box-shadow: 10px 10px 0px #F00;
}
角丸 -border-radius
角丸のスタイルシートは、「,box」など共通で使用するclassも個々に記述しています。

HTML
<section class="box fourcorners"></section>
CSS
.box{
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
}
.fourcorners{
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
border-radius: 20px;
}

HTML
<section class="box topleft bottomright"></section>
CSS
.box{
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
}
.topleft{
-moz-border-radius-topleft: 20px;
-webkit-border-top-left-radius: 20px;
-khtml-border-radius-topleft: 20px;
border-top-left-radius: 20px;
}
.bottomleft{
-moz-border-radius-bottomleft: 20px;
-webkit-border-bottom-left-radius: 20px;
-khtml-border-radius-bottomleft: 20px;
border-bottom-left-radius: 20px;
}

HTML
<section class="box topright bottomleft"></section>
CSS
.box{
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
}
.topright{
-moz-border-radius-topright: 20px;
-webkit-border-top-right-radius: 20px;
-khtml-border-radius-topright: 20px;
border-top-right-radius: 20px;
}
.bottomleft{
-moz-border-radius-bottomleft: 20px;
-webkit-border-bottom-left-radius: 20px;
-khtml-border-radius-bottomleft: 20px;
border-bottom-left-radius: 20px;
}

HTML
<section class="box asymmetrical1"></section>
CSS
.box{
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
}
.asymmetrical1{
-webkit-border-top-left-radius: 160px;
-khtml-border-radius-topleft: 160px;
-moz-border-radius-topleft: 160px;
border-top-left-radius: 160px;
-webkit-border-top-right-radius: 20px;
-khtml-border-radius-topright: 20px;
-moz-border-radius-topright: 20px;
border-top-right-radius: 20px;
-webkit-border-bottom-left-radius: 10px;
-khtml-border-radius-bottomleft: 10px;
-moz-border-radius-bottomleft: 10px;
border-bottom-left-radius: 10px;
-webkit-border-bottom-right-radius: 0px;
-khtml-border-radius-bottomright: 0px;
-moz-border-radius-bottomright: 0px;
border-bottom-right-radius: 0px;
}

HTML
<section class="box asymmetrical2"></section>
CSS
.box{
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
}
.asymmetrical2{
-webkit-border-top-left-radius: 0px;
-khtml-border-radius-topleft: 0px;
-moz-border-radius-topleft: 0px;
border-top-left-radius: 0px;
-webkit-border-top-right-radius: 90px;
-khtml-border-radius-topright: 90px;
-moz-border-radius-topright: 90px;
border-top-right-radius: 90px;
-webkit-border-bottom-left-radius: 0px;
-khtml-border-radius-bottomleft: 0px;
-moz-border-radius-bottomleft: 0px;
border-bottom-left-radius: 0px;
-webkit-border-bottom-right-radius: 90px;
-khtml-border-radius-bottomright: 90px;
-moz-border-radius-bottomright: 90px;
border-bottom-right-radius: 90px;
}

HTML
<section class="circle"></section>
CSS
.circle{
width:170px;
height:170px;
padding:15px;
font-family:Arial, Helvetica, sans-serif;
color:#FFF;
font-size:12px;
font-weight:bold;
float:left;
background-image:-moz-linear-gradient(top, #FAD502, #E89502);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FAD502), to(#E89502), color-stop(1,#E89502));
-webkit-border-top-left-radius: 100px;
-khtml-border-radius-topleft: 100px;
-moz-border-radius-topleft: 100px;
border-top-left-radius: 100px;
-webkit-border-top-right-radius: 100px;
-khtml-border-radius-topright: 100px;
-moz-border-radius-topright: 100px;
border-top-right-radius: 100px;
-webkit-border-bottom-left-radius: 100px;
-khtml-border-radius-bottomleft: 100px;
-moz-border-radius-bottomleft: 100px;
border-bottom-left-radius: 100px;
-webkit-border-bottom-right-radius: 100px;
-khtml-border-radius-bottomright: 100px;
-moz-border-radius-bottomright: 100px;
border-bottom-right-radius: 100px;
}
対応ブラウザ
テスト済みのブラウザは、Firefox, Safari, Chromeとのことです。
[ad#ad-2]
元記事では、これらを組み合わせて実装するナビゲーションのチュートリアルも掲載されています。

sponsors











