Ошибка jQuery DOCTYPE CSS в IE 6 и 7 - Режим Quirks
-
19-09-2019 - |
Вопрос
Хорошо, странное поведение, когда это должно сработать:
Проблема в том, что если я не объявляю doctype, CSS работает в IE 6 и 7, но если я объявляю DOCTYPE, он не работает.Почему???
jQuery - jQuery - запрос:
$('tr:first-child').children().css({
'width': settings.minWidth + 'px',
'height': settings.tableHeaderHeight + 'px',
'overflow': 'hidden',
'white-space': 'nowrap',
'color': 'blue'
});
HTML с / DOCTYPE - Пожалуйста, просмотрите в Firefox и IE 6 и 7, чтобы увидеть разницу в заголовке таблицы
HTML wo/ DOCTYPE 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">
Итак, после полезного комментария я обнаружил, что режим quirks используется, когда я не добавляю DOCTYPE, который является CSS-эффектом, который я хочу, но с DOCTYPE, тьфу!!!
есть какие-нибудь обходные пути?Предложения?
Решение, ДА!!!
jQuery - 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 в заголовок таблицы.Переполнение и ширина должны соблюдаться таким образом в стандартном режиме, что даст вам желаемый эффект.