IE 6& amp; jQuery DOCTYPE CSS bug 7 - 怪癖模式

时间:2009-07-23 18:53:31

标签: jquery doctype html-table

好的奇怪行为应该有效:

问题是如果我没有声明一个doctype,那么CSS在IE 6& 7但如果我宣布DOCTYPE它不起作用。为什么???

jQuery的:

$('tr:first-child').children().css({
   'width': settings.minWidth + 'px',
   'height': settings.tableHeaderHeight + 'px',
   'overflow': 'hidden',
   'white-space': 'nowrap',
   'color': 'blue'
});

HTML w/ DOCTYPE - 请在Firefox和IE 6& 7看表格标题差异

HTML wo/ DOCTYPE - 请在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">

所以在一个有用的评论之后我发现当我不添加DOCTYPE时会使用怪异模式,这是我想要的CSS效果但是有一个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;
}

1 个答案:

答案 0 :(得分:4)

首先,我认真地建议你让它在标准模式下工作。依靠怪癖模式使任何布局“正常工作”并不是一种非常健康的方法。

你可以将你的内容包装在一个块元素中,让我们说一个DIV元素,然后将你的DIV放在你的表头中。 在标准模式下应该以这种方式尊重溢出和宽度,从而为您提供所需的效果。