亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > CSS > 正文

CSS :focus-within的具體使用

2024-07-11 09:07:53
字體:
供稿:網(wǎng)友

CSS的世界真是一個(gè)神奇的世界??赡鼙姸嗲岸碎_發(fā)者聽說過 :focus 并未聽說過 :focus-within 。那么 :focus-within 是什么鬼。這篇文章,我們就說說 :focus-within 這個(gè)東東。

:focus-within是什么

在CSS中 :focus-within 是一個(gè)偽類,現(xiàn)在已經(jīng)被列入到CSS選擇器中(CSS Level 4 selector)。他就像你知道的 :focus 或者 :hover 。 :focus-within 能非常方便處理獲取焦點(diǎn)狀態(tài)。當(dāng)元素本身或其后代元素獲得焦點(diǎn)時(shí), :focus-within 偽類的元素就會(huì)有效。

如果文字不好理解,咱們先來看一個(gè)簡(jiǎn)單的示例:

<div class="form-group">    <label for="email">        Your email:    </label>    <input type="email" name="email" id="email" placeholder="Enter your email address"/></div>

上面是一個(gè)簡(jiǎn)單的表單,有一個(gè) input 表單控件。

.form-group *:focus {    background: yellow;    color: #000;}.form-group {    padding: 10px;    border: 3px solid transparent}.form-group:focus-within {    border-color: #000;}

上面的示例中, .form-group 得到焦點(diǎn)的時(shí)候, border-color 顏色換成了 #000 。但這不意味著接收鍵盤的焦點(diǎn),那是因?yàn)?<div> 不一定能得到鍵盤的焦點(diǎn),沒有設(shè)置 tabindex 。或者說 div 中的鏈接或 input 元素接收焦點(diǎn),那么 .form-group 元素將改變邊框顏色。

看到上面的示例,是不是覺得好神奇。在以前要實(shí)現(xiàn)類似的效果,我們需要借助JavaScript的腳本。通過 .form-group 的后代元素的鼠標(biāo)或鍵盤事件,然后給其父元素(或祖先元素,添加對(duì)應(yīng)的樣式)。

:focus-within的使用場(chǎng)景

:focus-within 非常強(qiáng)大,主要是由于偽類在它的任何元素獲取到焦點(diǎn)時(shí)都將被激活。當(dāng)元素包含許多子組件的元素上謹(jǐn)慎使用該偽類。

有了 :focus-within 之后,有一些常見的交互行為就變得非常的簡(jiǎn)單,特別是以前需要JavaScript的鍵盤事件的交互行為,我們都可以使用 :focus-within 來替代。

接下來,咱們來看一些 :focus-within 的常見示例。

表格行的高亮

一個(gè)常見的例子,就是表格行高亮的行為,即鼠標(biāo)懸浮在表格的行時(shí),顏色變得高亮。這樣的交互樣式可以幫助有視力阻礙的用戶能更好的閱讀一個(gè)復(fù)雜的表格或長(zhǎng)表格。因?yàn)橥怀龅娘@示,可以使用這些用戶更容易地跟蹤他們當(dāng)前正在閱讀的表格行。以前常常實(shí)現(xiàn)的方式是通過 :hover 來改變表格行的樣式,這種方案對(duì)于正常的用戶而言是一件易事,但如果你的用戶對(duì)于一些操作鼠標(biāo)有阻礙的用戶而言,那 :hover 就有點(diǎn)蛋疼了。如果你是追求完美的話,你可能會(huì)通過JavaScript的鍵盤事件給表格行添加樣式。

那么有了 :focus-within 之后,我們就可以和JavaScript說拜拜。我們可以這樣來設(shè)置樣式:

上面的示例展示了如何使用 :focus-within 來突出表格的整個(gè)行。如果在特定的表格行中有一個(gè)可獲取焦點(diǎn)的可用元素,這里所指的是通過鍵盤獲取焦點(diǎn)。比如上面這個(gè)示例,表格中有 <a> 元素,你懂的, a 元素是可以通過鍵盤獲取焦點(diǎn)的。

這個(gè)時(shí)候你只需要在樣式中添加:

tbody tr:focus-within,tbody tr:hover {    background: rgba(lightBlue, .4);}

下拉菜單

