令人惊讶的是,不是IE导致我麻烦,而是Firefox。
小提琴: http://jsfiddle.net/EwUnt/
此表的重点是突出显示光标所在单元格的行和列。
每次我在Firefox下对它进行测试时,它只会突出显示行本身而不是两列,列和行。(适用于IE,Chrome,Safari和Opera)
在JS小提琴上它运作良好,但是在空白的html或Wordpress上却没有。
我正在用它加载这些库。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://codeorigin.jquery.com/ui/1.9.2/jquery-ui.js"></script>
脚本:
$(document).ready(function () {
function firefoxFix() {
if ( /firefox/.test( window.navigator.userAgent.toLowerCase() ) ) {
var tds = document.getElementsByTagName( 'td' );
for( var index = 0; index < tds.length; index++ ) {
tds[index].innerHTML = '<div class="ff-fix">' + tds[index].innerHTML + '</div>';
};
var style = '<style>'
+ 'td { padding: 0 !important; }'
+ 'td:hover::before, td:hover::after { background-color: transparent !important; }'
+ '</style>';
document.head.insertAdjacentHTML( 'beforeEnd', style );
};
};
firefoxFix();
)};
它出了什么问题?
答案 0 :(得分:6)
每当涉及表格或display: table-cell
时,Firefox都存在相对/绝对定位问题。这已经报告给Firefox开发者,但到目前为止还没有实现修复。 Bug report 1 - Bug Report 2
因此,您width: 100%
上的td:hover::after
相对于正文而非单元格显示。
您可以通过将td
设置为display: inline-block
并指定宽度来解决此问题。
修复可以在这里看到:http://jsfiddle.net/EwUnt/27/