Какие CSS-хаки для IE 6 и 7 являются перспективными?
Какие CSS-хаки для IE 6 и 7 являются перспективными? Я имею в виду, если я использую тогда, они никогда не будут создавать никаких проблем, и их патч никогда не будет реализован?
Управление 2 CSS один для всех и один для IE занимает много времени, и он добавляет еще одну таблицу стилей. и если какой-либо хак может решить проблему в основном CSS, то это экономит время, и когда над одним проектом работают несколько человек, большую часть времени мы забываем вносить изменения и в условный CSS.
я не спрашиваю о состоянии таблицы стилей
6 ответов
Никто.
Используйте условные комментарии IE для вставки ваших стилей для каждой версии (без каламбура.. ну может немного)
[ обновить ]
Дополнительные примечания к вашему измененному вопросу. Это может занять много времени, но это лучшая практика (кстати, многие из хаков не являются действительными CSS)..
Использование хаков никогда не может быть гарантировано, даже для одних и тех же основных версий браузера. Маловероятно, что они исправят ошибку CSS в IE6 в будущих минорных выпусках, но все же вы не можете быть уверены на 100%..
Существует альтернатива (поначалу, возможно, более длительная), комментирует IE, но это действительно лучшая практика...
Кроме того, подумайте о других программистах в вашей команде, которые все должны знать, понимать и запоминать в будущем одни и те же хаки. Со временем обслуживание хаков будет занимать больше времени, чем сохранение отдельных версий нарушающих правил в других файлах...
Хаки - это хаки, нет никакой гарантии, будут ли они проверены на будущее. Дело в том, что вы должны максимально сократить использование хаков, причина проста, они не могут быть ориентированы на будущее. Разве вы не видите различий между взломами IE6, IE7 и IE8, у них у всех разные взломы, не сохранились все взломы из предыдущих версий. То же самое верно и для других браузеров.
Вообще ни один не является. Но и не должно быть, специальное кодирование для специальных браузеров не является хорошей идеей.
Если вам нужно создать код для особого случая, то лучше всего использовать библиотеку, такую как jQuery, и использовать один из их функциональных тестов. Не делайте "если не IE6", вместо этого делайте "если не поддерживает скругленные углы"
Я не могу думать о собственности, начинающейся с подчеркивания в будущем.
_background: #ff0000;
Все, что связано с переопределением атрибута 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>
Никогда / всегда в чате, отдельный файл для каждой модели браузера быстро разваливается из-за обслуживания.