【css3學習系列】之box-shadow,radial-gradient,linear-gradient

Talk is cheap.Show me the code.css

1.box-shadow

clipboard.png

<div class="chopsticks"></div>
 .chopsticks{
      position: absolute;
      left: 400px;
      top: 80px;
      width: 10px;
      height: 250px;
      background-color: #bb8855;
      border-radius: 3px;
      -webkit-border-radius: 3px;  
      box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2),inset 0 -5px 2px 0 rgba(0,0,0,0.1);
      z-index: 99;
  }
    .chopsticks:before{
        content: '';
        position: absolute;
        left: 20px;
        top: 0px;
        width: 10px;
        height: 250px;
        background-color: #bb8855;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2),inset 0 -5px 2px 0 rgba(0,0,0,0.1);
        z-index: 99;
    }

【注】:box-shadow是由逗號分隔的陰影列表,每一個逗號隔開的即是一個陰影,每一個陰影由 2-4 個長度值、可選的顏色值以及可選的 inset 關鍵詞來規定,可給每一個class添加一個或多個陰影。陰影的顏色是任意的,因此陰影有不少妙用。css3

2.border-radius

clipboard.png

<div class="egg"></div>

.egg{
        position: absolute;
        top: 20px;
        left: 35px;
        width: 80px;
        height: 100px;
        z-index: 7;
        border-radius: 50% / 60% 60% 40% 40%;
        -webkit-border-radius:50% / 60% 60% 40% 40%;        
        background-color: #fff;
        transform:rotate(20deg);
    }
   .egg:before{
        content: '';
        position: absolute;
        top: 30%;
        left: 24%;
        width: 50%;
        height: 50%;
        z-index: 7;
        border-radius: 50%;
        -webkit-border-radius:50%;
        background: #FC0;
        box-shadow: 0 0 2px 2px #f90,inset 0 0 5px 1px rgba(255, 153, 0, 0.5);
        }

【注】:border-radiusweb

  1. 一個值,border-radius:50px;表示水平半徑和垂直半徑相等;
    兩個值:border-radius:100px / 50px;"/"前的值表示水平半徑,"/"後的值表示垂直半徑,兩個值 的順序與一個值的順序相同:左上,右上,右下,左下。spa

  2. css3還提供了對每一個角進行設置:3d

    • border-top-left-radiuscode

    • border-top-right-radiusorm

    • border-bottom-right-radiusblog

    • border-bottom-left-radiusip

3.radial-gradient(徑向漸變)

(demo可參考下面的圖,碗和麪條都是用徑向漸變實現的)get

background-image:radial-gradient(ellipse at center center, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.1) 21%, #ffcc33 21%, #ffcc33 23%, rgba(0, 0, 0, 0.1) 23%, rgba(0, 0, 0, 0) 24%)
 background-image:-webkit-radial-gradient(center center,ellipse, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.1) 21%, #ffcc33 21%, #ffcc33 23%, rgba(0, 0, 0, 0.1) 23%, rgba(0, 0, 0, 0) 24%)

【要點】:

  1. radial-gradient(漸變形狀 at 漸變圓心,漸變顏色 [顏色漸變開始位置(距離漸變圓心的大小)],漸變顏色[顏色漸變位置])

  2. -webkit-radial-gradient(漸變圓心,漸變形狀,漸變顏色 [顏色漸變開始位置(距離漸變圓心的大小)],漸變顏色 [顏色漸變位置])

  3. 顏色漸變位置不寫時,默認第一個顏色位置是0,第二個是100%。

  4. 不在指定漸變區域的,以距離其最近的顏色填充。

4.linear-gradient(線性漸變)

(demo可參考下面的圖,海苔是用線性漸變實現的)

background-image: linear-gradient(-20deg, rgba(0, 0, 0, 0.9) 50%, rgba(0, 34, 0, 0.95) 95%);
   background-image: -webkit-linear-gradient(110deg, rgba(0, 0, 0, 0.9) 50%, rgba(0, 34, 0, 0.95) 95%);

【要點】:可用方向或角度值指定漸變的方向(或角度)。
to left:設置漸變爲從右到左。至關於: 270deg
to right:設置漸變從左到右。至關於: 90deg
to top:設置漸變從下到上。至關於: 0deg
to bottom:設置漸變從上到下。至關於: 180deg。這是默認值,等同於留空不寫。

最後奉上一碗純css拉麪。

clipboard.png

【注】: 拉麪原創出處:https://codepen.io/aaronchuo/pen/GLEed

相關文章
相關標籤/搜索