隱藏 Web 中的元素方法及優(yōu)缺點(diǎn)教程詳解
時(shí)間:2026-05-05 00:30:00這篇文章主要介紹了隱藏 Web 中的隱藏優(yōu)缺元素方法及優(yōu)缺點(diǎn)教程,本文通過(guò)實(shí)例代碼給大家介紹的元點(diǎn)教非常詳細,對大家的素方學(xué)習或工作具有一定的參考借鑒價(jià)值??,需??要的朋友可以參考下
事例源碼:
https://co??depen.io/shadeed/pen/03caf6b36727accb692eecbc38f95d39?edito??rs=??1100
5. 可訪(fǎng)(?⊿?)問(wèn)性對visibility: hidden的影響
該元素被隱藏,其后代將從可訪(fǎng)問(wèn)性樹(shù)中刪除,法及并且屏幕閱讀器不會(huì )渲染該元素。程詳
(1) Positioning
要隱藏帶有posiヽ(′ー`)ノtion屬性的隱藏優(yōu)缺元素,我們應該將它移到屏幕外,元點(diǎn)教并將其大小設置為0(寬度和高度)。素方個(gè)例子就是法及跳轉導航鏈接??紤]下(xia)面的程詳圖:
要將鏈接放置在屏幕之外,我們應該??添加以下內容
poヽ(′▽?zhuān)?ノsition: absolute;
top: -100%;
}
值(′?`*)-100%將推動(dòng)元素100%的隱藏優(yōu)缺視口高度。結果??,元點(diǎn)教它將被完全隱藏。素方一旦它聚焦在鍵盤(pán)上,法及它就會(huì )像這樣顯示出來(lái)
.skip-link:focus {
position: absolute;
top: 0;??
}
事例源碼:
https://codepen.io/shad┐(′?`)┌eed/pen/707992e7c98ea633fc6606e576ef8a04?程詳editors=0100
6. 可訪(fǎng)問(wèn)性對position: absolute | fixed的影響
Clip Path當在元素上使用clip-path時(shí),它創(chuàng )建一個(gè)裁剪區域,該區域定義應該顯示和隱藏哪些部分。
在上面的例子中,透明的黑*域有clip-path。當clip-path應用于元素時(shí),透明黑*域下的任何內容都不會(huì )顯示。
為了更直觀(guān)地演示以上內容,我將使用clippy工具。在下面的GIF中,我有如下的clip-pa??th:
將每個(gè)方向的多邊形值設置為0 0,則裁剪區域的大小將調整為0。結(??-)?果,圖像將不會(huì )顯示。同樣,這也可以用一個(gè)圓來(lái)代替多邊形:
img {
clip-path: circ(/ω\)le(0 at 50% 50%);
}
7. 可訪(fǎng)問(wèn)性對clip-pa(′?_?`)th的影響
元素僅在視覺(jué)上隱藏, 屏幕閱讀器和鍵盤(pán)焦點(diǎn)仍然可以使用它。
事例源碼:
https://codepen.io/shadeed/pen/┐(′?`)┌9fdbd7be9f??d9dac17a614c96ba7f64b1?edit??ors=0100
三、控制顏色和字┐(′ー`)┌體大小
雖然這兩種技術(shù)不像我們前面討論的那樣常見(jiàn),但它們可能對某些用例有用。
1. 顏色透明
2. 字體大小
Like
我們的目標是以可訪(fǎng)問(wèn)的方式隱藏文本。為(wei)此,我添加了以下CSS┐(′?`)┌
.button span {
color: transparent;
font-size: 0;
}
這樣,文本就被隱藏了。它甚至可以在不更改顏色的情況下工作,(′?`*)但是我出于解釋目的添加了(le)它。??
事例源碼:
https://codepen.io/shadeed/pen/4eacdf50c3339fced7f787156c(╯°□°)╯569372?editors=1100
3. Aria Hi??dden
當向元素添加aria-hidden屬性時(shí),它將從可訪(fǎng)問(wèn)性樹(shù)中刪除??該元素,這可以增強屏幕閱讀器用戶(hù)的體(′;д;`)驗。注意,它并沒(méi)有在視覺(jué)上隱藏元素,它只針對屏幕閱讀器用戶(hù)
<button>
Me(′-ι_-`)nu
<svg aria-hidden='true'><!-- -->??</svg>
</button>
在上(???)面的例子中,我們有一個(gè)帶有標簽和圖標的菜單按ヽ(′ー`)ノ鈕。為了向屏幕閱讀器隱藏圖標,添加了ari??a-hidden。
根據Mozilla Developer Network (MDN),下面是屬性的用例
隱藏裝飾性的內容,如圖標、圖像。
隱藏復制文本。
隱藏屏幕外或折疊的內容。
4. 可訪(fǎng)問(wèn)性對aria-hidden="true"的影響
是為屏幕閱讀器設計的,因為它只對屏幕閱讀器隱藏內容。然而,內容對于有視力的用戶(hù)仍然是可見(jiàn)的,并且鍵盤(pán)是可聚焦的。
(1) 動(dòng)畫(huà)與互動(dòng)
菜單動(dòng)畫(huà)-不好的例子??
我們有一個(gè)菜單,在展開(kāi)時(shí)需要有滑動(dòng)動(dòng)畫(huà)??。最簡(jiǎn)單的方法是在菜單中添加以下內容:
ul {
opacity: 0;
transfor??m: translateX(100%);
transition: 0.3s ease-out;
}
ul.active {
transform: translateX(0);
}
有了上述內容,菜單將根據.ac??tive類(lèi)展開(kāi)和折疊,該類(lèi)將通過(guò) JavaScript 如下添加:
menuToggle.addEventListener('click', function(e??){
e??.preventDefault(ヾ(′▽?zhuān)??);
navMenu.classList.toggle('active');
});
結果可能看起來(lái)不錯,但它有一個(gè)很大的錯誤。使??用opacity: 0不會(huì )隱藏可訪(fǎng)問(wèn)性樹(shù)的導航。即使導航在視覺(jué)上是隱藏的,它仍然可以通過(guò)鍵盤(pán)聚焦,并且可以被屏幕閱讀器訪(fǎng)問(wèn)??。必須將其隱藏以避免混淆用戶(hù)。
下面是來(lái)自Chrome開(kāi)發(fā)工具的 accessibility tree 的截圖:
簡(jiǎn)而言之(zhi),accessibility tree是屏幕閱讀器用戶(hù)可以訪(fǎng)問(wèn)的所有內容的列表。在我們的例子中,導航列表在那里,而它在視覺(jué)上是隱藏的。我們需要解決兩個(gè)問(wèn)題:
菜單隱藏時(shí)避免用鍵盤(pán)聚焦
當導航隱藏時(shí),避免通過(guò)屏幕??閱讀器告知導航
下面的屏幕截圖顯示了Mac OS上的VoiceOver轉子是如何看到頁(yè)面的。導航列表在那里,而它是隱藏的
事例源碼:
https://codepen.io/shadeed/pen/e94f37( ?° ?? ?°)7dae6104fe45a71c80d59bb58d?editors=0100
菜單ヽ(′▽?zhuān)?ノ動(dòng)畫(huà)-好的例子
「css」
ul {
visibility: hidden;
opacity: 0;
transform: translateX(100%);
transition: 0.3s ease-out;
}
visibility: visible;
opacity: 1;
transform: translateX(0);
}
添加后,菜單將從屏幕閱讀器中隱藏。讓我們再次測試,看看Vo??iceOver將顯示什么:
事例源碼:
https://codepen.io/shade(?????)ed/pen/e94f377dae6104fe45a71c80d59bb58d?editors=0110
5. 自定義復選框
默認的復選框設計很難自定義,因此,我們需要為復選框創(chuàng )建自定義設計。??讓我們看看基本的 HTML:
Custom checkbox
要自定義復選框,我們需要以一種可訪(fǎng)問(wèn)的方式隱藏輸入。為此,應該使用position和其他屬(′▽?zhuān)?性。有一個(gè)常見(jiàn)的CSS類(lèi),稱(chēng)為sr-only或visual -hidden,它只在視覺(jué)上隱藏一個(gè)元素,并讓鍵盤(pán)和屏幕閱讀器用戶(hù)可以(???)訪(fǎng)問(wèn)它。
.sr-only {
border: 0;
clip: rect(0 0 0 0);
-webkit-clip-path: polygon(0px 0px, 0p??x 0px, 0px 0px);
clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
height: 1px;
margin: -1px;
overfl(′?`)ow: hidden;
padding: 0;
position: absolute;
width: 1px;
white-space: nowrap;
}
事例源碼:https://codepen.io/shadeed/pen/b722aa72dbe3574617f6(′▽?zhuān)?)506d14e5ac03?editors=1100
隱藏按??鈕
在Twitter上,有一個(gè)名為“查( ?ヮ?)看新推文”(See New Tweets)的按鈕,對于帶有aria-hidden內容的屏幕閱讀器來(lái)說(shuō)是隱藏的,只??有在有新??推文可用時(shí)才會(huì )顯示出來(lái)。
總結
到此這篇關(guān)于隱藏 Web 中(zhong)的元素方法及優(yōu)缺點(diǎn)教程詳解的文章就介紹到這了,更多相關(guān)隱藏ヽ(′▽?zhuān)?ノ Web 中的元素內容請搜索腳本??之家以前的(′ω`)文章或繼續瀏覽下面的相關(guān)文章,希望(′▽?zhuān)?大家以后多多支持腳本之家!
客服電話(huà)18123279828
Copyright ? 2012-2018 天津九安特機電工程有限公司 版權所有 備案號:
客服電話(huà)17389284207