CSSを使用してテーブルを強調表示する方法について、以前に質問しました。JavaScript
テーブルの境界線が適切に見えるようにするのに苦労しています。
たとえば、テーブルの境界線では、余白を に設定しました0
。列にカーソルを合わせると、境界線のサイズが大きくなると、テーブル全体がわずかに「ジャンプ」します。これを防ぐために、表のセルのサイズを変更しようとしましたが、違いはありません。
ここで JSFiddle の問題を説明しています: http://jsfiddle.net/grNr8/6/。これらの画像では少しわかりにくいですが、フィドルが問題を示していることを願っています。
私CSS
は次のとおりです。
table, td {
background-color: white;
border: 0px solid white;
border-collapse: collapse;
}
列を強調表示すると、ピクセルの太さの境界線2
が選択されます。$('td').css({height: '29px'});
を使用して(および から変更して)セル サイズを変更して実験してみまし26 - 29
たが、効果は変わりません。Javascript
私が強調するために使用しているのは、主に以前の質問への回答に基づいています。
$('td').hover(function() {
var t = parseInt($(this).index()) + 1;
$('td:nth-child(' + t + ')').first().addClass('highlightedTop');
$('td:nth-child(' + t + ')').addClass('highlighted')
$('td:nth-child(' + t + ')').last().removeClass('highlighted').addClass('x');
$('td').css({
height: '39px'
});
if (t > 1) {
var t1 = t - 1;
$('td:nth-child(' + t1 + ')').addClass('highlightedPrev');
$('td:nth-child(' + t1 + ')').last().removeClass('highlightedPrev');
}
}, function() {
var t = parseInt($(this).index()) + 1;
$('td:nth-child(' + t + ')').removeClass('highlighted ');
$('td:nth-child(' + t + ')').first().removeClass('highlightedTop');
$('td:nth-child(' + t + ')').last().removeClass('highlightedBottom');
$('td:nth-child(' + t + ')').last().removeClass('x');
if (t > 1) {
var t1 = t - 1;
$('td:nth-child(' + t1 + ')').removeClass('highlightedPrev');
}
});
よりスムーズに表示するためにセルのサイズを変更することは可能ですか、それとも別のアプローチを使用する必要がありますか? の白い境界線の厚さを使用して実験し1px
ましたが、角に奇妙な結合があり、端に非対称の境界線ができてしまいます。