`
piperzero
  • 浏览: 3475233 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

不用图片而用css3实现一些阴影特效

 
阅读更多


一些阴影效果用图片实现也许是以前我们常用的一种方法,不过现在用css3一些属性也可以实现阴影效果,今天做了一个例子;


html代码如下:

<div class="container">
<h1><a href="/css-drop-shadows-without-images/">CSS drop-shadows without images</a></h1>

<div class="drop-shadow lifted">
<p>Lifted corners</p>
</div>

<div class="drop-shadow curled">
<p>Curled corners</p>
</div>

<div class="drop-shadow perspective">
<p>Perspective</p>
</div>

<div class="drop-shadow raised">
<p>Raised box</p>
</div>

<div class="drop-shadow curved curved-vt-1">
<p>Single vertical curve</p>
</div>

<div class="drop-shadow curved curved-vt-2">
<p>Vertical curves</p>
</div>

<div class="drop-shadow curved curved-hz-1">
<p>Single horizontal curve</p>
</div>

<div class="drop-shadow curved curved-hz-2">
<p>Horizontal curves</p>
</div>

<div class="drop-shadow lifted rotated">
<p>Rotated box</p>
</div>
</div>

css样式如下:

body {
padding:20px 0 30px;
font:14px/1.5 Arial, Helvetica, sans-serif;
text-align:center;
color:#333;
background:#FAF0D9;
}
a {
font-weight:bold;
color:#346aa8;
}
a:hover, a:focus, a:active {
text-decoration:none;
}
.container {
position:relative;
z-index:1;
width:600px;
padding:20px;
margin:0 auto;
background:#FAF0D9;
}
.container:after {
content:"";
display:block;
clear:both;
visibility:hidden;
height:0;
font-size:0;
}
.drop-shadow {
position:relative;
float:left;
width:40%;
padding:1em;
margin:2em 10px 4em;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0,0,0,0.3), 0 0 40px rgba(0,0,0,0.1) inset;
box-shadow:0 1px 4px rgba(0 ,0,0,0.3), 0 0 40px rgba(0,0,0,0.1) inset;
}
.drop-shadow:before, .drop-shadow:after {
content:"";
position:absolute;
z-index:-2;
}
.drop-shadow p {
font-size:16px;
font-weight:bold;
}
.lifted {
-moz-border-radius:4px;
border-radius:4px;
}
.lifted:before, .lifted:after {
bottom:15px;
left:10px;
width:50%;
height:20%;
max-width:300px;
max-height:100px;
-webkit-box-shadow:0 15px 10px rgba(0 ,0 ,0,0.7);
box-shadow:0 15px 10px rgba(0 ,0 ,0,0.7);
-moz-box-shadow:0 15px 10px rgba(0 ,0, 0,0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.lifted:after {
right:10px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-o-transform:rotate(3deg);
-ms-transform:rotate(3deg);
transform:rotate(3deg);
}
.curled {
border:1px solid #efefef;
-moz-border-radius:0 0 120px 120px / 0 0 6px 6px;
border-radius:0 0 120px 120px / 0 0 6px 6px;
-webkit-border-radius:0 0 120px 120px / 0 0 6px 6px;
}
.curled:before, .curled:after {
bottom:12px;
left:10px;
width:50%;
height:55%;
max-width:200px;
max-height:100px;
-webkit-box-shadow:0 8px 12px rgba(0,0,0,0.5);
-moz-box-shadow:0 8px 12px rgba(0,0,0,0.5);
box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-webkit-transform:skew(-8deg) rotate(-3deg);
-moz-transform:skew(-8deg) rotate(-3deg);
-ms-transform:skew(-8deg) rotate(-3deg);
-o-transform:skew(-8deg) rotate(-3deg);
transform:skew(-8deg) rotate(-3deg);
}
.curled:after {
right:10px;
left:auto;
-webkit-transform:skew(8deg) rotate(3deg);
-moz-transform:skew(8deg) rotate(3deg);
-ms-transform:skew(8deg) rotate(3deg);
-o-transform:skew(8deg) rotate(3deg);
transform:skew(8deg) rotate(3deg);
}
.perspective:before {
left:80px;
bottom:5px;
width:50%;
height:35%;
max-width:200px;
max-height:50px;
-webkit-box-shadow:-80px 0 8px rgba(0,0,0,0.4);
box-shadow:-80px 0 8px rgba(0,0,0,0.4);
-moz-box-shadow:-80px 0 8px rgba(0,0,0,0.4);
-webkit-transform:skew(50deg);
-moz-transform:skew(50deg);
-o-transform:skew(50deg);
-ms-transform:skew(50deg);
transform:skew(50deg);
-webkit-transform-origin:0 100%;
-moz-transform-origin:0 100%;
-ms-transform-origin:0 100%;
-o-transform-origin: 0 100%;
transform-origin:0 100%;
}
.perspective:after {
display:none;
}
.raised {
-webkit-box-shadow:0 15px 10px -10px rgba(0,0,0,0.5), 0 1px 4px rgba(0 ,0,0,0.3), 0 0 40px rgba(0,0,0,0.1) inset;
box-shadow:0 15px 10px -10px rgba(0,0,0,0.5), 0 1px 4px rgba(0 ,0,0,0.3), 0 0 40px rgba(0,0,0,0.1) inset;
-webkit-box-shadow:0 15px 10px -10px rgba(0,0,0,0.5), 0 1px 4px rgba(0 ,0,0,0.3), 0 0 40px rgba(0,0,0,0.1) inset;
}
.curved:before {
top:10px;
bottom:10px;
left:0;
right:50%;
-webkit-box-shadow:0 0 15px rgba(0,0,0,0.6);
-moz-box-shadow: 0 0 15px rgba(0,0,0,0.6);
box-shadow: 0 0 15px rgba(0,0,0,0.6);
}
.curved-vt-2:before {
right:0;
}
.curved-hz-1:before {
top:50%;
bottom:0;
left:10px;
right:10px;
-moz-border-radius:100px/10px;
border-radius:100px/10px;
}
.rotated {
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.rotated > :first-child:before {
content:"";
position:absolute;
z-index:-1;
top:0;
bottom:0;
left:0;
right:0;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}


支持的浏览器主要有:Firefox 3.5+, Chrome 5+, Safari 5+, Opera 10.6+, IE 9+

预览效果如下图:



分享到:
评论

相关推荐

    23种css3图片阴影效果

    纯CSS3实现的各种阴影效果,无需图片和js代码即可实现图片、按钮等元素的阴影效果,完全通过样式控制阴影大小、方向和深度,经测试效果相当不错非常酷。

    css3实现的图片边框阴影特效.zip

    css3实现的图片边框阴影特效是一款通过css3实现的图片边框阴影特效,该效果全程无js,使用方便。

    CSS3实现多种颜色的底部阴影按钮特效

    css3实现多种颜色的底部阴影按钮特效,鼠标经过按钮,还会出现过渡效果!非常不错的css3按钮。按钮是一款纯css3实现的膨胀修边阴影背景按钮。适用浏览器:FireFox、Chrome、Safari、Opera、傲游、搜狗. 不支持IE8、360...

    纯CSS3实现的图片阴影边框特效源码.zip

    纯CSS3实现的图片阴影边框特效源码.zip

    css3 3D立体阴影文字动画特效

    基于css3 keyframes属性制作的3D立体阴影文字动画特效,也支持中文,只是字体不合适的话,效果没那么好看。

    CSS3实现各种网页上文字及图片阴影的立体显示特效.rar

    CSS3实现各种网页上文字及图片的立体显示特效,立体文字,立体图片,和阴影图片特效,实际上就是添加不同的阴影以及拉伸图片形成的效果,用CSS3实现起来比传统CSS更简单,代码更少。压缩包内一共有9款这种文字和图片...

    css3鼠标悬停图片内部放大和阴影特效

    这是一款css3鼠标悬停图片内部放大和阴影特效。该特效在鼠标悬停在图片上面的时候,图片已中心为原点进行放大,然后显示出遮罩层,并且图片周边会有阴影变化效果。

    css3实现底部阴影按钮.zip

    css3实现底部阴影按钮,初始化时,底部有阴影效果,不过这个还是很另类的了,一般网站的按钮都会弄的很大气,不会太花哨,现在扁平化的按钮看起来也不错哦,这款按钮可以看源码好好学习,php中文网推荐下载!

    CSS3文本阴影彩虹阴影特效.rar

    CSS3文本阴影彩虹阴影特效.rar

    CSS3实现阴影角度可变的文字特效

    CSS3实现阴影角度可变的文字特效

    CSS3制作带阴影贴纸标签特效.rar

    CSS3制作带阴影贴纸标签特效

    CSS3文字变形3D阴影效果

    CSS3文字变形3D阴影效果,纯CSS3代码,3D文字,文字阴影特效。

    HTML5/CSS3 3D图片 边框阴影和图片投影

    还记得之前分享过的一款HTML5 3D图片翻转特效吗?在这里HTML5 3D骨牌图片特效 带文字描述。今天我继续要为大家带来一款很不错的HTML5/CSS3 3D图片特效,图片的边框有阴影,在图片翻转的时候还有很不错的投影效果。

    css3文字阴影导航特效.zip

    css3文字阴影导航特效是一款简单的大型导航,运用到的CSS3属性包括圆角border-radius、渐变、盒子和文字阴影等。   css3文字阴影导航特效图:

    CSS3 实现图片翘边阴影、边框阴影效果代码.rar

    这是一个纯粹的CSS3效果,模拟实现Pseudo-Classes模拟卡片翘边阴影效果、方框边框阴影效果,IE8及以下浏览器对CSS3不感冒,童鞋们就不要试了,但完美支持ie9、chrome、safari、firefox、opera、360等浏览器。...

    十几个酷炫的HTML5 CSS3文字特效 源代码.zip

    十几个酷炫的HTML5 CSS3文字特效 源代码.zip 文字阴影效果 阴影角度可随鼠标变化 五彩文字特效 文字带阴影效果 3D阴影文字特效 字母文字颗粒动画 可设置重力感应 3D文字特效 文字立体可旋转 3D文字特效 文字外翻效果...

    css3文字颜色渐变和文字阴影特效

    这是一款使用纯css3制作的文字颜色渐变和文字阴影特效插件。通过该插件可以制作各种文字颜色渐变效果和文字阴影效果,它的文字阴影就像PS中的浮雕切边文字效果一样,非常好看。

    纯CSS3 3D图片翻转展示 图片3D阴影效果

    之前我们分享过一些HTML5图片3D效果,这篇文章分享10款效果惊艳的HTML5图片特效中...今天我们再来分享一款利用纯CSS3实现的3D图片翻转展示特效,点击图片或者下方的翻页按钮即可选中相应的图片,并实现翻转展示效果。

Global site tag (gtag.js) - Google Analytics