使用css3实现翘边阴影

要点讲解:

阴影一要点:

1、用一个圆角的层,设置阴影,z-index层级低于父级即可;但是其相对定位的属性需要另外设置在另一个class上如下图设置在effect上而不设置在wrap上

2、圆角的层可用after和before来实现,如果after和before2个伪类都设置阴影并重叠起来 ,阴影效果更好。

翘边阴影要点:

1、同上用after和before伪类,设置class属性transform: skew(12deg) rotate(4deg) 弄成2个菱形 ;层级低于本身作为阴影

20150210121359208

效果代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset=utf-8 />
  5. <title>box-shadow</title>
  6. <style>
  7.     body{font-family:Arial;
  8.      font-size:23px;}
  9. .wrap h3{
  10.   text-align:center;
  11.   position:relative;
  12.   top:80px;
  13. }
  14. .wrap {
  15.   width:70%;
  16.   height:200px;
  17.   background:#FFF;
  18.   margin:40px auto;
  19. }
  20. .effect{
  21.   position:relative;
  22.      -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3) , 0 0 40px rgba(0, 0, 0, 0.1) inset;
  23.        -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  24.                 box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0px 0px 40px rgba(0, 0, 0, 0.1) inset;
  25. }
  26.  .effect:before, .effect:after{
  27.     content:””;
  28.     position:absolute;
  29.     z-index:-1;
  30.     -webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
  31.     -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
  32.     box-shadow:0 0 20px rgba(0,0,0,0.8);
  33.     top:50%;
  34.     bottom:0;
  35.     left:10px;
  36.     right:10px;
  37.     -moz-border-radius:100px / 10px;
  38.     border-radius:100px / 10px;
  39. }
  40. ul.box {
  41.     width:980px;
  42.     height:auto;
  43.     margin: 20px auto;
  44.     padding: 0;
  45.     clear: both;
  46.     overflow: hidden;
  47. }
  48. ul.box li {
  49.     list-style-type: none;
  50.     margin:20px 10px;
  51.     padding: 0;
  52.     width: 300px;
  53.     height: 220px;
  54.     border: 2px solid #efefef;
  55.     position: relative;
  56.     float: left;
  57.     background: #ffffff; /* old browsers */
  58.     line-height:220px;
  59.     font-size:32px;
  60.     text-align:center;
  61.     -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.1) inset;
  62.     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.1) inset;
  63.     -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.1) inset;
  64.     box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.1) inset;
  65. }
  66. ul.box li:before {
  67.      z-index: -2;
  68.     position: absolute;
  69.     background: transparent;
  70.     width: 90%;
  71.     height: 80%;
  72.     content: ”;
  73.     left: 20px;
  74.     bottom:8px;
  75.      -webkit-transform: skew(-12deg) rotate(-4deg);
  76.         -moz-transform:skew(-12deg) rotate(-4deg);
  77.         -o-transform: skew(-12deg) rotate(-4deg);
  78.         -ms-transform: skew(-12deg) rotate(-4deg);
  79.     -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  80.     -moz-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  81.     -o-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  82.     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  83. }
  84.  ul.box li:after {
  85.     z-index: -1;
  86.     position: absolute;
  87.     background: transparent;
  88.     width: 90%;
  89.     height: 80%;
  90.     content: ”;
  91.     right:20px;
  92.     bottom:8px;
  93.     -webkit-transform: skew(12deg) rotate(4deg);
  94.     -moz-transform:skew(12deg) rotate(4deg);
  95.     -o-transform: skew(12deg) rotate(4deg);
  96.     -ms-transform: skew(12deg) rotate(4deg);
  97.     -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  98.     -moz-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  99.     -o-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
  100.     box-shadow: 0 8px 16px rgba(0, 0, 0, 0.6);
  101. }
  102. .box li img{
  103.     width:290px;
  104.     height:210px;
  105.     padding:5px;
  106. }
  107. </style>
  108. </head>
  109. <body>
  110.   <div class=“wrap effect”>
  111.      <h3>Shadow Effect</h3>
  112.   </div>
  113.   <ul class=“box”>
  114.       <li><img src=“”/></li>
  115.       <li><img src=“”/></li>
  116.       <li><img src=“”/></li>
  117.   </ul>
  118. </body>
  119. </html>

 

效果图:

Center

 

 

 

Leave a Comment

 
Copyright © 2008-2021 lanxinbase.com Rights Reserved. | 粤ICP备14086738号-3 |