下拉菜單是我們最常的Web組件之一。當(dāng)我第一次看到 :focus-within 這個(gè)偽類時(shí),我想到的第一個(gè)使用場(chǎng)景就是下拉菜單。

上面的示例中,JavaScript是用來跟蹤用戶鍵盤焦點(diǎn)在一個(gè)導(dǎo)航下拉菜單中的。如果JavaScript檢測(cè)到鍵盤焦點(diǎn)在一個(gè)鏈接上,那么給 .nav__list_drop 添加一個(gè) .has-focus 類。當(dāng) li 有了 .has-focus 類時(shí),他的子元素就會(huì)顯示出來,也就是下拉菜單會(huì)顯示出來。

這樣的效果,我們可以直接通過 :focus-within 來取代JavaScript腳本的功能。使用 .nav__list__drop:focus-within 替代 .nav__list__drop.has-focus 。當(dāng)你操作鍵盤,讓下拉菜單項(xiàng)獲得焦點(diǎn)時(shí),就會(huì)顯示下拉菜單。

.nav__list a:focus + .nav__list__drop,.has-drop:hover .nav__list__drop,.nav__list__drop:focus-within {    opacity: 1;    transform: translateY(0px);    height: auto;    z-index: 1;}

Off-screen Nav

Off-screen Nav是在移動(dòng)端上常見的一個(gè)效果。那么這個(gè)效果我們也可以通過 :focus-within 來實(shí)現(xiàn)。詳細(xì)代碼可以看下面這個(gè)示例:

瀏覽器兼容性

:focus-within 雖然很有意思,但很多同學(xué)擔(dān)心它的兼容性。通過Caniuse,我們可以看到瀏覽器對(duì)其支持度情況:

總結(jié)

