CSS+HTML<網(wǎng)格背景效果>

image.png

知識(shí)點(diǎn):
這里涉及的知識(shí)點(diǎn)其實(shí)很少妈嘹,只要需要你去理解具體含義
其中包括 background: linear-gradient(),background-size,background-repeat
沒錯(cuò),只要你掌握了以上 3 點(diǎn)就能實(shí)現(xiàn)這種效果I芊痢H罅场!

下面會(huì)告訴大家如何具體實(shí)現(xiàn)此效果他去,其中虛線部分的繪制比較麻煩毙驯,但是也是可以實(shí)現(xiàn),所以接下來會(huì)一一講解~~


實(shí)線網(wǎng)格繪制:

<!-- html部分 -->
 <div class="grid-shi"></div>
   .grid-shi{
     height: 100vh;
     background: linear-gradient(to right,#ccc 50px,transparent 50px);
   }

這個(gè)你應(yīng)該看得懂灾测,稍微會(huì)點(diǎn)css都知道爆价,此時(shí)背景就是一個(gè)往右50px為灰色的背景圖片,因?yàn)橹蟮臑?code>transparent所以50px之后都是透明色媳搪,也就是啥都木得

image.png

   .grid-shi{
     height: 100vh;
     background: linear-gradient(to right,#ccc 50px,transparent 50px);
     background-repeat: no-repeat;/* 默認(rèn)為 repeat */
     background-size: 100px 100px;
   }

這里的background-size: 100px 100px;相當(dāng)于把背景放到一個(gè)100*100的容器里面铭段,因?yàn)?code>background-repeat默認(rèn)為 repeat ,所以我這里設(shè)置了 no-repeat方便理解蛾号,那如果不加又會(huì)是什么樣呢稠项?

image.png

background-repeat: repeat;
background-size: 100px 100px;

頁面就會(huì)變成很多個(gè)100*100的小模塊,而每個(gè)小模塊里面鲜结,都會(huì)有一個(gè)50px灰-透明的背景,當(dāng)然這是從左往右的設(shè)置展运,如果再加上一個(gè)從上往下的設(shè)置呢?

