天天看點

轉載---CSS3實作曲線陰影和翹邊陰影

預備知識

  • DIV+CSS基礎
  • 圓角:

    border-radius

  • 2D變換:

    transform:skew && rotate

  • 僞類:

    :before

     和 

    :after

代碼

HTML結構代碼很簡單,CSS内含注釋,圖檔小夥伴們自己替換哈!

HTML

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>CSS3實作曲線陰影和翹邊陰影</title>
  <link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<body>
          <div class="wrap effect">
            <h1>啦啦啦德瑪西亞!!!!</h1>
          </div>
          <p>這是曲線陰影效果!!!!</p>
          <ul class="box">
            <li><img src="img/iconfont-blog.jpg" alt="測試圖檔"></li>
            <li><img src="img/iconfont-github.jpg" alt="測試圖檔"></li>
            <li><img src="img/iconfont-weibo.jpg" alt="測試圖檔"></li>
          </ul>
          <p>這是翹邊陰影效果!!!!</p>
</body>
</html>
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

CSS

*
{
    margin: 0;
    padding: 0;

    border: 0;
    outline: 0;
}
/*簡易版reset*/

ul
{
    list-style: none;
}
/*取消清單樣式*/

p
{
    font-size: 30px;
    font-weight: bold;

    margin: -30px 0 50px 0;

    text-align: center;
}

.wrap
{
    width: 50%;
    height: 300px;
    margin: 80px auto;

    background: #fff;
}
/*包塊的寬高,背景色及居中對齊*/

.wrap h1
{
    font-size: 30px;
    line-height: 300px;

    text-align: center;
}
/*設定字型大小,對齊方式及行高(垂直居中)*/

.effect
{
    position: relative;

        box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;

    -ms-box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;
     -o-box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 40px rgba(0, 0, 0, .1) inset;
}
/**
 * 設定盒子外陰影和内陰影
-----------------------------------------------------------------------
  可以使用十六進制顔色,若是需要用到透明度,建議用rgba
    box-shadow:h-shadow v-shadow blur spread color inset
   必需:h-shadow(水準),v-shadow(垂直)
   可選:blur(模糊距離),spread(陰影尺寸),color(陰影顔色),inset(内陰影)
   浏覽器相容:IE9+、FireFox4、Chrome、Opera、Safari5.1.1

   */

.effect:after,
.effect:before
{
    position: absolute;
    z-index: -1;
    top: 50%;
    right: 30px;
    bottom: 0;
    left: 30px;

    content: '';

    border-radius: 100px/10px;
        box-shadow: 0 0 20px rgba(0, 0, 0, .8);

    -ms-box-shadow: 0 0 20px rgba(0, 0, 0, .8);
     -o-box-shadow: 0 0 20px rgba(0, 0, 0, .8);
}
/**
 * .追加盒子,産生曲線陰影的效果,應用after+before重疊陰影更加厚實,使用z-index調整位置
 -----------------------------------------
:after 和 :before ,content添加内容,
浏覽器相容:對于IE8及更早版本中的:after,必須聲明<!DOCTYPE>

border-radius:x/y(水準半徑/垂直半徑)
 */

.box
{
    clear: both;
    overflow: hidden;

    width: 980px;
    height: auto;
    margin: 20px auto;
}
/**
 * 主容器寬度固定,高度自适應..清除所有浮動且容器居中
 */

.box li
{
    position:           

繼續閱讀