癖モード - IE 6&7とjQueryのDOCTYPE CSSのバグ
-
19-09-2019 - |
質問
それが動作するはずです。
[OK]を奇妙な振る舞います:
私は、CSSはIE 6&7で動作しますが、私はDOCTYPEを宣言した場合、それは動作しませんDOCTYPEを宣言していない場合は、問題があります。なぜ???
jQueryの:
$('tr:first-child').children().css({
'width': settings.minWidth + 'px',
'height': settings.tableHeaderHeight + 'px',
'overflow': 'hidden',
'white-space': 'nowrap',
'color': 'blue'
});
HTML DOCTYPEする / W - テーブルヘッダ差を確認するためにFirefoxとIE 6&7で表示してください
HTML DOCTYPEする / WO - テーブルヘッダ差を表示するには、FirefoxとIE 6&7で表示してください
DOCTYPE私は宣言しています:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
役立つコメントの後、私はQuirksモードは、私は、CSSの私が欲しい効果が、DOCTYPEであるDOCTYPEを追加していないときに使用されていることがわかったのでうっ!!!
任意の回避策?提案?
ソリューション、YEAH !!!
jQueryの
// This adds a div tag around the table header text
// - IE white-space bug in standard mode
$('table.className tr th').wrapInner(
"<div class='ie_correct_header_whitespace'></div>"
);
CSS
.ie_correct_header_whitespace {
white-space: nowrap;
}
解決
まず第一に、私は真剣に、それは標準モードで動作させるために、あなたをお勧めします。任意のレイアウトはただ働き "にするためにQuirksモードに依存することは非常に健康的なアプローチではありません。
あなたは、ブロック要素でコンテンツをラップのは、DIV要素を言わせて、その後、あなたのテーブルヘッダーであなたのDIVを置くことができます。 オーバーフローと幅はあなたに所望の効果を与え、標準モードではそのように尊重されるべきである。
所属していません StackOverflow