簡體   English   中英

使用可見性:隱藏和顯示:CSS中沒有?

[英]Using visibility: hidden and display: none together in CSS?

我想一起使用的原因是我想像display一樣隱藏內容:none,而不會像可視性那樣保留任何空格:hidden。

同時,我希望在用戶從網頁復制整個表時不要復制隱藏內容,這不是因為它是敏感信息,而是因為用戶隱藏了該字段,因此不希望復制它。 可見性:隱藏不會復制,但顯示:沒有,所以我很困惑。

有人知道解決方案嗎?

編輯:
我最終所做的只是建議的操作,將信息另存為Javascript(因為它始終不是敏感信息),並使用Javascript動態創建/刪除。

我認為不給元素以visibility: hidden可以防止用戶復制表中的信息,盡管這可能是瀏覽器特定的行為。 看看我設置的測試: http : //jsfiddle.net/a9JhV/

Windows 7上的Firefox 3.6.8的結果是

Copy ME!    Don't copy me :(    Copy ME!    Copy ME!
Copy ME!    Don't copy me :(    Copy ME!    Copy ME!

這不能按預期工作。


我已經編寫了一些代碼,完成了很多工作……在這里看看: http : //jsfiddle.net/a9JhV/7/

它使用jQuery來隱藏和顯示表列-實際上是將它們從DOM中刪除,而不僅僅是玩弄它們的可見性和其他內容。 嗚!

為什么不從頁面中刪除節點? 您可以使用以下方法完成此操作:

<script type = 'text/javascript' language = 'JavaScript'>
document.getElementById('yourDivId').innerHTML = '';
//OR
document.removeChild(getElementById('yourDivId')); //(I think this is right...document might need to be replaced by the div's parent)
</script>

您應該使用javascript刪除“隱藏的” DOM對象,然后在用戶需要時重新創建它。 例如,已刪除記錄中的數據可以存儲在會話存儲或隱藏輸入中。

如果要從源中隱藏元素,請將其放在單獨的文本文件中,然后使用類似ajax的調用加載...這將防止html出現在源文件中。

如果您在內容上放置清晰的圖像,他們也將無法輕松突出顯示該圖像(並且通過使用JavaScript,您可能會禁用其執行ctrl + a的功能)

希望有幫助!

創建一個代表表的對象是一個好主意:

var myTable = function(tableName){
    // If you want to assign columns dynamically you could create this.addColumn();
    this.Columns = new Array(
                   new Array("row1","row2","row3","row4"),
                   new Array("row1","row2","row3","row4")
                   );

    this.reBuild = function(){
        for (col in this.Columns){
            for(row in this.Columns[col]){
                // put the cell in the table
            }
        }
    };
};

我沒有測試此代碼,它只是說明了存儲和構建表的要點。

暫無
暫無

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

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