摘要:需求需求實現一個圖標庫的選擇界面,展示庫中所有的圖標并提供選擇功能庫共個實現思路思路從樣式表中提取所有的的樣式,并處理成數組利用實現循環渲染基本知識參考操作屬性返回當前規則所屬的那個樣式塊實例。
&01.需求
需求 : 實現一個圖標庫的選擇界面,展示UI庫中所有的圖標并提供選擇功能
ICON庫——iview UI 共 860 個
&02.實現思路思路 從 iview CSS 樣式表中 提取所有的 .ivu-icon的樣式,并處理成數組 利用 v-for 實現循環渲染
基本知識參考-CSS操作
CSSStyleDeclaration.parentRule屬性返回當前規則所屬的那個樣式塊(CSSRule 實例)。如果不存在所屬的樣式塊,該屬性返回null。
var declaration = document.styleSheets[0].rules[0].style; declaration.parentRule === document.styleSheets[0].rules[0]&03.代碼塊
注意!??!
styleSheets、cssRules 都是 Object 類型,其本身定義了一個 length 的鍵值;
除 length 外每個鍵值從0開始自增,所以在取值時以 styleSheets[0] 去取 ,并非數組的取值;
還有一點要注意的是:在開發環境下,css未被打包時肯能會有多個styleSheets存在、而生產環境下css會默認被統一打成一份即只存在一個styleSheets
/** * 提取ICON */ getIconsArr () { let data = []; let docSheets = document.styleSheets||[]; for ( let sheets of docSheets ) { if(sheets.cssRules.length!==0){ for (let index in sheets.cssRules) { let reStr = sheets.cssRules[index].selectorText||sheets.cssRules[index].cssText; if(reStr!=undefined&&reStr.startsWith(".ivu-icon-")){ data.push(reStr.split("::")[0].slice(10,reStr.split("::")[0].length)) ; } } } } // 數組去重 let set = new Set(data); this.icons = new Array(...set); }
循環生成圖標
共 {{icons.length||0}} 個圖標
圖標的選擇功能 基于 vuex 狀態管理實現,選中狀態由curIcon的值決定每個元素的class
收工
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/117319.html
摘要:背景第一天練習支付寶小程序的時候寫好了一個簡單的頁面后續是新增重置按鈕連接后端接口然后加入圖標網上看了很多小程序加圖標例子說實話沒有單獨能成功的我也不記得結合了多少個才成功了還是自己寫了篇文章記錄下引入流程可能有點啰嗦但是比較詳細連接后端接 背景:第一天練習支付寶小程序的時候寫好了一個簡單的頁面.后續是新增重置按鈕,連接后端接口.然后加入icon圖標.網上看了很多小程序加icon圖標例...
摘要:使用雪碧圖,能夠減少頁面的請求數降低圖片占用的字節,以此來達到提升頁面訪問速度的目的。也正是因為這一點,導致很多開發者懶于使用雪碧圖。本文就介紹下怎樣使用來自動合并雪碧圖。生成的每個雪碧圖默認的規則是目錄名圖片名。 css雪碧圖又叫css精靈或css sprite,是一種背景圖片的拼合技術。使用css雪碧圖,能夠減少頁面的請求數、降低圖片占用的字節,以此來達到提升頁面訪問速度的目的。但...
摘要:除此之外,部分頁面,其實完全可以由網頁去支持多端共用的功能,樓主親身遇到過的場景,就是圖表的繪制,我們的方案是一個頁面,需要微信,手機網頁,和都具備該功能,而且我們手機網頁和客戶端打開的稍微有區別,需要隱藏。 showImg(https://segmentfault.com/img/bVzxDW); 相信好多寫React Native的都是前端出身,當然遇見問題的,也很多時候會想從前端...
摘要:概述項目開發過程中使用到了不少前端美化效果的方法,總結一下圖片作為背景要實現的效果是,任意一張圖片,不需要調整圖片尺寸,圖片完全填充網頁背景。 概述 項目開發過程中使用到了不少web前端美化效果的方法,總結一下 1 圖片作為背景 要實現的效果是,任意一張圖片img-page-background.png,不需要調整圖片尺寸,圖片完全填充網頁背景。首先需在CSS代碼中創建.page-bg...
閱讀 1836·2021-09-23 11:21
閱讀 698·2019-08-30 15:55
閱讀 831·2019-08-29 15:40
閱讀 528·2019-08-29 12:56
閱讀 3158·2019-08-26 12:00
閱讀 3552·2019-08-23 18:24
閱讀 2245·2019-08-23 17:08
閱讀 1636·2019-08-23 17:03