久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      CSS :placeholder-shown偽類是專門用于確定元素是否顯示占位符的對(duì)象,主要使用它來(lái)檢查input內(nèi)容是否為空。 本篇文章帶大家了解一下:placeholder-shown偽類,詳細(xì)介紹一下它是如何工作的。

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      使用此偽類來(lái)設(shè)置當(dāng)前顯示占位符文本的輸入的樣式,換句話說(shuō),用戶未在文本框中鍵入任何內(nèi)容

      根據(jù)您的輸入是否為空,應(yīng)用一些動(dòng)態(tài)樣式非常好

      input:placeholder-shown {   border-color: pink; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      它是如何工作的?

      :placeholder-show 是CSS偽類,可讓您將樣式應(yīng)用于具有占位符文本的 <input><textarea>。

      <input placeholder="placeholder text" /> <textarea placeholder="placeholder text"></textarea>

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      結(jié)果:

      • 如果顯示占位符,則為粉紅色,表示用戶未輸入任何內(nèi)容
      • 如果未顯示任何占位符,則為黑色,表示用戶已鍵入內(nèi)容

      :placeholder-showd必須具有占位符

      如果元素沒(méi)有占位符文本,則此選擇器將不起作用。

      <input /><!-- 沒(méi)有占位符 -->  <!-- 這也被視為沒(méi)有占位符文本 --> <input placeholder="" />
      input:placeholder-shown {   border-color: pink; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      :placeholder-shown vs ::placeholder

      因此,我們可以使用 :placeholder-shown 設(shè)置輸入元素的樣式。

      input:placeholder-shown {   border: 1px solid pink;   background: yellow;   color: green; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      ☝️嗯…注意到有些奇怪——我們將顏色設(shè)置為:綠色,但沒(méi)有用。好吧,這是因?yàn)?:placeholder-shown 只針對(duì)輸入本身。但是對(duì)于實(shí)際的占位符文本,您必須使用偽元素 ::placeholder。

      input::placeholder {   color: green; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      但是!當(dāng)我在處理這個(gè)問(wèn)題時(shí),我注意到還有一些其他屬性,如果在 :placeholder-shown 級(jí)別應(yīng)用,將會(huì)影響到占位符文本。

      input:placeholder-shown {   font-style: italic;   text-transform: uppercase;   letter-spacing: 5px; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      現(xiàn)在,我真的不知道為什么會(huì)發(fā)生這種情況,也許是因?yàn)檫@些屬性被占位符繼承了。

      :placeholder-shown vs :empty

      盡管 :placeholder-shown 是專門用于確定元素是否顯示占位符的。實(shí)際上,我們可以使用它來(lái)檢查輸入是否為空(當(dāng)然,假設(shè)所有輸入都有一個(gè)占位符)。因此,也許您的下一個(gè)問(wèn)題是,我們不能使用CSS empty嗎?好吧,讓我們檢查一下

      <input value="not empty"> <input><!-- empty -->
      input:empty {   border: 1px solid pink; }  input {   border: 1px solid black; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      期待:

      • 如果為空則為粉紅色
      • 如果不為空為黑色

      嗯…從這里開始,您可能會(huì)認(rèn)為 :empty 似乎在起作用,因?yàn)槲覀兛吹降氖欠奂t色邊框。但這實(shí)際上不起作用

      粉紅色顯示的原因是因?yàn)閭晤愒黾恿颂禺愋?,類似于類選擇器(即 .form-input)比類型選擇器(即 input)具有更高的特異性。高特異性選擇器將始終覆蓋低特異性設(shè)置的樣式。

      這是判決!不要使用 :empty 檢查輸入元素是否為空

      如何在沒(méi)有占位符的情況下檢查輸入是否為空?

      好了,所以我們檢查輸入是否為空的唯一方法是使用 :placeholder-shown。但是,如果我們的輸入元素沒(méi)有占位符,會(huì)發(fā)生什么情況?好吧,這是一個(gè)聰明的方法!傳入一個(gè)空字符串 " "

      <input placeholder=" "><!--  傳遞空字符串 -->
      input:placeholder-shown {   border-color: pink; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      與其他選擇器組合

      所以,我們可以針對(duì)顯示占位符文字的輸入元素,這很酷。換句話說(shuō),如果顯示了占位符文本,那么一定意味著該元素是空的。利用這些知識(shí),我們可以將這個(gè)偽類與其他選擇器結(jié)合起來(lái),做一些非常整潔的事情!讓我們來(lái)看看。

      反向 :placeholder-shown:not

      我們可以使用 :not 偽類來(lái)做一些反向的事情。在這里,我們可以在輸入不是空的時(shí)候進(jìn)行目標(biāo)操作。

      <input placeholder="placeholder" value="not empty" />
      input:not(:placeholder) {   border-color: green; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      結(jié)果:

      • 綠色,如果不為空,則表示用戶已經(jīng)輸入了一些內(nèi)容。
      • 如果為空,則為黑色

      浮動(dòng)標(biāo)簽

      使用占位符而不使用標(biāo)簽的問(wèn)題之一就是無(wú)障礙,因?yàn)橐坏┠阍诖蜃值臅r(shí)候,占位符文字就沒(méi)有了,這可能會(huì)導(dǎo)致用戶的困惑。一個(gè)真正好的解決方案是浮動(dòng)標(biāo)簽。最初,占位符文本顯示時(shí)沒(méi)有標(biāo)簽,而一旦用戶開始輸入,標(biāo)簽就會(huì)出現(xiàn)。這樣一來(lái),你仍然可以在不影響用戶體驗(yàn)和可訪問(wèn)性的前提下,保持表單的簡(jiǎn)潔性。雙贏

      而這是可以用純CSS實(shí)現(xiàn)的,我們只需要將 placeholder-shown:not+ 結(jié)合起來(lái)就可以了。這是一個(gè)超級(jí)簡(jiǎn)化版的浮動(dòng)標(biāo)簽。

      <input name="name" placeholder="Type name..." /> <label for="name">NAME</label>
      label {   display: none;   position: absolute;   top: 0; }  input:not(:placeholder-shown) + label {   display: block; }

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      瀏覽器支持

      對(duì) :placeholder-shown 的支持非常好!這包括Internet Explorer(是的,我和你一樣驚訝)。但是,對(duì)于IE,你需要使用非標(biāo)準(zhǔn)名稱 :-ms-input-placeholder。

      CSS中什么是:placeholder-shown?如何工作?有什么用?

      本文轉(zhuǎn)載自:https://segmentfault.com/a/1190000039928413

      作者:杜尼卜

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)