国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
主要輸入限制
評(píng)估所有投入
結(jié)合細(xì)微差別的查詢(xún)
可能需要腳本
避免經(jīng)歷破裂
明確的用戶(hù)選擇
負(fù)責(zé)的查詢(xún)
首頁(yè) web前端 css教程 交互媒體特征及其潛力(對(duì)于錯(cuò)誤的假設(shè))

交互媒體特征及其潛力(對(duì)于錯(cuò)誤的假設(shè))

Apr 02, 2025 pm 06:15 PM

交互媒體特征及其潛力(對(duì)于錯(cuò)誤的假設(shè))

本文是對(duì)2015年Dev.opera作品的大大擴(kuò)展更新,闡明了有關(guān)媒體查詢(xún)級(jí)別4相互作用媒體功能的誤解( pointer , hover , any-pointer , any-hover )。原始文章誤解了any-hover: none ;該版本與最新的工作草案保持一致,解決了瀏覽器實(shí)現(xiàn)之間的不一致之處(請(qǐng)參閱當(dāng)前的測(cè)試結(jié)果和相關(guān)的錯(cuò)誤報(bào)告)。

媒體查詢(xún)4級(jí)旨在根據(jù)用戶(hù)輸入設(shè)備調(diào)整網(wǎng)站樣式和功能(通過(guò)window.matchMedia的CSS Interactivity或JavaScript行為)。雖然通常得到很好的支持,但實(shí)施變化持續(xù)存在。

常見(jiàn)用例涉及根據(jù)觸摸屏與鼠標(biāo)/手寫(xiě)筆的使用調(diào)整控制大小,或者有條件地啟用基于懸停的菜單:

 <code>@media (pointer: fine) { /* Mouse or stylus: small controls okay */ } @media (pointer: coarse) { /* Touchscreen: larger touch targets */ } @media (hover: hover) { /* Enable hover menus */ } @media (hover: none) { /* Disable hover menus */ }</code>

開(kāi)發(fā)人員經(jīng)常利用這些功能進(jìn)行觸摸檢測(cè),通常在檢測(cè)pointer: coarse時(shí)聆聽(tīng)觸摸事件:

 if(window.matchmedia && window.matchmedia(“(指針:cooly)”)。匹配){
 / *粗指針:聽(tīng)觸摸事件 */
 target.AddeventListener(“ TouchStart”,...);
} 別的 {
 / *否則,使用鼠標(biāo)/鍵盤(pán)事件 */
}

但是,這種方法是簡(jiǎn)單的,并且誤解了功能的目的。

主要輸入限制

pointerhover僅揭示主要指針輸入的特征。這可能與用戶(hù)的實(shí)際主要輸入有所不同,尤其是在設(shè)備/輸入線模糊的情況下。至關(guān)重要的是,這些功能無(wú)法檢測(cè)到僅鍵盤(pán)的用戶(hù)。因此,無(wú)論查詢(xún)結(jié)果如何,請(qǐng)確保鍵盤(pán)可訪問(wèn)性。

帶有藍(lán)牙鼠標(biāo)的手機(jī)可能會(huì)報(bào)告pointer: coarsehover: none 。相反,表面平板電腦可能主要使用觸控板( pointer: fine ),但是用戶(hù)可能更喜歡觸摸屏。

any-pointerany-hover都可以解決此問(wèn)題。

評(píng)估所有投入

any-pointerany-hover反映了所有指針輸入的組合功能。如果輸入具有不同的特征,則多個(gè)值可以匹配。當(dāng)前的實(shí)施通常的行為如下:

為了改善原始用例,對(duì)所有指針輸入的基本決策:“如果任何輸入很粗糙,放大控件”和“如果至少一個(gè)輸入支持懸停的話,則啟用Hover Menus?!?/p>

 <code>@media (any-pointer: coarse) { /* At least one coarse pointer: larger controls */ } @media (any-hover: hover) { /* At least one hover-capable input: enable hover menus */ }</code>

any-pointer: none僅當(dāng)存在指針輸入時(shí),沒(méi)有一個(gè)是正確的。 any-hover: none僅當(dāng)沒(méi)有任何輸入支持懸停的情況下,就不是正確的,從而使其在很大程度上冗余。

結(jié)合細(xì)微差別的查詢(xún)

結(jié)合查詢(xún)以進(jìn)行精致評(píng)估:

 <code>@media (pointer: coarse) and (any-pointer: fine) { /* Primary input is touchscreen, but a fine input exists. Prioritize touch, but mouse/stylus users can still interact. */ } @media (pointer: fine) and (any-pointer: coarse) { /* Primary input is mouse/stylus, but a touchscreen exists. Larger controls might be safest. */ } @media (hover: none) and (any-hover: hover) { /* Primary input lacks hover, but another input supports it. Treat hover as optional. */ }</code>

響應(yīng)環(huán)境變化,瀏覽器會(huì)動(dòng)態(tài)重新評(píng)估查詢(xún)(例如,添加藍(lán)牙鼠標(biāo))。

可能需要腳本

交互媒體功能并未表示當(dāng)前使用的輸入。類(lèi)似于輸入的工具?跟蹤JavaScript事件,但這僅在互動(dòng)開(kāi)始提供信息,并且由于偽造的事件(輔助技術(shù),iOS完整鍵盤(pán)支持)可能不準(zhǔn)確。

避免經(jīng)歷破裂

基于事件的觸摸檢測(cè)( pointer: coarse - >聽(tīng)觸摸事件)是有缺陷的。它可以防止在觸摸設(shè)備上使用非電視屏幕屏幕輸入,并在主要由鼠標(biāo)驅(qū)動(dòng)的設(shè)備上使用觸摸屏輸入。相反,請(qǐng)務(wù)必收聽(tīng)鼠標(biāo)/鍵盤(pán)事件,并僅在any-pointer: coarse為T(mén)RUE時(shí)才添加觸摸事件偵聽(tīng)器:

 / *始終收聽(tīng)鼠標(biāo)/鍵盤(pán)事件 */
target.AddeventListener(“ click”,...);

if(window.matchmedia && window.matchmedia(“(任何點(diǎn):croun)”)。匹配){
 / *如果存在粗線,也請(qǐng)聽(tīng)觸摸事件 */
 target.AddeventListener(“ TouchStart”,...);
}

或者,使用指針事件進(jìn)行統(tǒng)一輸入處理。

明確的用戶(hù)選擇

提供一個(gè)可供用戶(hù)選擇的模式(觸摸/鼠標(biāo)),以避免輸入檢測(cè)陷阱。使用媒體查詢(xún)通知默認(rèn)設(shè)置,并檢測(cè)觸摸輸入以提示模式開(kāi)關(guān)。

負(fù)責(zé)的查詢(xún)

了解交互媒體功能的局限性。不要假設(shè)單個(gè)輸入類(lèi)型,只依靠pointerhover ,或忽略鍵盤(pán)可訪問(wèn)性。取而代之的是,優(yōu)先考慮觸摸友好性,提供用戶(hù)選擇,并始終確保鍵盤(pán)可訪問(wèn)性。

以上是交互媒體特征及其潛力(對(duì)于錯(cuò)誤的假設(shè))的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁(yè)面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量?jī)?nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢(xún)樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過(guò)JavaScript;3.使用media屬性?xún)?yōu)化加載如打印樣式;4.壓縮合并CSS減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過(guò)度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個(gè)根據(jù)目標(biāo)瀏覽器范圍自動(dòng)為CSS屬性添加廠商前綴的工具。1.它解決了手動(dòng)維護(hù)前綴易出錯(cuò)的問(wèn)題;2.通過(guò)PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動(dòng)加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什么是圓錐級(jí)函數(shù)? 什么是圓錐級(jí)函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁(yè)腳 CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁(yè)腳 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

CSS自定義屬性的范圍是什么? CSS自定義屬性的范圍是什么? Jun 25, 2025 am 12:16 AM

CSS自定義屬性的作用域取決于其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類(lèi)中的變量?jī)H對(duì)匹配該類(lèi)的元素及其子元素可用。最佳實(shí)踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實(shí)現(xiàn)封裝;3.避免重復(fù)聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問(wèn)題。此外,CSS變量區(qū)分大小寫(xiě),且應(yīng)在使用前定義以避免錯(cuò)誤。若變量未定義或引用失敗,則會(huì)采用回退值或默認(rèn)值initial。調(diào)試時(shí)可通過(guò)瀏覽器開(kāi)發(fā)者工

解鎖CSS動(dòng)畫(huà)的潛力:深度潛水 解鎖CSS動(dòng)畫(huà)的潛力:深度潛水 Jun 20, 2025 am 12:14 AM

cssanimationsenhancewebpagesbyimprovinguserexperienceandsiteFunctionallity.1)usetransitionsforsmoothstylechanges,asinthebuttoncolorexample.2)losplyKeyKeyframesforeSfordEteTailEdAnimations.3)

See all articles