[英]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
初始值:內聯
看一下這個codepen演示 -注意,如果將鼠標懸停在內容上,所有<div>
元素都會“縮小”並變為“內聯”,即使它們已使用display:initial
進行了設置
如何在顯示狀態和隱藏狀態之間切換對象,而不必提及特定的對象類型?
您可以簡單地切換一個添加后的類-使用display:none
設置該元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.