Когда люди к чему-то привыкают, изменить это сложно. По разным причинам появляется все больше новых браузеров, но старые невозможно устранить. Рост всегда быстрее смерти, в результате чего совместимость браузеров становится бесконечной темой. Говоря о совместимости браузеров, естественно, на ум приходит CSS HACK . Сегодня в компании обычно есть команда или группа людей, которые делают одно и то же. Нам нужны унифицированные спецификации кодирования, чтобы облегчить обслуживание. Способ решения проблемы совместимости (так и должно быть, потому что с этим чаще всего возникают проблемы) является одной из наиболее важных спецификаций, которые необходимо решить.
Что касается решений совместимости, если мы хотим сформулировать единую спецификацию, я лично считаю, что основными принципами должны быть следующие три пункта:
Ставить здесь стоимость на первое место не означает, что мы не хотим стремиться к совершенству, но слишком сознательное стремление к совершенству может иногда препятствовать нашему прогрессу; после затрат оно должно быть поддерживаемым и читаемым, что очень важно для сотрудничества команды, и это имеет решающее значение. Конечным результатом является снижение затрат.
Давайте сначала запомним эти три принципа и посмотрим на наши обычные методы написания для решения совместимых задач (подробный список методов Hack будет приложен позже):
1. Взлом CSS-селектора
/* Опера */
@media все и (-webkit-min-device-pixel-ratio:10000), не все и (-webkit-min-device-pixel-ratio:0)
{head~body .sofish{display:block;}}
Плюсы и минусы такого способа написания :
2. Взлом свойств CSS
.sofish{
отступ: 10 пикселей;
дополнение: 9px9; /* все, т.е. */
отступ: 8 пикселей ; /* ie8-9 */
*padding:5px; /* ie6-7 */
+padding:7px; /* ie7 */
_padding:6px; /* ie6 */
}
Плюсы и минусы такого способа написания :