中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用css中background實現繪制圖形的方法

發布時間:2020-09-14 11:05:14 來源:億速云 閱讀:175 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關利用css中background實現繪制圖形的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

相信大家在平時工作中少不了會被要求在某些元添加一些特殊的背景圖片,這時候通常就拿起ps就是切切切。不說這種方式麻煩,有ui給你切好的情況已經不錯,沒有的就有自己動手。還可能有需要切一整張超大圖的情況。作為一個“優秀”的前端,本著自己動手豐衣足食的理念,下面給大家介紹用background來繪制這些特的圖片

先來看看平時會出現的

利用css中background實現繪制圖形的方法

通過一下css得到

<div class="box"></div>

<style>
  .box{
    width: 500px;
    height: 500px;
    background: url('imgurl');
    background-size: 20%;
  }
</style>

當然現在不切圖,直接用css來做

.box{
    width: 500px;
    height: 500px;
    background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
                linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0,
                linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px,
                linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px;
    background-size: 100px 100px;
    background-color: #fff;
}

我們可以看到會得到與切圖一模一樣的效果

接下來來看下上面的css為什么這樣寫
首先我們先理解background: linear-gradient(),在background中CSS3 漸變(gradients)可看做一張背景圖片,可理解為background: url(),而背景圖片的可以為多張的,對應我們就可以寫多個linear-gradient,通過對其顏色的控制來拼接成一個獨立的圖片塊。background-size刷新中可通過逗號分隔,會循環設置對應的linear-gradient。
這里需要注意的是,linear-gradient是重后往前繪制的,就是說前面顏色的會覆蓋后面的顏色。

分析上面的格子背景,我看可以看做在一個4x4的格子中有兩個1x1的灰格子覆蓋在上面。每個灰格子可通過

利用css中background實現繪制圖形的方法

的基礎圖案拼成,所以有了如下

background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
            linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px;

利用css中background實現繪制圖形的方法

這里有個問題,小三角間拼接有縫隙,所以用

利用css中background實現繪制圖形的方法

圖形再拼接一次。

background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
            linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px,
            linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0,
            linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px;

最后我們就能得到和上面一樣的格子背景。
更多例子

有時候我們需要的背景可能不需要repeat,且圖形沒有規律
如:

利用css中background實現繪制圖形的方法

這時我們就要對圖形的每個角進行分別設置。

.box{
    width: 500px;
    height: 500px;
    background: linear-gradient(black, black) left top,
                linear-gradient(black, black) left top,
                linear-gradient(black, black) right top,
                linear-gradient(black, black) right top,
                linear-gradient(black, black) right bottom,
                linear-gradient(black, black) right bottom,
                linear-gradient(black, black) left bottom,
                linear-gradient(black, black) left bottom;
    background-repeat: no-repeat;
    background-size: 4px 20px, 20px 4px;

原理其實就是通過linear-gradient繪制每個圖形設置位置和大小,最后就能得到想要圖像。

關于利用css中background實現繪制圖形的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同江市| 郑州市| 甘谷县| 拉孜县| 新绛县| 榆中县| 四川省| 阿尔山市| 呼伦贝尔市| 肇庆市| 城市| 宜春市| 大悟县| 天全县| 丁青县| 康乐县| 镇巴县| 凌源市| 东海县| 宁安市| 卢湾区| 四子王旗| 营口市| 饶阳县| 出国| 资溪县| 清水河县| 荃湾区| 长垣县| 广丰县| 大化| 云南省| 鱼台县| 永康市| 沽源县| 陆丰市| 克什克腾旗| 札达县| 清徐县| 莆田市| 应城市|