如果你熟悉 :focus 并不奇怪,但是你知道 :focus-within 的話,說明你在不斷的關(guān)注CSS相關(guān)的新特性。當(dāng)然這個(gè)屬性再次刷新了CSS的世界真是奇怪。如果你感興趣的話,不仿自己寫寫Demo。你會(huì)喜歡上這個(gè)屬性的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到CSS教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久精品一区八戒影视| 国产精品久久夜| 自拍偷拍免费精品| av女人的天堂| 熟女熟妇伦久久影院毛片一区二区| 在线播放日韩av| 欧美视频在线视频| 激情视频在线观看免费| 亚洲青青青在线视频| 久久久久久久久伊人| 欧美视频观看一区| 日韩在线欧美在线| 亚洲欧美制服第一页| 操bbb操bbb| 完整版免费av片| 日本一区二区三区国色天香| 国产成人精品影视| 国内伊人久久久久久网站视频| 国产精品一 二 三| 日本三级2019| 久久嫩草精品久久久精品一| 国偷自产av一区二区三区| 精品伦精品一区二区三区视频密桃| 亚洲女爱视频在线| 国产成人精品免费看在线播放| caoporn国产精品免费视频| 国产精品99久久久久久大便| 在线观看免费av片| 中文字幕国产高清| 国产乱码精品一区二区三区四区| 91精品久久久久久粉嫩| 图片区日韩欧美亚洲| 国产一区日韩欧美| 欧美色婷婷久久99精品红桃| 欧美三级免费| 欧美日韩国产区| 亚洲av成人精品日韩在线播放| 久久99热这里只有精品国产| 日本欧洲国产一区二区| 久久国产精品露脸对白| 成年在线播放小视频| 男人添女人荫蒂免费视频| 欧美一级色片| 亚洲美女网站18| 91高清国产| 国产综合视频在线观看| 国产精品嫩草影院一区二区| 性视频1819p久久| 少妇精品视频在线观看| 亚洲精选在线| 日韩大尺度在线观看| 国产成人免费看一级大黄| 国产二区视频| 大伊人狠狠躁夜夜躁av一区| 亚洲爆乳无码一区二区三区| 黄色片视频在线播放| 在线观看免费视频a| 麻豆影视在线观看_| 999精品一区| 色伊人久久综合中文字幕| a√免费观看在线网址www| 久久综合99| 在线成人国产| 鲁片一区二区三区| 日本免费网站视频| 精品人妻无码一区二区| 成年人黄色在线观看| 免费黄色网页在线观看| 日本免费专区| 亚洲靠逼com| 中文字幕不卡在线播放| 欧美日韩日本网| 国产在亚洲线视频观看| 天堂v在线观看| 99久久人爽人人添人人澡| 清纯唯美激情亚洲| 亚洲国产va精品久久久不卡综合| 粗大的内捧猛烈进出在线视频| 亚洲高清影院| 国产亚洲精品日韩| 国产精品久久9| 精品久久国产| av超碰在线观看| 97精品国产97久久久久久免费| 国产精品亚发布| 91亚洲国产成人精品一区二区三| www视频在线播放| 在线播放第一页| 国产精品无码网站| 99re66热这里只有精品8| 成人av影视| 久久精品亚洲国产奇米99| 国产精品日日摸夜夜爽| 欧美电影三区| 国产乱码一区二区三区四区| 亚洲日本成人| 亚洲第一主播视频| 亚洲综合精品国产一区二区三区| 成人精品一二区| 欧美视频在线一区| 国产日产久久高清欧美一区| 亚洲精品国产动漫| 97影院秋霞午夜在线观看| 色爱区综合激月婷婷| 日本不卡高清视频| 欧美午夜一区二区三区免费大片| 777电影在线观看| 中出中文字幕| 日韩视频精品在线观看| 中文字幕一区二区三区在线乱码| 午夜神马福利影院| 国产精品久久久久一区二区国产| 欧美人与动牲性行为| 中文字幕欧美日本乱码一线二线| 精品无码一区二区三区爱欲| 你懂的在线观看视频网站| 欧美日韩在线免费观看视频| 欧美一区二区在线免费观看| 久草视频免费在线播放| 国产精品视频免费在线| 六月丁香综合在线视频| 欧美三电影在线| 青青草免费观看免费视频在线| 欧美在线中文字幕| 97超级在线观看免费高清完整版电视剧| 91精品国产高清91久久久久久| 中文字幕在线2021| 日韩av电影免费| 在线免费观看毛片| 国产小视频免费在线观看| 电影一区电影二区| 日本久久久久亚洲中字幕| 欧美一级淫片aaaaaa| 青青国产91久久久久久| 主播国产精品| 人人爱人人干婷婷丁香亚洲| 亚洲最大福利视频网站| 羞羞视频立即看| 亚洲黄在线观看| 国产无人区一区二区三区| 中文字幕一区二区三区在线乱码| 日本午夜精品理论片a级app发布| 色橹橹高清视频在线播放| 精品动漫3d一区二区三区免费| 91九色在线免费视频| 国内精品嫩模av私拍在线观看| 污网站免费看| 日韩成人动漫| 91精品国产高久久久久久五月天| 欧美黑人激情| 男人午夜免费视频| 国产亚洲综合性久久久影院| 日韩在线免费播放| 久久久久久久久久久久91| 亚洲欧洲闷骚av少妇影院| 日韩欧美在线字幕| 综合久久中文字幕| www.自拍偷拍| 欧美人与性动交α欧美精品| 精品国产一区二区三区av片| 亚洲国产高清一区二区三区| 91高清在线免费观看| 国模雨婷捆绑高清在线| 精品久久久免费视频| 在线播放av更多| 影音先锋在线播放| 亚洲人成网站在线播| 97精品一区| 国产欧美另类| 污版视频在线观看| 亚洲伊人春色| 国产一区二区三区四区五区入口| 欧美一级二级三级视频| 九九热最新视频| 国产一级片大全| 最新中文字幕一区二区三区| 欧美性猛片xxxxx免费中国| 一区二区三区在线播放欧美| 亚洲人成绝费网站色ww| 2020天天干夜夜爽| 97高清视频| 欧美 日韩 中文字幕| 日韩国产高清一区| 波多野结衣三级视频| 色播五月综合网| 国产日韩欧美影视| 北岛玲精品视频在线观看| 在线观看视频日韩| 超碰在线12| 欧洲亚洲一区二区三区| 国产一级黄色录像| 精品极品在线| 国产无限制自拍| 久久不见久久见免费视频7| 亚洲视频网站在线观看| 午夜天堂影视香蕉久久| 中文综合在线观看| 在线亚洲国产精品网站| 在线碰免费视频在线观看| 国产精品一色哟哟哟| 欧美色图在线观看| 动漫一区在线| 国产网红在线观看| 五月天激情国产综合婷婷婷| 亚洲欧美日韩在线不卡| 中国黄色一级视频| 91精品国产综合久久久久久豆腐| 久久在线观看| 一本一道久久a久久综合蜜桃| 亚洲伊人伊色伊影伊综合网| 亚洲国产sm捆绑调教视频| 一区二区三区四区精品| 国产男女无套在线播放| 亚洲综合色网站| 亚洲一区二区三| 看全色黄大色黄女片18| 日韩一区国产二区欧美三区| 成年女人在线看片| 欧美国产日本视频| 国产经典一区| 成人精品视频在线播放| 911av视频| 天天综合在线观看| 成人亚洲一区二区| 国产日韩欧美一区二区三区四区| 欧美日韩人妻精品一区二区三区| 先锋亚洲精品| 成人性生活毛片| 国产精品影院在线观看| 国模大尺度一区二区三区| 国产综合久久久久影院| 精品嫩草影院| 亚洲欧洲日产国产综合网| 日韩av在线电影网| 污的网站在线观看| 两个人看的在线视频www| 激情视频网址| 国内精品久久99人妻无码| 国产免费一区二区三区最新不卡| 九九免费精品视频| 亚洲精品久久久久中文字幕欢迎你| 在线播放免费视频| 国产精品久久久久久久99| 少妇人妻好深好紧精品无码| 久久精品国产成人精品| 亚洲成av人片在www色猫咪| 亚洲第一网中文字幕| 激情婷婷欧美| 国产精品揄拍一区二区| 亚洲欧洲综合| 成人网在线视频| 天天操天天射天天舔| 性色av免费观看| 色哟哟在线观看| 色香蕉在线观看| 污视频在线看操| 久久aⅴ乱码一区二区三区| 猫咪av网站| 麻豆一二三区精品蜜桃| 在线观看免费高清视频97| 91丝袜脚交足在线播放| 欧美在线不卡| 91|九色|视频| 狂野欧美xxxx韩国少妇| 全部孕妇毛片丰满孕妇孕交| 国产精品美女黄网| 成人知道污网站| 丝袜美腿成人在线| 美女xx视频| 午夜国产一区二区| 狠狠色丁香九九婷婷综合五月| 国产精品xxxx| 战狼4完整免费观看在线播放版| 羞羞网站在线观看入口免费| 日本黄色免费片| 大地资源高清播放在线观看| 久草视频免费在线播放| 91天堂素人约啪| 欧美色视频在线观看| 台湾成人免费视频| 成人免费看吃奶视频网站| 九九九九精品九九九九| 欧美aa在线视频| 亚洲精品日韩激情在线电影| 熟女少妇a性色生活片毛片| 偷窥自拍亚洲色图精选| 成人动漫av| a在线视频播放观看免费观看| 日韩欧美亚洲范冰冰与中字| 国产一区二区在线不卡| 免费看黄色的视频| 欧美中文字幕视频| 日韩免费中文专区| 日韩av综合网站| 日韩黄色大片| 亚洲视频资源在线| 在线观看免费网站黄| 成人免费毛片东京热| 日韩免费av一区| 国产美女视频网站| 午夜精品在线视频一区| 另类图片国产| 日韩三级影视| 日韩伦理一区二区三区| 色婷婷国产精品综合在线观看| 天天做夜夜做人人爱精品| www.av在线视频| 北条麻妃69av| 26uuu国产在线精品一区二区| 97精品国产97久久久久久久久久久久| 成人在线视频一区二区| 手机在线免费观看av| 色爱av美腿丝袜综合粉嫩av| 成年人福利网站| 亚洲午夜久久久久久久久电影网| 国产又粗又大又黄| 麻豆国产一区二区三区四区| 日日噜噜夜夜狠狠久久丁香五月| 中文字幕在线播放不卡| 日日躁夜夜躁人人揉av五月天| 欧美乱大交xxxxx潮喷l头像| 中文字幕欧美日韩一区二区三区| 欧美12一14sex性hd| 色婷婷综合视频在线观看| 亚洲性生活视频在线观看| 久久爱.com| 国产精品一国产精品k频道56| 国产亚洲欧美日韩在线一区|