CSS实现曲面阴影效果的简单实例(推荐)

时间:2021-05-08

不知道大家在做项目的时候遇见很绚丽的设计图后会怎么做。有一些设计图会经常使用阴影效果看上去更加立体,一般情况下像我这种懒人直接就切图了。压根就没有想着去研究一下代码怎么实现。

后来我们的设计稿总是改啊改啊,***简直是烦死我了,他要是改了图我就要正版的切图更换。所以我决定研究一下这个东西,其实我们是可以实现的哦!

如图所示:

上面的效果就是平时写项目最典型的效果了,做设计的小伙伴肯定知道PS分分钟搞定,但是代码实现起来我们也可以么?———告诉他们:必须可以!哈哈o(∩_∩)o;说了大话那就下点功夫研究一下吧!

第一部分:HTML

页面部分的内容很简单接下来让我们看看CSS的部分吧。

XML/HTML Code复制内容到剪贴板
  • <divclass="conyy">
  • <h1>曲线阴影</h1>
  • </div>
  • <ulclass="box">
  • <li><imgsrc="img/1.jpg"></li>
  • <li><imgsrc="img/2.jpg"></li>
  • <li><imgsrc="img/3.jpg"></li>
  • </ul>
  • 第二部分:CSS3

    在我们看到上面这个图片的时候大家肯定第一印象是CSS3的 box-shadow ,但是如果仅仅是这样子我们可以实现么?很明确不可以。

    无论是曲面的也好还是翘边的也罢,box-shadow自己是无法实现的,我们需要配合CSS3的伪类元素来实现。

    来一起看看代码吧!

    曲面阴影我们就如下代码就可以实现了,不熟悉伪类元素的小伙伴可以自行查阅文档看看。

    CSS Code复制内容到剪贴板
  • *{padding:0;margin:0;list-style:none;}
  • .con{
  • width:70%;
  • height:200px;
  • margin:50pxauto;
  • background:#FFFFFF;
  • line-height:200px;
  • text-align:center;
  • font-size:24px;
  • }
  • .yy{
  • position:relative;
  • box-shadow:01px4pxrgba(0,0,0,0.3),0040pxrgba(0,0,0,0.1)inset;
  • -webkit-box-shadow:01px4pxrgba(0,0,0,0.3),0040pxrgba(0,0,0,0.1)inset;
  • -moz-box-shadow:01px4pxrgba(0,0,0,0.3),0040pxrgba(0,0,0,0.1)inset;
  • -o-box-shadow:01px4pxrgba(0,0,0,0.3),0040pxrgba(0,0,0,0.1)inset;
  • }
  • .yy:after,.yy:before{
  • position:absolute;
  • content:'';
  • top:50%;
  • bottombottom:-1px;
  • left:10px;
  • rightright:10px;
  • background:#fff;
  • z-index:-1;
  • border-radius:100px/10px;
  • box-shadow:0020pxrgba(0,0,0,0.3);
  • -webkit-box-shadow:0020pxrgba(0,0,0,0.3);
  • -moz-box-shadow:0020pxrgba(0,0,0,0.3);
  • -o-box-shadow:0020pxrgba(0,0,0,0.3);
  • }
  • 下面的代码就是怎么去实现翘边阴影的效果:

    CSS Code复制内容到剪贴板
  • .box{
  • width:980px;
  • height:300px;
  • margin:0auto;
  • }
  • .boxliimg{
  • display:block;
  • width:290px;
  • height:200px;
  • }
  • .boxli{
  • position:relative;
  • float:left;
  • width:290px;
  • height:200px;
  • background:#FFFFFF;
  • padding:5px;
  • margin-right:25px;
  • box-shadow:00px4pxrgba(0,0,0,0.3),0060pxrgba(0,0,0,0.1)inset;
  • -moz-box-shadow:00px4pxrgba(0,0,0,0.3),0060pxrgba(0,0,0,0.1)inset;
  • -webkit-box-shadow:00px4pxrgba(0,0,0,0.3),0060pxrgba(0,0,0,0.1)inset;
  • -o-box-shadow:00px4pxrgba(0,0,0,0.3),0060pxrgba(0,0,0,0.1)inset;
  • }
  • .boxli:before{
  • position:absolute;
  • content:'';
  • width:90%;
  • height:80%;
  • left:18px;
  • bottombottom:11px;
  • z-index:-2;
  • background:transparent;
  • box-shadow:08px20pxrgba(0,0,0,0.6);
  • -moz-box-shadow:08px20pxrgba(0,0,0,0.6);
  • -webkit-box-shadow:08px20pxrgba(0,0,0,0.6);
  • -o-box-shadow:08px20pxrgba(0,0,0,0.6);
  • transform:skew(-12deg)rotate(-5deg);
  • -moz-transform:skew(-12deg)rotate(-5deg);
  • -webkit-transform:skew(-12deg)rotate(-5deg);
  • -o-transform:skew(-12deg)rotate(-5deg);
  • }
  • .boxli:after{
  • position:absolute;
  • content:'';
  • width:90%;
  • height:80%;
  • rightright:18px;
  • bottombottom:11px;
  • z-index:-2;
  • background:transparent;
  • box-shadow:08px20pxrgba(0,0,0,0.6);
  • -moz-box-shadow:08px20pxrgba(0,0,0,0.6);
  • -webkit-box-shadow:08px20pxrgba(0,0,0,0.6);
  • -o-box-shadow:08px20pxrgba(0,0,0,0.6);
  • transform:skew(12deg)rotate(5deg);
  • -moz-transform:skew(12deg)rotate(5deg);
  • -webkit-transform:skew(12deg)rotate(5deg);
  • -o-transform:skew(12deg)rotate(5deg);
  • }
  • 这样子的效果都是很巧妙的利用了CSS3的伪类元素来实现的,在视觉体验上为产品可是大大的加分哦!有兴趣的小伙伴也来试试吧。

    以上这篇CSS实现曲面阴影效果的简单实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

    原文地址:http://www.cnblogs.com/youyuekeji/p/5567386.html

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章