кросс-браузерный CSS аккуратные решения? - PullRequest
0 голосов
/ 10 мая 2011

По вашему мнению, что было бы изящным способом сделать кросс-браузерный CSS (IE7, Safari, Chrome, Firefox).

Учитывая, что это огромное веб-приложение, и у него большой основной файл CSSи некоторые другие css-файлы.

Условный Css?и использовать разные CSS для каждого браузера?Любой известный инструмент?

Спасибо.

Ответы [ 4 ]

5 голосов
/ 10 мая 2011

По моему мнению, если вы написали хороший CSS для начала, то единственным браузером, который потребует значительной исправительной работы, будет IE (до v9).

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

Очевидное исключение из этого, если данный браузер не 'не поддерживает функцию, которую вы пытаетесь использовать.В этом случае вы должны использовать обнаружение функций, а не обнаружение браузера.Это более надежное решение, поскольку велика вероятность, что относительно скоро будет выпущена новая версия этого браузера, которая будет поддерживать эту функцию.

Для обнаружения функций я рекомендую Modernizr .

Некоторые функции, отсутствующие в IE, такие как закругленные углы CSS, могут быть исправлены с помощью таких хаков, как CSS3Pie , что позволяет использовать стандартный код CSS для этих функций для всех браузеров, включая IE.

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

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

1 голос
/ 10 мая 2011

Я считаю, что лучше всего использовать условные комментарии для IE:

<!--[if IE 7]>
    <link href="styles/IE7styles.css" rel="stylesheet" type="text/css">
<! [endif]-->

Видя, как другие браузеры ведут себя так, как вы ожидаете, вы можете просто использовать специфическую для IE7 таблицу стилей:)

0 голосов
/ 10 мая 2011

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

У меня обычно есть "основной" файл CSS изатем целевые версии IE с условными комментариями.

0 голосов
/ 10 мая 2011

Я бы не стал беспокоиться о совместимости браузера, пока у вас не возникнут проблемы с совместимостью браузера.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...