国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

利用styleSheets快速生成一個圖標庫界面

bbbbbb / 708人閱讀

摘要:需求需求實現(xiàn)一個圖標庫的選擇界面,展示庫中所有的圖標并提供選擇功能庫共個實現(xiàn)思路思路從樣式表中提取所有的的樣式,并處理成數(shù)組利用實現(xiàn)循環(huán)渲染基本知識參考操作屬性返回當前規(guī)則所屬的那個樣式塊實例。

&01.需求

需求 : 實現(xiàn)一個圖標庫的選擇界面,展示UI庫中所有的圖標并提供選擇功能

ICON庫——iview UI 共 860

&02.實現(xiàn)思路

思路iview CSS 樣式表中 提取所有的 .ivu-icon的樣式,并處理成數(shù)組 利用 v-for 實現(xiàn)循環(huán)渲染

基本知識參考-CSS操作

CSSStyleDeclaration.parentRule屬性返回當前規(guī)則所屬的那個樣式塊(CSSRule 實例)。如果不存在所屬的樣式塊,該屬性返回null。

var declaration = document.styleSheets[0].rules[0].style;
declaration.parentRule === document.styleSheets[0].rules[0]
&03.代碼塊

注意!!!

styleSheetscssRules 都是 Object 類型,其本身定義了一個 length 的鍵值;

length 外每個鍵值從0開始自增,所以在取值時以 styleSheets[0] 去取 ,并非數(shù)組的取值;

還有一點要注意的是:在開發(fā)環(huán)境下,css未被打包時肯能會有多個styleSheets存在、而生產(chǎn)環(huán)境下css會默認被統(tǒng)一打成一份即只存在一個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)) ;
              }
          }
      }
  }
  // 數(shù)組去重
  let set = new Set(data);
  this.icons = new Array(...set);
}

循環(huán)生成圖標

語法基于 iview UI庫用法

共 {{icons.length||0}} 個圖標

圖標的選擇功能 基于 vuex 狀態(tài)管理實現(xiàn),選中狀態(tài)由curIcon的值決定每個元素的class

收工

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/117319.html

相關(guān)文章

  • 支付寶小程序之連接后端+詳談引入阿里icon圖標

    摘要:背景第一天練習支付寶小程序的時候?qū)懞昧艘粋€簡單的頁面后續(xù)是新增重置按鈕連接后端接口然后加入圖標網(wǎng)上看了很多小程序加圖標例子說實話沒有單獨能成功的我也不記得結(jié)合了多少個才成功了還是自己寫了篇文章記錄下引入流程可能有點啰嗦但是比較詳細連接后端接 背景:第一天練習支付寶小程序的時候?qū)懞昧艘粋€簡單的頁面.后續(xù)是新增重置按鈕,連接后端接口.然后加入icon圖標.網(wǎng)上看了很多小程序加icon圖標例...

    biaoxiaoduan 評論0 收藏0
  • 使用compass自動合并css雪碧圖(css sprite)

    摘要:使用雪碧圖,能夠減少頁面的請求數(shù)降低圖片占用的字節(jié),以此來達到提升頁面訪問速度的目的。也正是因為這一點,導致很多開發(fā)者懶于使用雪碧圖。本文就介紹下怎樣使用來自動合并雪碧圖。生成的每個雪碧圖默認的規(guī)則是目錄名圖片名。 css雪碧圖又叫css精靈或css sprite,是一種背景圖片的拼合技術(shù)。使用css雪碧圖,能夠減少頁面的請求數(shù)、降低圖片占用的字節(jié),以此來達到提升頁面訪問速度的目的。但...

    劉永祥 評論0 收藏0
  • React Native 開發(fā)小Tips

    摘要:除此之外,部分頁面,其實完全可以由網(wǎng)頁去支持多端共用的功能,樓主親身遇到過的場景,就是圖表的繪制,我們的方案是一個頁面,需要微信,手機網(wǎng)頁,和都具備該功能,而且我們手機網(wǎng)頁和客戶端打開的稍微有區(qū)別,需要隱藏。 showImg(https://segmentfault.com/img/bVzxDW); 相信好多寫React Native的都是前端出身,當然遇見問題的,也很多時候會想從前端...

    kevin 評論0 收藏0
  • web前端——美化效果總結(jié)

    摘要:概述項目開發(fā)過程中使用到了不少前端美化效果的方法,總結(jié)一下圖片作為背景要實現(xiàn)的效果是,任意一張圖片,不需要調(diào)整圖片尺寸,圖片完全填充網(wǎng)頁背景。 概述 項目開發(fā)過程中使用到了不少web前端美化效果的方法,總結(jié)一下 1 圖片作為背景 要實現(xiàn)的效果是,任意一張圖片img-page-background.png,不需要調(diào)整圖片尺寸,圖片完全填充網(wǎng)頁背景。首先需在CSS代碼中創(chuàng)建.page-bg...

    awkj 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<