CSS3设置对象(区块/背景)阴影效果box-shadow的语法规则及实例

亮术网 2017-04-10 本网原创

  CSS3增加了不少新属性,box-shadow 就是其中之一,从字面意来看是箱子阴影的意思,也就是设置对象的阴影效果,具体就是设置某一区块(有无背景均可)的阴影效果。

  box-shadow 给区块设置阴影与 Photoshop 给文字设置阴影效果十分相似,都可以设置外阴影和内阴影,阴影扩展范围、模糊程度,参数比较丰富,效果可以与图片处理软件相提并论。

 

  一、box-shadow 语法规则

  box-shadow: none | <shadow> [, <shadow> * ]

  <shadow> = inset? && [ <length>{2,4} && <color>? ]

 

  二、语法规则说明

  1、box-shadow 可设置多组效果:

  A、none:不设置阴影效果;

  B、第一个<shadow>:设置第一组阴影效果;

  [] 中的 <shadow>:设置第二组阴影效果,可以省略;

  C、*表示可以设置多个 <shadow>,即设置多组阴影。

 

  2、shadow 有三个参数,其意分别为:

  A、inset 表示设置内阴影,省略时表示外阴影;

 

  B、length 设置阴影扩展范围和模糊程度,至少设置两个值,最多允许设置四个值;

  length 第一二个值:分别表示对象阴影水平和垂直偏移值,可取正负值;

  length 第三个值:表示对象阴影的模糊值,只能取正值;

  length 第四个值:表示对象阴影的外延值,只能取正值;

 

 

  三、CSS3设置对象(区块/背景)实例

  html代码:

  <ul class="boxShadow">
   <li class="outShadow">常规外阴影效果</li>
   <li class="outShadow3">边缘模糊外阴影效果</li>
   <li class="outShadow4">边缘模糊且外延外阴影效果</li>

   <li class="inShadow">常规内阴影效果</li>
   <li class="inShadow3">边缘模糊内阴影效果</li>
   <li class="inShadow4">边缘模糊且外延内阴影效果</li>

   <li class="multipleOutshadow">多组外阴影效果</li>
  </ul>

 

  CSS样式:

  <style type="text/css">
  .boxShadow li{margin-top:16px;list-style:none;width:600px;padding:10px;line-height:24px;background:#f0f0f0;border:1px solid #e2e0e0;}
  .boxShadow .outShadow{box-shadow:3px 3px rgba(200, 199, 199, .8);}
  .boxShadow .outShadow3{box-shadow:4px 4px 6px rgba(200, 199, 199, .8);}
  .boxShadow .outShadow4{box-shadow:3px 3px 10px 5px rgba(200, 199, 199, .8);}

  .boxShadow .inShadow{box-shadow:3px 3px rgba(200, 199, 199, .8) inset;}
  .boxShadow .inShadow3{box-shadow:3px 3px 6px rgba(200, 199, 199, .8) inset;}
  .boxShadow .inShadow4{box-shadow:1px 1px 6px 4px rgba(200, 199, 199, .8) inset;}

  .boxShadow .multipleOutshadow{
   box-shadow:1px 1px 2px 2px rgba(64, 242, 55, .7),
         2px 2px 3px 3px rgba(242, 161, 55, .8),
         3px 3px 4px 4px rgba(21, 93, 240, .8),
         0 0 5px 5px rgba(240, 21, 67, .8);

  }

 

  粗略设置效果图:

  • 常规外阴影效果:
    box-shadow:5px 5px rgba(200, 199, 199, .8);
  • 边缘模糊外阴影效果:
    box-shadow:5px 5px 5px rgba(200, 199, 199, .8);
  • 边缘模糊且外延外阴影效果:
    box-shadow:5px 5px 5px 10px rgba(200, 199, 199, .8);
  • 常规内阴影效果:
    box-shadow::3px 3px rgba(200, 199, 199, .8) inset;
  • 边缘模糊内阴影效果:
    box-shadow:3px 3px 6px rgba(200, 199, 199, .8) inset;
  • 边缘模糊且外延内阴影效果:
    1px 1px 6px 4px rgba(200, 199, 199, .8) inset;
  • 多组外阴影效果:
    1px 1px 2px 2px rgba(64, 242, 55, .7),
    2px 2px 3px 3px rgba(242, 161, 55, .8),
    3px 3px 4px 4px rgba(21, 93, 240, .8),
    0 0 5px 5px rgba(240, 21, 67, .8);