polymer 自定義元素學習

2021-07-15 22:58:27 字數 1771 閱讀 3894

這是一篇

polymer

學習教程

,關於polymer 自定義元素

的css詳解。有什麼不對的歡迎拍磚。

css樣式優先規則

但同乙個元素有定義多個css樣式時優先規則是,使用權重值最高的那個樣式!

css權值相等將使用最後的那條定義

style=」」,權值為1000。

d選擇器【#id】,權值為100。

class類【.class】權值為10。

元素【div | p | span】等。

權值為1。

eg:

#t>span{}   >  .class>span   >  div>span

當使用 important 定義css時,他的權重大於未使用css定義

div

改變polymer樣式方法

會在index head 生成這個polymer元素的樣式

不管使用的是自定義元素還是polymer提供的元素,都會引用頁的head生成這個樣式塊!

生成的style的順序原則  「 從上到下, 從子到父」  

1、直接改自定義元素中的css

2、外層定義更高權值的css來覆蓋 (body he.my-elem)

3、使用!important

polymer提供更優雅的處理css設定問題

1、var(--my-elem-color, red);

定義乙個css變數 --my-elem-color (--)這個是必須的

red 為預設值 }

--my-elem-color 變數的賦值

1、my-elem

2、:host

自定義中的css變數取值規則

1、從當前元素的作用域開始找 ---在到父元素,即從裡往外查詢,取最近乙個變數值。

同行元素不會被查詢。這裡提到的父元素是polymer關係上的父元素,而非dom樹上的關係如

my-elemp非my-elem的父元素

下面這樣才是

2、my-elem定義的先查詢,未找到後才開始:host定義中查詢

:host就把他當成用來定義預設值用 2、

這可以定義在父元素上,也可以直接放到最外層,index.html上。

css塊定義

跟單個定義使用方法是一樣的!

外部css引用方法

1、需要以自定義元素的方式:theme-css.html

2、需要匯入自定義元素

3、使用自定義css

自定義元素內的使用

動態改變css

changetheme: function()

polymer不會動態重新整理檢視需要手動調整updatestyles();

後期跟進

ready: function()

polymer元素樣式亂入問題,作用域引起的。特別是自定義元素,有部分是動態生成時。

目前不是很清楚,後期跟進

總結:

自定義元素中定義的css,作用域只在元素本身,只是個假象,應該說他是限定以css 的class類名作用域。他可影響自定義元素之外的元素,引用類名即可!

但由於polymer自定義元素名的唯一性,並且在生成css前統一加上字首,使其相對作用域在元素本身。

可以通過css變數實現主題化。

自定義元素

自定義元素白名單 vue3中自定義元素檢測發生在模板編譯時,如果要新增一些vue之外的自定義元素,需要在編譯器選項中設定iscustomelement選項 使用vue cli構建工具時,模板都會用vue loader預編譯,設定它提供的compileroptions選項 vue.config.js ...

自定義元件 學習

通過對android的學習,大家都知道,谷歌提供的api demo的一些基本元件雖然很豐富,但遠遠滿足不了我們設計華麗介面的需求,所以這就需要我們自己來定義我們所需要的元件.還好谷歌提供一些自定義控制項的一些方法.現將本人從網上收集以及本人學習的自定義控制項的使用方法列下,供各位參考,如有不妥之處歡...

自定義View Canvas Paint學習

主要學習blog 步驟1 建立乙個畫筆 private paint mpaint new paint 步驟2 初始化畫筆 根據需求設定畫筆的各種屬性,具體如下 private void initpaint 步驟3 在建構函式中初始化 public carsonview context context...