ایجاد حالتهای مختلف سایه با استفاده از CSS3
نویسنده: وحید محمدطاهری
تاریخ: ۱۳۹۵/۰۸/۲۴ ۱۸:۲۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
box-shadow: inset horizontal vertical blur spread color;
box-shadow: 10px 10px; box-shadow: 10px 10px 5px #888; box-shadow: inset 2px 2px 2px 2px black; box-shadow: 10px 10px #888, -10px -10px #f4f4f4, 0px 0px 5px 5px #cc6600;
برای استفاده از box-shadow در مرورگرهای نسخه پایینتر (بدون تغییر در نحوه تعریف)، باید از پیشوندهای هر مرورگر استفاده کنید. برای Firefox از moz-، برای Chrome و Safari از webkit- و Opera نیاز به پیشوند ندارد.
CSS مشترک برای افکتهای زیر
.box {
width:70%;
height:200px;
background:#FFF;
margin:40px auto;
}
.box h3{
text-align:center;
position:relative;
top:80px;
}
<div class="box effect1"> <h3>Effect 1</h3> </div>
.effect1{
box-shadow: 0 10px 6px -6px #777;
}
<div class="box effect2"> <h3>Effect 2</h3> </div>
.effect2
{
position: relative;
}
.effect2:before, .effect2:after
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
box-shadow: 0 15px 10px #777;
transform: rotate(-3deg);
}
.effect2:after
{
transform: rotate(3deg);
right: 10px;
left: auto;
} transform: rotate(8deg);
<div class="box effect3"> <h3>Effect 3</h3> </div>
.effect3
{
position: relative;
}
.effect3:before
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
box-shadow: 0 15px 10px #777;
transform: rotate(-3deg);
}
<div class="box effect4"> <h3>Effect 4</h3> </div>
.effect4
{
position: relative;
}
.effect4:after
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
right: 10px;
left: auto;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
box-shadow: 0 15px 10px #777;
transform: rotate(3deg);
}
<div class="box effect5"> <h3>Effect 5</h3> </div>
.effect5
{
position:relative;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.effect5:before, .effect5:after
{
content:"";
position:absolute;
z-index:-1;
box-shadow:0 0 20px rgba(0,0,0,0.8);
top:50%;
bottom:0;
left:10px;
right:10px;
border-radius:100px / 10px;
} .effect5:before, .effect5:after
{
top:0;
}
.effect5:after
{
right:10px;
left:auto;
transform:skew(8deg) rotate(3deg);
}
<div class="box effect6"> <h3>Effect 6</h3> </div>
.effect6
{
position:relative;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.effect6:before, .effect6:after
{
content:"";
position:absolute;
z-index:-1;
box-shadow:0 0 20px rgba(0,0,0,0.8);
top:10px;
bottom:10px;
left:0;
right:0;
border-radius:100px / 10px;
}
.effect6:after
{
right:10px;
left:auto;
transform:skew(8deg) rotate(3deg);
}