新CSS偽類:focus-within

CSS Firefox 技術 DesignCode 2017-07-16

偶然間發現新的CSS偽類:focus-within,能非常方便處理獲取焦點狀態。

當元素本身或其後代獲得焦點時,:focus-within偽類的元素就會有效。

沒看懂,可以看下面的例子:

<div class="container" tabindex="0">

<label for="text">Enter text</label>

<input id="text" type="text" />

</div>

.container:focus-within {

background-color: #aaa;

}

如果div.container獲取到焦點時,就會有一個#aaa背景色。而且如果其後代元素獲得焦點時,其背景色也會更改,所以<input>收到焦點時,div的背景色仍是#aaa

這樣,我們就不需要實現這樣功能時,總是使用JavaScript,極大方便開發者。

但是,瀏覽器支持:focus-within還是很少,不過相信很快,就會全面支持。

新CSS偽類:focus-within

大家可以看下面的gif動畫(在Firefox瀏覽器下實現)

新CSS偽類:focus-within

可以在支持的瀏覽器下,打開此codepen看看效果。

相關推薦

推薦中...