在 Gridview 中,我根据某些条件添加了一个行 CSS 类。这个类在行的边框上添加了一个插入框阴影,它在 FireFox 中运行良好。在 IE 中,它添加了行阴影,但它在单元格级别添加它,因此单元格左侧和右侧的单元格边框也被突出显示。当我只想突出显示该行时,这会显示每个带有插入发光的单元格边框。
Chrome 的行为类似于 IE,但没有插入框阴影。它只为边框着色。
正如我所说,它在 FF 中看起来不错。关于如何在 IE 和 Chrome 中纠正这个问题的任何想法,其中框阴影只为边框着色,但我可以接受。
CSS类
.rowGlow
{
border-collapse:separate;
border-color:#ff0000;
box-shadow:inset 0 0 3px 1px #ff0000;
-moz-box-shadow:inset 0 0 3px 2px #ff0000;
-webkit-box-shadow:inset 0 0 3px 2px #ff0000;
}
行标签
<tr class="rowGlow" style="color:#333333;background-color:#F7F6F3;">
jQuery将css类添加到行中,具体取决于行中的隐藏值
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {if (args.get_error() == undefined) {alertTest();}}
function alertTest() {
$(document).ready(function () {
$('tr').each(function () {
if ($(this).find('input[type=hidden]').val() == 'False') {
var du = <%= DateUpdates() %>;
if(du){$(this).addClass('rowGlow');}
}
});
});
}
alertTest();
这就是我最终的结果。更新 jQuery 以添加两个额外的 CSS 类,一个用于第一个 TD,一个用于最后一个 TD:
$(this).addClass('rowGlow').find('td:first-child').addClass('firstCell');
$(this).find('td:last-child').addClass('lastCell');
.rowGlow
{
-webkit-box-shadow:inset 0 -3px 3px -1px #ff0000,inset 0px 3px 3px -1px #ff0000;
-moz-box-shadow: inset 0 -2px 3px -1px #ff0000,inset 0px 2px 3px -1px #ff0000;
box-shadow: inset 0 -3px 3px -1px #ff0011,inset 0px 3px 3px -1px #ff0000;
}
.firstCell
{
-webkit-box-shadow: inset 3px 0px 3px -2px #ff0000;
-moz-box-shadow: inset 3px 0px 3px -2px #ff0000;
box-shadow: inset 3px 0px 3px -2px #ff0000;
}
.lastCell
{
-webkit-box-shadow: inset -3px 0px 3px -2px #ff0000;
-moz-box-shadow: inset -3px 0px 3px -2px #ff0000;
box-shadow: inset -3px 0px 3px -2px #ff0000;
}
<!-- For IE8 and lower I have this conditional -->
<!--[if lt IE 9]>
<style type="text/css">
.rowGlow {
background-color: #F9ACAA !important;
/* color: #000!important; */
}
</style>
<![endif]-->