image.png

 .grid-shi{
     height: 100vh;
     background: 
     linear-gradient(to right,#ccc 50px,transparent 50px),
     linear-gradient(to bottom,#ccc 50px,transparent 50px);
     background-repeat: repeat;/* 默認(rèn)為 repeat */
     background-size: 100px 100px;
   }

這樣看起來不就實(shí)現(xiàn)了網(wǎng)格的樣子。
當(dāng)然精刷,現(xiàn)在還是有點(diǎn)粗的拗胜,那么你 背景設(shè)細(xì)一點(diǎn),模塊分小一點(diǎn)

image.png

     linear-gradient(to right,#ccc 1px,transparent 1px),
     linear-gradient(to bottom,#ccc 1px,transparent 1px);
     background-repeat: repeat;/* 默認(rèn)為 repeat */
     background-size: 10px 10px;

這樣就實(shí)現(xiàn)了你最終要的效果了!!


image.png

虛線網(wǎng)格繪制:

 <div class="grid-xu"></div>

知道了實(shí)線怎么繪制后怒允,你可能會(huì)想虛線怎么搞埂软。反正我也是琢磨了好久,雖然有些復(fù)雜,不過還是實(shí)現(xiàn)了勘畔。
這里我就大致講下原理所灸,具體理解,建議你還是直接到最下面看代碼吧!!
::before ::after的使用
這里我先設(shè)置一個(gè)背景色 紅色炫七,注意:是紅色

   .grid-xu::before{
     background: linear-gradient(to right,white 25px,transparent 25px),
     linear-gradient(to bottom,blue 25px,transparent 25px);
     background-size: 50px 200px;
   }
   .grid-xu::after{
     background: linear-gradient(to bottom,white 25px,transparent 25px),
     linear-gradient(to right,blue 25px,transparent 25px);
     background-size: 200px 50px;
   }

::before,右::after

image.png

接下來把紅色背景色改成和white一樣的白色,不就成了虛線的模樣了爬立,然后接下來需要的是把他們2個(gè)疊加到一起,給個(gè)透明度万哪,就得到效果了侠驯。
可能你還會(huì)不太明白,那么就動(dòng)起小手手奕巍,自己摸索摸索吧~~
這里的問題就是吟策,背景色必須要和你設(shè)置形成虛線起始色值一直,這里用的 white 來實(shí)現(xiàn)虛線的止,那么背景色就必須是白色i菁帷! 而且如果想實(shí)現(xiàn)疊加诅福,就一定別忘記設(shè)置透明度效床,不然只會(huì)被::after那層覆蓋掉~
image.png

點(diǎn)點(diǎn)背景:
這里把漸變修改為徑向漸變就實(shí)現(xiàn)點(diǎn)點(diǎn)背景了,原理和前面說的都是一樣的

 background: radial-gradient(circle , #5a5a5a .5px, transparent .5px);
 background-size: 10px 10px;

image.png

若想實(shí)現(xiàn)圖片和背景的融合权谁,可以直接通過 mix-blend-mode: difference; 去實(shí)現(xiàn)
image.png

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    :root{
      --gridSizeXu:20px; /* 虛線網(wǎng)格大小 */
      --gridSizeShi:60px; /* 虛線網(wǎng)格大小 */
      --gridColor:#5f5f5f; /* 線條顏色 */
    }
    body{
      height: 100vh;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    /* 虛線部分 */
   .grid-xu{
     overflow: hidden;
     width: 100%;
     height: 100%;
     position: fixed;
     z-index: -2;
     transform: scale(1.1);
   }
   .grid-xu::before, .grid-xu::after{
     opacity: .5;
     content: '';
     background-repeat: repeat;
     position: absolute;
     width: 100%;
     height: 100%;
     left: 0;
     top: 0;
   }
   .grid-xu::before{
     /* 從左往右 */
     background: linear-gradient(to right,white 1px,transparent 1px),
     linear-gradient(to bottom,var(--gridColor) .5px,transparent .5px);
     background-size: 3px var(--gridSizeXu);
   }
   .grid-xu::after{
     /* 從上往下 */
     background: 
     linear-gradient(to bottom,white 1px,transparent 1px),
     linear-gradient(to right,var(--gridColor) .5px,transparent .5px);
     background-size: var(--gridSizeXu) 3px;
   }
   /* 實(shí)線條部分 */
   .grid-shi{
    overflow: hidden;
     width: 100%;
     height: 100%;
     position: fixed;
     z-index: -1;
     transform: scale(1.1);
     background: linear-gradient(to right,var(--gridColor) .5px,transparent .5px),
     linear-gradient(to bottom,var(--gridColor) .5px,transparent .5px);
     background-size: var(--gridSizeShi) var(--gridSizeShi);
     background-repeat: repeat;
   }
   .content{
     text-align: center;
   }
   .content h1{
    font-weight: 300;
    letter-spacing: .7rem;
    margin: 0;
   }
   .content p{
     font-size: 14px;
    font-weight: 200;
    text-transform: uppercase;
    letter-spacing: .1rem;
    text-decoration: line-through;
    color: #5a5a5a;
   }
  </style>
</head>
<body>
 <div class="grid-xu"></div>
 <div class="grid-shi"></div>
 <div class="content">
   <h1>網(wǎng)格背景</h1>
   <p>The grid background</p>
 </div>
</body>
</html>

其他方法:

        body {
            height: 100vh;
            margin: 0;
            background-image:
                repeating-linear-gradient(0deg, #000 0 .5px, transparent .5px 20px),
                repeating-linear-gradient(90deg, #000 0 .5px, transparent .5px 20px);
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剩檀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子旺芽,更是在濱河造成了極大的恐慌沪猴,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件采章,死亡現(xiàn)場離奇詭異运嗜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)悯舟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門担租,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抵怎,你說我怎么就攤上這事奋救。” “怎么了反惕?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵尝艘,是天一觀的道長。 經(jīng)常有香客問我姿染,道長背亥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮狡汉,結(jié)果婚禮上娄徊,老公的妹妹穿的比我還像新娘。我一直安慰自己盾戴,他們只是感情好嵌莉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捻脖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪中鼠。 梳的紋絲不亂的頭發(fā)上可婶,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音援雇,去河邊找鬼矛渴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惫搏,可吹牛的內(nèi)容都是我干的具温。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筐赔,長吁一口氣:“原來是場噩夢啊……” “哼铣猩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茴丰,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤达皿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后贿肩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峦椰,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年汰规,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汤功。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溜哮,死狀恐怖滔金,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茂嗓,我是刑警寧澤鹦蠕,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站在抛,受9級(jí)特大地震影響钟病,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一肠阱、第九天 我趴在偏房一處隱蔽的房頂上張望票唆。 院中可真熱鬧,春花似錦屹徘、人聲如沸走趋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽簿煌。三九已至,卻和暖如春鉴吹,著一層夾襖步出監(jiān)牢的瞬間姨伟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工豆励, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夺荒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓良蒸,卻偏偏與公主長得像技扼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嫩痰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 目錄 Day01標(biāo)簽行元素 Day02表單元素css選擇器偽類選擇符行內(nèi)元素塊元素表格 Day03文本相關(guān)屬性列表...
    Moquyun閱讀 514評(píng)論 0 0
  • 本文章主要整理了html入門的基礎(chǔ)知識(shí)點(diǎn) 圖片 <img> img { border-radiuds: 3px; ...
    壞忎閱讀 285評(píng)論 0 3
  • # CSS樣式規(guī)則overflow 使用HTML時(shí)剿吻,需要遵從一定的規(guī)范。CSS亦如此串纺,要想熟練地使用CSS對(duì)網(wǎng)頁進(jìn)...
    低調(diào)迷人的反派角色閱讀 1,005評(píng)論 0 1
  • 話題背景:如今網(wǎng)頁展示的姿勢是這樣的 圖片來自:設(shè)計(jì)之家 炫酷的網(wǎng)頁展示和橙,支撐它的正是強(qiáng)大的CSS3,還有什么理由...
    aliensq閱讀 2,035評(píng)論 0 2
  • 只是總結(jié)了一些平時(shí)容易忘記的知識(shí)點(diǎn)造垛,太基礎(chǔ)的沒摘錄魔招,望大家不喜就噴。 0.HTML和CSS 1.標(biāo)簽子元素 .ul...
    小菜小半碟閱讀 347評(píng)論 0 1