Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 欧美激情精品久久久久久大尺度,九九色视频在线观看,免费香蕉成视频成人网

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          必看!用CSS命令繪制常用小圖標(biāo),手把手教你操作

          web開(kāi)發(fā)中,我們經(jīng)常要用到一些小圖標(biāo)(加減勾叉等)。通常做法就兩種:

          1、直接使用圖片;

          2、使用css/svg直接在瀏覽器中繪制圖標(biāo);

          方案1

          由于圖標(biāo)圖片比較多,而且體積很小,為了減少請(qǐng)求,我們需要用雪碧圖將圖標(biāo)拼湊在同一張圖片里面,修改維護(hù)十分麻煩!

          現(xiàn)在比較好的方案是使用webpack引入圖片,小圖直接轉(zhuǎn)換成base64插入css中。直接使用圖片比較簡(jiǎn)單,這也是目前比較主流的做法。


          方案2

          相比方案1,明顯可以減小資源的體積,只需要幾條css/svg命令就可以繪制出精美的圖標(biāo),而且不受圖片尺寸限制,可大可小非常靈活。

          初看方案2的一堆代碼可能會(huì)覺(jué)得非常難,但其實(shí)很多簡(jiǎn)單的圖標(biāo)都是非常容易實(shí)現(xiàn)的。


          接下來(lái)就是同學(xué)們最期待的小智手把手教學(xué)時(shí)間啦。


          01 暫停按鈕

          <style>
                      .box{
                          width: 50px;
                          height: 50px;
                          background-color: black;
                          border: 1px solid white;
                          border-radius: 100%;
                          outline: 15px solid white;
                          outline-offset: -39px;
                          cursor: pointer;
                          transform: rotate(45deg);
                      }
          </style>
              <body>
              <div class="box"></div>
          
              </body>


          02 加號(hào)按鈕

           .box{
                          width: 50px;
                          height: 50px;
                          background-color: white;
                          border: 1px solid black;
                          border-radius: 100%;
                          outline: 10px solid black;
                          outline-offset: -35px;
                          cursor: pointer;
                      }
                  </style>
              <body>
              <div class="box"></div>
          
              </body>


          03 關(guān)閉按鈕

           <style>
                      .box{
                          width: 30px;
                          height: 0;
                          color: black;
                          box-shadow: 20px 10px 0 3px ,20px 0 0 3px ,20px 20px 0 3px;
                      }
          </style>
              <body>
              <div class="box"></div>
          
              </body>


          04 菜單按鈕

          用陰影實(shí)現(xiàn)

          <style>
                          .box{
                              width: 30px;
                              height: 15px;
                              background: linear-gradient(to bottom,black 0%,black 0%,transparent 20%,transparent 40%, black 40%,black 40%,transparent 60%,transparent 80%,black 100%);
                              outline: 1px solid black;
                              outline-offset: 4px;
                          }
          </style>
                  <body>
                  <div class="box"></div>
          
                  </body>

          用背景裁剪實(shí)現(xiàn)

          <style>
                      .box{
                          width: 30px;
                          height: 5px;
                          padding: 5px 0;
                          border-top: 5px solid black;
                          border-bottom: 5px solid black;
                          background-clip: content-box;
                          background-color: black;
                      }
          </style>
              <body>
              <div class="box"></div>
          
              </body>

          用漸變函數(shù)實(shí)現(xiàn)

          <style>
                          .box{
                              width: 30px;
                              height: 15px;
                              background: linear-gradient(to bottom,black 0%,black 0%,transparent 20%,transparent 40%, black 40%,black 40%,transparent 60%,transparent 80%,black 100%);
                          }
          </style>
                  <body>
                  <div class="box"></div>
          
                  </body>


          05 文章圖標(biāo)

          <style>
                          .box{
                              width: 16px;
                              height: 16px;
                              background-color: black;
                              border-radius: 100%;
                              box-shadow: 0 0 0 3px #fff,0 0 0 5px #000;
                              outline: 18px solid #ffffff;
                              outline-offset: -25px;
                              transform: scale(1.5);
                          }
          </style>
                  <body>
                  <div class="box"></div>
          
                  </body>


          06 單選按鈕

          .box{
                              width:0;
                              color: #000;
                              border: 3px solid black;
                              outline: 6px dotted ;
                              outline-offset: 6px;
          
                          }
          .box{
                              width:0;
                              padding: 3px;
                              background-color: black;
                              outline: 6px dotted black;
                              outline-offset: 6px;
                          }
          .box{
                              height: 6px;
                              width: 6px;
                              background-color: black;
                              outline: 6px dotted black;
                              outline-offset: 6px;
                          }


          07 靶子圖標(biāo)

          .box{
                              width: 0;
                              color: #000;
                              border: 8px solid transparent;
                              border-top: 8px solid;
                              box-shadow: 0 -12px 0 -4px;
                          }


          08 田字圖標(biāo)

          .box{
                              width: 1px;
                              height: 6px;
                              color: #000;
                              border: 8px solid transparent;
                              border-top: 8px solid;
                              box-shadow: 0 -12px 0 -4px;
                              background: linear-gradient(to bottom,#ffffff 50%,#000000 50%) repeat-x;
                          }


          09 下載箭頭

          .box{
                              width: 0;
                              color: #000;
                              border: 8px solid transparent;
                              border-top: 8px solid;
                              box-shadow: 0 -12px 0 -4px;
                          }


          10 下載箭頭(帶橫線)

          .box{
                              width: 1px;
                              height: 6px;
                              color: #000;
                              border: 8px solid transparent;
                              border-top: 8px solid;
                              box-shadow: 0 -12px 0 -4px;
                              background: linear-gradient(to bottom,#ffffff 50%,#000000 50%) repeat-x;
                          }


          11 禁用圖標(biāo)


          在進(jìn)行前端開(kāi)發(fā)時(shí),圖標(biāo)庫(kù)的使用是一項(xiàng)必須掌握的技巧,目前流行的圖標(biāo)庫(kù)有fontawesome,iconfont等,只需要引入到項(xiàng)目中,然后使用對(duì)應(yīng)的class,就會(huì)得到對(duì)應(yīng)的圖標(biāo)。

          但是你們有沒(méi)有想過(guò),如果是自己的話該怎么去實(shí)現(xiàn)這些圖標(biāo)呢?今天我們就來(lái)看看一些稍微復(fù)雜的圖標(biāo)是如何使用純CSS3實(shí)現(xiàn)吧。

          文中的代碼已經(jīng)放到github上了,感興趣的同學(xué)自取。

          https://github.com/zhouxiongking/article-pages/blob/master/articles/border/complexFigure.html

          CSS3

          圖標(biāo)庫(kù)

          我們可以先來(lái)看看稍微復(fù)雜的圖標(biāo)的樣子。

          圖標(biāo)庫(kù)

          從圖標(biāo)中可以看出,都是平時(shí)很常用的正確,錯(cuò)誤,方向鍵,放大,縮小,開(kāi)鎖,解鎖等。

          我們從中抽取幾個(gè),慢慢分析它們是如何實(shí)現(xiàn)的吧。

          水杯

          水杯的圖標(biāo)如下所示。

          水杯圖標(biāo)

          我們對(duì)水杯圖標(biāo)進(jìn)行拆分,分為杯身和杯柄兩個(gè)部分。

          • 杯身中的白色長(zhǎng)方形就是一個(gè)div,設(shè)置寬度和高度。

          • 杯身的四周為黑色都是通過(guò)border實(shí)現(xiàn),border-bottom比其他三個(gè)放向都要大。

          • 杯身的下方是圓角,通過(guò)border-radius設(shè)置,border-radius的右下和左下方向設(shè)置相同的值。

          通過(guò)上述的分析,我們可以得到杯身部分的CSS代碼。

          杯身CSS代碼

          杯柄通過(guò)偽元素:before實(shí)現(xiàn)。

          • 杯柄設(shè)置為絕對(duì)定位,修改right值讓中間出現(xiàn)一個(gè)空白。

          • 調(diào)整杯柄位置的寬度,只需要和杯身重疊即可。

          • 杯柄右上角和右下角的border-radius設(shè)置為特定的值,展現(xiàn)成圓角的樣子。

          通過(guò)以上的分析,我們可以得到杯柄部分的CSS代碼。

          杯柄CSS代碼

          心形

          首先我們來(lái)看看心形圖案的樣子。

          心形圖案

          接下來(lái)我們同樣將整個(gè)圖案拆分來(lái)看,分成左右兩個(gè)部分,我們將上述圖案換成兩種不同顏色就一目了然了。

          拆分圖案

          從圖案中可以看出,它實(shí)際是由兩個(gè)相同的圖行旋轉(zhuǎn)不同的角度構(gòu)成,相同的元素部分,可以通過(guò)設(shè)置border-radius值來(lái)實(shí)現(xiàn)。

          我們將左右兩個(gè)半邊的形狀分別通過(guò):before和:after來(lái)實(shí)現(xiàn),原始的的div形狀的CSS屬性則很簡(jiǎn)單,只需要設(shè)置相對(duì)位置和寬度為0即可。

          基本CSS屬性

          然后看看:before和:after共有的屬性,主要是保證為元素部分的定位為絕對(duì)定位,然后設(shè)置border-radius的值, 保證上半部分是圓角。

          共有CSS屬性

          然后是關(guān)鍵的兩半邊各自的CSS屬性。左側(cè)的圖形距左邊應(yīng)該為0,所以left: 0,右側(cè)的圖形距右側(cè)為0,所以right: 0。

          各有的CSS屬性

          同時(shí)左右兩側(cè)圖案需要進(jìn)行旋轉(zhuǎn),這里我們選擇旋轉(zhuǎn)48度,這是為什么呢?

          很多人一下子可能會(huì)想到旋轉(zhuǎn)45度,我們來(lái)看看旋轉(zhuǎn)45度時(shí)的樣子。

          旋轉(zhuǎn)45度

          從圖形中可以看出,兩側(cè)有棱角,整個(gè)圖案就顯得不標(biāo)準(zhǔn),當(dāng)旋轉(zhuǎn)超過(guò)45度時(shí),棱角的部分就會(huì)被里面的圖案遮住。

          所以這里我們選擇旋轉(zhuǎn)48度,達(dá)到最終的效果。

          最終效果圖

          結(jié)束語(yǔ)

          今天這篇文章我們使用純CSS3的屬性畫(huà)出了一個(gè)杯子和心形兩個(gè)稍微復(fù)雜點(diǎn)的圖案,其實(shí)其它圖案也是類(lèi)似的,只要我們能將其拆分,每個(gè)部分獨(dú)立實(shí)現(xiàn),再組合就可以達(dá)到圖標(biāo)庫(kù)的效果了。

          大家也可以自己動(dòng)手實(shí)現(xiàn)一下噢~

          片格式分類(lèi)

          圖片格式

          位圖圖片: bmp、jpg、gif、png

          矢量圖圖片: 以svg格式為代表, 可縮放矢量圖形(ScalabelVector Graphics)。 SVG是一種使用XML格式定義的圖像。

          什么是傳統(tǒng)方式的圖標(biāo)

          圖標(biāo)采用圖片格式, 有bmp、jpg、gif、png等文件格式

          大小改變后, 可能會(huì)出現(xiàn)鋸齒效果, 影響美觀


          什么是字體圖標(biāo)

          圖標(biāo)全部字體格式

          可以使用color、font-size..., 改變圖標(biāo)的顏色、大小等樣式

          利用CSS雪碧圖處理圖標(biāo)

          該技術(shù)的全稱(chēng)是: CSS Sprite, 又稱(chēng)css雪碧圖


          使用font+html實(shí)現(xiàn)字體圖標(biāo)的優(yōu)缺點(diǎn)

          優(yōu)點(diǎn): 輕量性、靈活性、兼容性好, 是目前被廣泛使用的技術(shù)

          缺點(diǎn): 大多數(shù)的圖標(biāo)字體只能被渲染成單色


          什么是svg格式?

          它的英文全稱(chēng)為 Scalabel Vector Graphics, 意思為可縮放的矢量圖形。

          svg矢量圖庫(kù)官網(wǎng)有哪些?

          阿里巴巴矢量圖標(biāo)庫(kù)官網(wǎng): http://www.iconfont.cn

          icommoon圖標(biāo)庫(kù)官網(wǎng): https://icomoon.io/app/#/select


          主站蜘蛛池模板: 日本在线电影一区二区三区| 中文字幕在线精品视频入口一区| 精品国产一区二区三区不卡 | 精品深夜AV无码一区二区| 亚洲AV无码一区二区三区人| 国产在线精品一区二区在线观看 | 日韩一区精品视频一区二区| 麻豆视传媒一区二区三区| 无码av中文一区二区三区桃花岛| 无码人妻精品一区二区三区99性| 亚洲国产美国国产综合一区二区| 亚洲AV无码一区二区三区国产| 理论亚洲区美一区二区三区| 亚洲综合一区二区三区四区五区| 亚洲日本乱码一区二区在线二产线| 日本不卡一区二区三区视频| 精品人妻少妇一区二区三区在线| 痴汉中文字幕视频一区| 精品视频一区二区| 美女视频黄a视频全免费网站一区| 在线|一区二区三区四区| 极品少妇一区二区三区四区| 亚洲国产AV无码一区二区三区| 蜜桃AV抽搐高潮一区二区| 成人无码精品一区二区三区| 国产一区二区三区亚洲综合| 一区二区三区免费在线观看| 精品伦精品一区二区三区视频| 亚洲一区二区三区免费| 大伊香蕉精品一区视频在线| 中文字幕精品一区二区精品| 久久精品视频一区| 无码国产精品一区二区免费式直播| 97精品一区二区视频在线观看| 亲子乱av一区区三区40岁| 国产在线观看91精品一区 | 在线精品自拍亚洲第一区| 精品视频一区二区观看| 国产免费无码一区二区| 无码av免费一区二区三区| 国产精品亚洲一区二区在线观看 |