站長資訊網
        最全最豐富的資訊網站

        淺析CSS中怎么實現線性漸變(linear-gradient)

        CSS中怎么實現線性漸變?下面本篇文章給大家介紹一下CSS線性漸變函數linear-gradient()的使用方法,并聊聊線性漸變的多種應用,希望對大家有所幫助!

        淺析CSS中怎么實現線性漸變(linear-gradient)

        linear-gradient

        1. 語法

        linear-gradient([[to <direction>|<angle>],]? <color stop?>, <color stop?>[, ...]?)

        -webkit-linear-gradient([[<direction>|<angle>],]? <color stop?>, <color stop?>[, ...]?)

        這2種在使用方式和表現形式上都有所不同,使用direction時,前者要帶to, 后者不帶;使用angle時,表現不一致。【推薦學習:css視頻教程】

        1)默認

        二者默認都是從上到下

        background-image:linear-gradient(#00ffff, #ff1493, #006699); background-image:-webkit-linear-gradient(#00ffff, #ff1493, #006699)

        淺析CSS中怎么實現線性漸變(linear-gradient)

        2)<direction>: [left|right]|[top|bottom]的使用

        二者表現方向相反

        background-image:linear-gradient(to left, #00ffff, #ff1493, #006699); background-image:-webkit-linear-gradient(left, #00ffff, #ff1493, #006699);

        淺析CSS中怎么實現線性漸變(linear-gradient)

        background-image:linear-gradient(to left top, #00ffff, #ff1493, #006699); background-image:-webkit-linear-gradient(left top, #00ffff, #ff1493, #006699);

        淺析CSS中怎么實現線性漸變(linear-gradient)

        3)<angle>的使用

        度數方向的對應關系。-webkit-與之對應的方向則為450°-angle

        淺析CSS中怎么實現線性漸變(linear-gradient)

        background-image:linear-gradient(275deg, #ff1493, #000000, #006699); background-image:-webkit-linear-gradient(175deg, #ff1493, #000000, #006699);

        450°-175°=275°,所以二者表現一致,如下圖:

        淺析CSS中怎么實現線性漸變(linear-gradient)

        4)<color stop> = <color [percentage|length]>的使用

        stop可使用百分比,也可以使用具體值,表示這種顏色在此位置達到飽和

        background-image:linear-gradient(to right, #ff1493 10%, #000000 40%, #006699 60%); background-image:-webkit-linear-gradient(to right, #ff1493 10%, #000000 40%, #006699 60%);

        淺析CSS中怎么實現線性漸變(linear-gradient)

        從上圖可以看出顏色變化過程:

        0% --> 10%: #ff1493一直處于飽和

        10% --> 40%: #ff1493漸變為#000000, 在40%處,#000000達到飽和

        40% --> 60%: #000000漸變為#006699, 在60%處,#006699達到飽和

        60% --> 100%: #006699一直處于飽和

        利用這一特性,可以繪制出條紋

          background-image:linear-gradient(to right, #ff1493 33%, #000000 33%, #000000 66%, #006699 66%);   background-image:-webkit-linear-gradient(to right, #ff1493 33%, #000000 33%, #000000 66%, #006699 66%);

        淺析CSS中怎么實現線性漸變(linear-gradient)

        注:stop還可以同時設置2個值, 如linear-gradient(to right, #ff1493 0% 33%, #000000 33% 66%, #006699 66% 100%);-webkit-linear-gradient(to right, #ff1493 33%, #000000 33% 66%, #006699 66% 100%);,效果與上圖一致。

        若后者的值小于前者,以前者為準,如下20px小于60px,實際按60px顯示,效果如下圖:

        background-image:linear-gradient(right, #ff1493 60px, #000000 20px); background-image:-webkit-linear-gradient(right, #ff1493 60px, #000000 20px);

        淺析CSS中怎么實現線性漸變(linear-gradient)

        擴展1:漸變中心

        默認是2種顏色的中心,但是我們可以設置其漸變中心

        /* 3種顏色平分,漸變中心為1/3和2/3處 */ background-image:linear-gradient(to right, #ff1493, #000000, #006699);  /* 漸變中心在10%和20%處 */ background-image:linear-gradient(to right, #ff1493, 10%, #000000, 20%, #006699);

        注:-webkit-linear-gradient不支持此用法

        淺析CSS中怎么實現線性漸變(linear-gradient)

        擴展2: repeating-linear-gradient

        我們可以使用屬性這個繪制重復的色塊

        background-image:repeating-linear-gradient(0deg, #ff1493, #000000 10px, #006699 20px); background-image:-webkit-repeating-linear-gradient(0deg, #ff1493, #000000 10px, #006699 20px)

        淺析CSS中怎么實現線性漸變(linear-gradient)

        2、常用樣式

        (1)多色星空

        background-image:     linear-gradient(45deg, rgba(255, 0, 76, 0.7), rgba(0, 0, 255, 0) 80%),     linear-gradient(135deg, rgba(106, 0, 128, 1), rgba(0, 128, 0, 0) 80%),     linear-gradient(225deg, rgba(0, 255, 255, 1), rgba(0, 255, 255, 0) 80%),     linear-gradient(315deg, rgba(255, 192, 203, 0.7), rgba(255, 192, 203, 0) 80%);

        同時設置多個值,讓整個背景色看起來比較絢麗

        淺析CSS中怎么實現線性漸變(linear-gradient)

        (2)格子圖案

        background-image:     repeating-linear-gradient(0deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px),     repeating-linear-gradient(90deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px);      background-image:     repeating-linear-gradient(45deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px),     repeating-linear-gradient(135deg, rgba(0, 255, 255, 0.3) 0px 5px, transparent 5px 10px);

        利用顏色與透明色交替渲染

        淺析CSS中怎么實現線性漸變(linear-gradient)

        (3)邊框漸變

        <div id="wrap"></div> <style>  #wrap {     width: 180px;     height: 40px;     border: 5px solid transparent;     border-image: linear-gradient(45deg, aqua, pink, purple) 1; }  </style>

        內部背景透明,但是不支持設置border-radius

        淺析CSS中怎么實現線性漸變(linear-gradient)

        <div id="wrap"></div> <style>  #wrap {     width: 180px;     height: 40px;     border: 5px solid transparent;     border-image: linear-gradient(45deg, aqua, pink, purple) 1;     clip-path: inset(0 round 5px); }  </style>

        注:可以使用clip-path裁剪出圓角, 但是這種方式不適用于角度較大的圓角

        淺析CSS中怎么實現線性漸變(linear-gradient)

        <div id="wrap">     <div id="content"></div> </div> <style> #wrap {     width: 180px;     height: 40px;     border-radius: 20px;     background: #FFF;     position: relative; }  #wrap::before {     content: '';     position: absolute;     left: -5px;     right: -5px;     top: -5px;     bottom: -5px;     background-image: linear-gradient(45deg, aqua, pink, purple);     border-radius: 25px;     z-index: -1 }  /*或者*/  #wrap {     width: 180px;     height: 40px;     border-radius: 20px;     background: #FFF;     position: relative;     border: 5px solid transparent;     background-origin: border-box;     background-image: linear-gradient(#FFF, #FFF), linear-gradient(45deg, aqua, pink, purple);     background-clip: padding-box, border-box; }  /*或者*/  #wrap {     width: 180px;     height: 50px;     border: 5px solid transparent;     border-radius: 25px;     background-image: linear-gradient(45deg, aqua, pink, purple);     background-origin: border-box; }  #content {     width: 100%;     height: 100%;     border-radius: 20px;     background: #FFF; }  </style>

        這幾種方式都能做到圓角漸變邊框,但是無法做到內部背景透明

        淺析CSS中怎么實現線性漸變(linear-gradient)

        (4)文字漸變

        <div id="wrap"> Darker CMJ</div> <style> #wrap {     font-size: 40px;     line-height: 40px;     font-weight: bold;     background-clip: text;     -webkit-background-clip: text;     // color: transparent;     -webkit-text-fill-color: transparent;     background-image: linear-gradient(45deg, aqua, pink, purple); } </style>

        background-clip規定背景的繪制區域,我們設置其值為text,就是在文字區域繪制,然后將文字color或者-webkit-text-fill-color設置為透明色,漸變區域就能顯示出來了

        淺析CSS中怎么實現線性漸變(linear-gradient)

        好了,over,第一次寫文章,希望能堅持下去=.=

        (學習視頻分享:web前端)

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 大桥未久在线精品视频在线| 777欧美午夜精品影院| 精品国产美女福利到在线不卡| 国产精品无码久久综合网| 久久久精品国产sm调教网站| 久久激情亚洲精品无码?V| 久久精品国产免费一区| 无码精品人妻一区二区三区免费看| 国产精品久久久久乳精品爆 | 国产91精品一区二区麻豆网站| 亚洲?V无码乱码国产精品| 国产成人精品久久| 成人精品综合免费视频| 国产精品成人69XXX免费视频| 99在线精品视频观看免费| 无码精品人妻一区二区三区中| 欧美ppypp精品一区二区| 国产精品免费αv视频| 香蕉久久夜色精品国产小说| 国产精品久久久久无码av| 少妇伦子伦精品无码STYLES| 日韩精品成人亚洲专区| 精品久久人人做人人爽综合| 99久久国产热无码精品免费久久久久| 色欲久久久天天天综合网精品| 欧美日韩精品一区二区视频| 国内精品久久久久久久久电影网 | 综合人妻久久一区二区精品| 久久无码人妻精品一区二区三区| 国产AV国片精品一区二区| 欧美日韩精品一区二区在线播放| 久久国产乱子伦精品免费强| 中文字幕精品无码久久久久久3D日动漫 | 国内精品久久久久国产盗摄| 97国产视频精品| 99热精品毛片全部国产无缓冲| 久久最新精品国产| 久久精品国内一区二区三区| 久久久国产精品福利免费| 亚洲一二成人精品区| 亚洲国产综合91精品麻豆|