Какие CSS-хаки для IE 6 и 7 являются перспективными? - PullRequest
3 голосов
/ 29 января 2010

Какие CSS-хаки для IE 6 и 7 являются перспективными? Я имею в виду, что если я буду использовать их тогда, они никогда не создадут никаких проблем, и их патч никогда не будет реализован?

Управление 2 CSS один для всех и один для IE занимает много времени, а также добавляет одну дополнительную таблицу стилей. и если какой-либо хак может решить проблему в основном CSS, то это экономит время, и когда над одним проектом работают несколько человек, большую часть времени мы забываем вносить изменения и в условный CSS.

Я не спрашиваю о состоянии таблицы стилей

Ответы [ 6 ]

24 голосов
/ 29 января 2010

нет.
Используйте условные комментарии IE для вставки вашей версии ( без каламбура .. ну, может быть, немного ) стилей ..


[ обновление ]
Дополнительные примечания к вашему измененному вопросу. Это может занять много времени, но это лучшая практика ( кстати многие хаки не действительны css ) ..

Использование хаков никогда не может быть гарантировано, даже для тех же основных версий браузера. но все же вы не можете быть уверены на 100% ..

Существует альтернатива (, возможно, сначала занимает больше времени ), как я отмечал в комментариях IE, но это действительно лучшая практика ...

Кроме того, подумайте о других программистах в вашей команде, которые все должны знать, понимать и запоминать в будущем те же хаки. Со временем для взлома станет больше времени, чем для поддержки отдельных версий правил, нарушающих правила. в других файлах ..

2 голосов
/ 29 января 2010

Хаки - это хаки, нет никакой гарантии, будут ли они проверены на будущее. Суть в том, что вы должны максимально сократить использование хаков, причина проста, они могут не быть перспективным. Разве вы не видите различий между взломами IE6, IE7 и IE8, у них у всех разные взломы, не сохранились все взломы из предыдущих версий. То же самое верно и для других браузеров.

1 голос
/ 29 января 2010

Все, что связано с переопределением атрибута CSS позже в коде, просто следует стандарту CSS и поэтому является перспективным.

body {
   background: url('background.jpg') center;
   background: url('background-top.jpg') top, url('background-bottom.jpg') bottom;
}

Однако это работает только при использовании функций, которые недоступны в старых браузерах, и не при работе с ошибками, специфичными для браузера. Чтобы убедиться, что конкретные версии вашего CSS используются конкретными версиями Internet Explorer, используйте условные комментарии.

<head>
    ...
    <!--[if lt IE 8]><link rel="stylesheet" type="text/css" src="ie7.css" /><![endif]-->
    <link rel="stylesheet" type="text/css" src="generic.css" />
</head>
1 голос
/ 29 января 2010

Я не могу думать о свойстве, начинающемся с подчеркивания в будущем.

_background: #ff0000;
1 голос
/ 29 января 2010

Вообще говоря, нет. Но и не должно быть, специальное кодирование для специальных браузеров не является хорошей идеей.

Если вам нужно создать код для особого случая, то лучше всего использовать библиотеку, такую ​​как jQuery, и использовать один из их тестов функций. Не делайте "если не IE6", вместо этого делайте "если не поддерживает скругленные углы"

0 голосов
/ 20 апреля 2011

Никогда / всегда в чате, отдельный файл для каждой модели браузера быстро разваливается из-за обслуживания.

...