Может ли использовать зум: 1 в моих классах CSS?
-
03-10-2019 - |
Вопрос
Всякий раз, когда я нахожу IE, отображает мой сайт странно (отличается от Chrome и Firefox), я пытаюсь положить zoom:1
В классе CSS для части, которая отображается странно. Большое время это исправляет проблему и делает его в соответствии с другими браузерами.
Это проблема в использовании zoom:1
? Я знаю, что мои CSS не подтверждают, но есть ли какие-либо реальные мировые проблемы, которые могут возникнуть, если я слишком сильно полагаю zoom:1
?
Решение
Проблема, которую вы сражаетесь с этим, это то есть hasLayout
проблема. Здесь Это хорошая статья и обзор, на который свойства также вызывают «иметь макет» в IE.
Я знаю без побочных эффектов zoom: 1
За исключением того, что это не W3C, действует. Я уверен, что я использую это сам в некоторых проектах.
Тем не менее, есть, конечно, удаленный шанс, что zoom
Становится настоящим свойством CSS однажды - или используется в другом проприетарном контексте, как на iPad или что-то, что может привести к разбитому.
Действительно чистый Решение, зума нет. Если вообще возможно, это хорошая идея, чтобы дать элемент «Макет» в какой-то другой степени, как указано в статье.
Другие советы
Наоборот, существуют окончательные недостатки для использования зума: 1, даже в IE. Обычно я включаю в себя только в стилизацию только в IE, но даже в последние несколько дней я боролся с некоторыми проблемами макета, потому что я решил использовать * {Zoom: 1;}
- На вынос - используйте его на ограниченной основе. Если вы заботитесь только о IE7 +, вы можете использовать минимальную высоту: 1%, что имеет тот же эффект запуска HASLAYOOT
По состоянию на ноябрь 2012 года все больше вероятность того, что Zoom когда-нибудь станет действительным CSS, хотя кажется, что использование его в приведенном выше контексте не должно быть никаких негативных побочных эффектов.
Видеть: http://dev.w3.org/csswg/css-device-adapt/ или http://www.w3.org/tr/css-device-adapt/
Зум поддерживается только IE, поэтому не в данный момент. Потенциально может быть будущая собственность под названием Zoom, которая могла испортить вещи, но это вряд ли из-за широко распространенного использования.
display: inline-block;
делает то же самое, но это стандартный код.
в редкий случай это создает проблему, вы можете использовать
display: block !important; /* or inline, etc. */
display: inline-block; /* in this order */
Чтобы отправить его только на древние версии Internet Explorer, для которого это полезно.