成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

利用styleSheets快速生成一個(gè)圖標(biāo)庫(kù)界面

bbbbbb / 726人閱讀

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

&01.需求

需求 : 實(shí)現(xiàn)一個(gè)圖標(biāo)庫(kù)的選擇界面,展示UI庫(kù)中所有的圖標(biāo)并提供選擇功能

ICON庫(kù)——iview UI 共 860 個(gè)

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

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

基本知識(shí)參考-CSS操作

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

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

注意?。?!

styleSheetscssRules 都是 Object 類(lèi)型,其本身定義了一個(gè) length 的鍵值;

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

還有一點(diǎn)要注意的是:在開(kāi)發(fā)環(huán)境下,css未被打包時(shí)肯能會(huì)有多個(gè)styleSheets存在、而生產(chǎn)環(huán)境下css會(huì)默認(rèn)被統(tǒng)一打成一份即只存在一個(gè)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)生成圖標(biāo)

語(yǔ)法基于 iview UI庫(kù)用法

共 {{icons.length||0}} 個(gè)圖標(biāo)

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

收工

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/117319.html

相關(guān)文章

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

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

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

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

    劉永祥 評(píng)論0 收藏0
  • React Native 開(kāi)發(fā)小Tips

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

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

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

    awkj 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<