IE CSS錯誤:表格邊框顯示div,可見性:隱藏,位置:絕對問題
-
IE CSS錯誤:表格邊框顯示div,可見性:隱藏,位置:絕對問題,css,-,Css, ,我在一個頁面上有一個,該頁面最初是用可見性隱藏的:隱藏;位置:絕對。問題是,如果以這種方式隱藏的包含一個使用邊框折疊:折疊的表,并且在其單元格上設置了邊框,則該邊框在IE上仍然顯示“通過”隱藏的通過在IE6或IE7上運行下面的代碼,自己嘗試一下。您應該會看到一個白色頁面,但您會看到:可能的解決辦法因為這是在IE上發生的,而不是在其他瀏覽器上發生的,所以我認為這是一個IE bug。一種解決方法是添加以下代碼以覆蓋邊框:.hide table tr td {: non
我在一個頁面上有一個
,該頁面最初是用
可見性隱藏的:隱藏;位置:絕對
。問題是,如果以這種方式隱藏的
包含一個使用
邊框折疊:折疊的表,并且在其單元格上設置了邊框,則該邊框在IE上仍然顯示“通過”隱藏的
通過在IE6或IE7上運行下面的代碼,自己嘗試一下。您應該會看到一個白色頁面,但您會看到:
可能的解決辦法因為這是在IE上發生的,而不是在其他瀏覽器上發生的,所以我認為這是一個IE bug。一種解決方法是添加以下代碼以覆蓋邊框:
.hide table tr td {
border: none;
}
我想知道:
代碼
/*桌子的樣式*/
.表tr td{
邊框:1px純色灰色;
}
.桌子{
邊界塌陷:塌陷;
}
/*類用于隱藏節*/
.隱藏{
可見性:隱藏;
位置:絕對位置;
}
嘎嘎
關于您可能的解決方法:因為您想要可見性:隱藏而不是顯示:無我認為表保持相同大小很重要。我擔心將邊界設置為“無”會改變這一點
如果您知道希望看到白色矩形,則將邊框顏色設置為白色更安全。當然,如果您想通過隱藏表查看背景,它就不起作用。
如果您沒有使用絕對定位,我會假設隱藏時保持div的大小對您來說仍然很重要。但是,由于您使用的是絕對定位,因此可以使用
display: none;
這將完成同樣的事情(在IE7中測試)
在:的情況下,隱藏的元素會占用相同的屏幕空間,就像它仍然存在一樣。當您使用:none時ie11表格邊框無法顯示,它幾乎就像是從DOM中刪除的一樣
您看到的原始問題可能是IE bug。
我找到的解決方案是添加一個頂部/左側以將渲染移出屏幕,這可以保護我們免受此類IE bug的影響。在上面的示例中,這意味著您將
hide
類的CSS定義為:
.hide {
visibility: hidden;
position: absolute;
top: -10000px;
left: -10000px;
}
更多信息:
這是一個IE漏洞。不會使用“邊框間距”來識別“邊框折疊”,這不會導致此問題。使用“顯示:無”的解決方案是可行的,但還有另一種可能性。如果屬性是使用設置的,那么邊框也會隱藏(正如預期的那樣)。
另一種可能的解決方法是在表格的樣式中添加“:alpha(=100);”。
基于這些不同的注釋,我通過在我的CSS主表中使用這個CSS類解決了這個問題:
.hidden {
position: absolute;
visibility: hidden;
}
以及專用于IE的CSS表單中的那些行(通過html頁面上的一個hack包含):
這對我現在在IE8上的工作很好
非常感謝您的提示;)
為什么在使用樣式表時不能正確地將其隱藏ie11表格邊框無法顯示,但在使用設置樣式時卻會隱藏?不支持
邊框折疊
?當然,它是()的;你一定有別的意思。您建議使用
邊框間距
作為一種變通方法,但是代碼看起來會是什么樣子呢?請隨意使用此進行測試:。在這種情況下,請將邊框顏色設置為
transparent
。非常感謝,這修復了當包含div關閉可見性時在IE中留下重影的相關問題。
.hidden {
position: absolute;
visibility: hidden;
}
table.hidden, .hidden table {
visibility: hidden;
position: absolute;
border-collapse: separate;
left: -1000px;
top: -1000px;
}