2017-02-23 39 views
0

我有一個要求保持隱藏div,並使其在用戶執行操作時可見。替代顯示:無使用CSS和Javascript

但是,由於依賴於外部腳本,我不能使用style="display:none"爲我的div。

因此,爲了滿足這個要求,我想爲我的div使用style="visibility:hidden,height:0",當用戶執行一個動作時,使用jquery將其樣式更改爲"visibility:visible,height:auto",我已經測試並正常工作。

在計算機和手機中使用的方法有什麼問題嗎?是否任何瀏覽器阻止具有高度0的div的內容?

我在這個論壇上看到一些帖子建議使用「position:absolute」以及高度變化來達到這個目標。那麼,是否需要將div更改爲絕對值,或者我改變可見度和高度的方法是否正確?

+2

你試圖使用「display:沒有!重要「? – Kornflexx

+3

爲什麼你不能使用''display:none'''?你能切換一個CSS類而不是使用內聯樣式嗎? – Sean

+0

我不能使用display:none,因爲我使用mathjax庫來加載數學。這個庫需要容器的寬度和高度才能正確加載,當涉及到帶有display:none的div時,它會將內容附加到body,處理它並將其加載回原始div。見https://www.peterkrautzberger.org/0165/ – Kiran

回答

1

你可以將你的元素的可見範圍之外通過添加CSS類:

.custom-hidden { 
    position: absolute; 
    top: -5000px; //use !important if needed 
} 
+0

是的,沒關係。但是,我試圖瞭解我的方法是否存在任何問題 – Kiran

0

您的解決方案是合適的,否則你仍然可以嘗試

1) opacity: 0; 

2) position: absolute; 
    left: -9000px; 

3) transform: scale(0)