CSS3樣式linear-gradient的使用

linear-gradient

  1. linear-gradient是CSS3中新增的樣式,主要用於顏色的漸變效果。MDN地址
  2. linear-gradient在不一樣內核下使用方式不一樣,詳細內容可參考w3cplus

實用栗子(在Chrome下)

  1. 缺角效果
    先看效果圖
    css

    <div class="div1">
        這是內容
    </div>
    .div1 {
            width: 100px;
            height: 40px;
            line-height: 40px;
            background:linear-gradient(-135deg, transparent 15px, #162e48 0);
            color: #fff;
            padding: 5px 15px;
            text-align: center;
            margin-bottom: 30px;
        }
  2. 補角效果
    先看效果圖
    html

    <div class="div2">
        這是內容
    </div>
    .div2 {
            width: 100px;
            height: 40px;
            line-height: 40px;
            background:linear-gradient(-135deg, #f00 15px, #162e48 0);
            color: #fff;
            padding: 5px 15px;
            text-align: center;
            margin-bottom: 30px;
        }

    只是在栗子1的基礎上修改了linear-gradient,將transparent修改成#f00css3

  3. 帶邊框的效果
    先看效果圖
    chrome

    <div class="div3">
        這是內容
    </div>
    .div3 {
            width: 100px;
            height: 40px;
            line-height: 40px;
            background:linear-gradient(-135deg, #f00 15px, #162e48 0);
            color: #fff;
            padding: 5px 15px;
            text-align: center;
            margin-bottom: 30px;
            box-shadow: 0 0 1px 1px #fff inset;
        }

    在栗子2的基礎上增長了box-shadow,固然加邊框能夠有多種方式,可自行選擇。ide

  4. 開關效果
    效果圖
    ui

    <div class="div4">
        <div class="div4-1">OFF</div>
        <div class="div4-2 active">ON</div>
    </div>
    .div4 {
            width: 144px;
            height: 30px;
            line-height: 30px;
            background: #162e48;
            color: #FFF;
            text-align: center;
            margin-bottom: 30px;
        }
        .div4-1, .div4-2 {
            width: 86px;
            float: left;
        }
        .div4-1.active {
            margin-right: -28px;
            background:linear-gradient(-135deg, transparent 20px, #f00 0);
        }
        .div4-2.active {
            margin-left: -28px;
            background:linear-gradient(45deg, transparent 20px, #f00 0);
        }
    最終效果可根據須要自行調整
  5. 在栗子3的基礎上作到如下效果,單純使用linear-gradient沒有找到解決方法,若有方案,請在評論下給出方案。如下是其中一種解決方式
    效果圖
    spa

    .div5 {
            width: 100px;
            height: 40px;
            line-height: 40px;
            background:linear-gradient(-135deg, #fff 15px, #162e48 0);
            color: #fff;
            padding: 5px 15px;
            text-align: center;
            box-shadow: 0 0 1px 1px #fff;
            margin-bottom: 30px;
            position: relative;
        }
        .div5:after {
            content: ' ';
            border: solid transparent;
            position: absolute;
            border-width: 12px;
            border-top-color: #000;
            border-right-color: #000;
            top: -2px;
            right: -2px;
        }
  6. 考慮到兼容性問題,能夠經過:before:after實現一樣的效果,給出一個栗子
    css .div6 { width: 100px; height: 40px; line-height: 40px; background:#162e48; color: #fff; padding: 5px 15px; text-align: center; position: relative; border: 1px solid #fff; margin-bottom: 30px; } .div6:before { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #fff; border-right-color: #fff; right: 0px; top: 0px; } .div6:after { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #000; border-right-color: #000; top: -1px; right: -1px; }code

相關文章
相關標籤/搜索