簡體   English   中英

為什么為“ display”值分配“'initial'”不適用於列表項?

[英]Why does assigning `'initial'` for the `display` value not work for list items?

為了在顯示狀態和隱藏狀態之間切換元素,我創建了一個函數,該函數接受一個對象和一個布爾值,並根據布爾值為給定對象的display屬性分配'none''initial'

這似乎適用於<div>類的大多數元素,但對於<li>項,分配'initial'似乎消除了問題,並且似乎特別需要分配'list-item' (或'grid' )。

為什么'initial'對於<li>不起作用,如何在不提及特定對象類型的情況下在顯示狀態和隱藏狀態之間切換對象? 我不想根據對象的類型在此函數中提及諸如'block''inline'之類的特定值。

采用

element.style.display = "";

這意味着從元素中刪除內聯樣式。

為什么為display值分配'initial'值”不適用於列表項?

這里的列表項沒有什么特別的。 如果將display:initial應用於<li><div>或其他任何元素 -結果將等同於將display:inline應用於該元素,因為CSS display屬性初始值為 inline

MDN的display屬性

初始值:內聯

看一下這個codepen演示 -注意,如果將鼠標懸停在內容上,所有<div>元素都會“縮小”並變為“內聯”,即使它們已使用display:initial進行了設置

如何在顯示狀態和隱藏狀態之間切換對象,而不必提及特定的對象類型?

您可以簡單地切換一個添加后的類-使用display:none設置該元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM