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 天天做夜夜天天干天天色操,日韩视频在线免费,高清日韩在线

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          純CSS實現水杯和心形兩個復雜圖標,讓你輕松實現自己的圖標庫


          在進行前端開發時,圖標庫的使用是一項必須掌握的技巧,目前流行的圖標庫有fontawesome,iconfont等,只需要引入到項目中,然后使用對應的class,就會得到對應的圖標。

          但是你們有沒有想過,如果是自己的話該怎么去實現這些圖標呢?今天我們就來看看一些稍微復雜的圖標是如何使用純CSS3實現吧。

          文中的代碼已經放到github上了,感興趣的同學自取。

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

          CSS3

          圖標庫

          我們可以先來看看稍微復雜的圖標的樣子。

          圖標庫

          從圖標中可以看出,都是平時很常用的正確,錯誤,方向鍵,放大,縮小,開鎖,解鎖等。

          我們從中抽取幾個,慢慢分析它們是如何實現的吧。

          水杯

          水杯的圖標如下所示。

          水杯圖標

          我們對水杯圖標進行拆分,分為杯身和杯柄兩個部分。

          • 杯身中的白色長方形就是一個div,設置寬度和高度。

          • 杯身的四周為黑色都是通過border實現,border-bottom比其他三個放向都要大。

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

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

          杯身CSS代碼

          杯柄通過偽元素:before實現。

          • 杯柄設置為絕對定位,修改right值讓中間出現一個空白。

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

          • 杯柄右上角和右下角的border-radius設置為特定的值,展現成圓角的樣子。

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

          杯柄CSS代碼

          心形

          首先我們來看看心形圖案的樣子。

          心形圖案

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

          拆分圖案

          從圖案中可以看出,它實際是由兩個相同的圖行旋轉不同的角度構成,相同的元素部分,可以通過設置border-radius值來實現。

          我們將左右兩個半邊的形狀分別通過:before和:after來實現,原始的的div形狀的CSS屬性則很簡單,只需要設置相對位置和寬度為0即可。

          基本CSS屬性

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

          共有CSS屬性

          然后是關鍵的兩半邊各自的CSS屬性。左側的圖形距左邊應該為0,所以left: 0,右側的圖形距右側為0,所以right: 0。

          各有的CSS屬性

          同時左右兩側圖案需要進行旋轉,這里我們選擇旋轉48度,這是為什么呢?

          很多人一下子可能會想到旋轉45度,我們來看看旋轉45度時的樣子。

          旋轉45度

          從圖形中可以看出,兩側有棱角,整個圖案就顯得不標準,當旋轉超過45度時,棱角的部分就會被里面的圖案遮住。

          所以這里我們選擇旋轉48度,達到最終的效果。

          最終效果圖

          結束語

          今天這篇文章我們使用純CSS3的屬性畫出了一個杯子和心形兩個稍微復雜點的圖案,其實其它圖案也是類似的,只要我們能將其拆分,每個部分獨立實現,再組合就可以達到圖標庫的效果了。

          大家也可以自己動手實現一下噢~

          行效果

          效果圖

          技術要點

          • 相對定位 position: relative; 是以自身元素作為參考目標進行移動的,原有位置是保存的,俗稱不脫標。
          • 絕對定位,position: absolute;是以有定位的最近的父元素為參考目標進行移動,如果父元素沒有定位就尋找父元素的父元素,直到找到最近的為止,如果都找不到,則以瀏覽器為參考目標進行移動,絕對定位是不占有原有位置,俗稱脫標。
          • 偽元素選擇器

          ::before 元素的開始位置,在指定的選擇器之前插入一段內容。插入的內容默認為“行內元素”,可以通過“display”強制轉換顯示類型,必須要結合content使用

          ::after元素的結束位置,在指定的選擇器之后插入一段內容,使用方式和“:before”一樣。插入的內容默認也是為“行內元素”,同樣可以通過“display”強制轉換顯示類型,必須要結合content使用

          源代碼


          主站蜘蛛池模板: 狠狠做深爱婷婷综合一区| 日本精品无码一区二区三区久久久| 久久国产精品无码一区二区三区 | 亚洲免费一区二区| 91成人爽a毛片一区二区| 成人无码一区二区三区| 丰满岳乱妇一区二区三区| 亚洲Av永久无码精品一区二区| 久久99国产精品一区二区| 久久久精品日本一区二区三区| 免费在线视频一区| 国产精品美女一区二区| 亚洲AV无码一区二区三区鸳鸯影院| bt7086福利一区国产| 国产精品视频一区二区三区| 亚洲av无码一区二区乱子伦as| 国产在线视频一区| 内射女校花一区二区三区| 国产内射在线激情一区| 国产主播一区二区| 日本中文字幕一区二区有码在线| 国精产品一区二区三区糖心| 久久精品无码一区二区app| 国产精品女同一区二区久久| 一区二区三区在线看| 国产精品污WWW一区二区三区| 亚洲国模精品一区| 大屁股熟女一区二区三区| 久久精品一区二区国产| 久久精品一区二区三区资源网| 日韩免费视频一区二区| 成人精品一区二区户外勾搭野战| 呦系列视频一区二区三区| 好爽毛片一区二区三区四无码三飞 | 性色A码一区二区三区天美传媒| 国产精品视频一区二区噜噜| 精品国产一区二区三区色欲| 亚洲日韩中文字幕无码一区| 国内精品一区二区三区在线观看| 波多野结衣中文一区| 精品一区二区三区色花堂|