亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【譯】怎樣創(chuàng)建定制表單組件

William_Sang / 1014人閱讀

摘要:若你想在諸如元素的組件上應(yīng)用高級樣式或者想定制組件的行為,你就只能選擇創(chuàng)建自己的表單組件。我們將通過本文學(xué)習(xí)如何構(gòu)建一個(gè)表單組件。

系列文章說明

原文

在許多情況下,[可用的HTML表單組件]()是不夠的。若你想在諸如元素作為例子。

注意:我們會(huì)專注于構(gòu)建組件,但不會(huì)關(guān)注如何保證代碼的通用和可重用。構(gòu)建組件時(shí)會(huì)涉及到一些特殊的JavaScript代碼和未知上下文中的DOM操作,而這些內(nèi)容已經(jīng)超出了本文的討論范圍。

設(shè)計(jì),結(jié)構(gòu)和語義

在構(gòu)建一個(gè)定制組件前,應(yīng)先從明確你想要達(dá)到的效果開始,這會(huì)節(jié)省你寶貴的時(shí)間。具體來講,清晰地定義組件的所有狀態(tài)是很重要的。要做到這點(diǎn),最好從一個(gè)已經(jīng)存在的、狀態(tài)和行為已經(jīng)為人所熟知的組件開始,這樣你就只需盡可能地模仿該組件即可。

在我們的例子中,我們會(huì)重構(gòu)元素以查看所有可用的選項(xiàng)(這和用鼠標(biāo)點(diǎn)擊元素所需的代碼:


Cherry
  • Cherry
  • Lemon
  • Banana
  • Strawberry
  • Apple

要注意此處class名的使用;這些class標(biāo)記了每個(gè)相關(guān)的元素,而不需要依賴其實(shí)際使用的HTML元素。這么做能確保我們不會(huì)把CSS和JavaScript與HTML結(jié)構(gòu)作強(qiáng)關(guān)聯(lián),從而做到改變后續(xù)的組件代碼實(shí)現(xiàn)時(shí),不破壞使用該組件的代碼。比如你想實(shí)現(xiàn)一個(gè)同樣的元素時(shí),可用直接用相同的代碼來調(diào)用。

用CSS創(chuàng)建樣式和交互

現(xiàn)在我們已經(jīng)有了組件的結(jié)構(gòu)了,接下來要來設(shè)計(jì)組件了。創(chuàng)建這個(gè)自定義組件的目的,是為了用我們想要的形式來給該組件添加樣式。要做到這點(diǎn),我們要把CSS的編碼工作拆為兩部分:第一部分是讓我們組件和元素。要做到這點(diǎn),得先來做兩件事。

首先,我們要在使用自定義組件之前,添加一個(gè)普通的

Cherry

第二,我們還得添加兩個(gè)新的類名,實(shí)現(xiàn)隱藏不需要的元素(即在腳本能運(yùn)行時(shí)的`元素 - 要么body的類名沒有改變,仍是"no-widget",那么類名為"select"的元素就要被隱藏了 */ position : absolute; left : -5000em; height : 0; overflow : hidden; }

至此,我們只需要一個(gè)JavaScript開關(guān)來決定腳本是否能運(yùn)行了。這個(gè)開關(guān)很簡單:若頁面加載了腳本并運(yùn)行,就會(huì)移除no-widget類并添加widget類,實(shí)現(xiàn)對元素,并在頁面中的每個(gè)