2010-08-24 2 views
0

Я не понимаю, почему веб-сайт HTML5, над которым я работаю, отличается во всех браузерах. Я знаю, что это должен быть CSS, но я не знаю, что.Обнаружение браузера CSS

на Chrome: http://slackmoehrle.com/chrome.png

на сафари: http://slackmoehrle.com/safari.png

на IE 7: http://slackmoehrle.com/ie7.png

на FireFox Mac: http://slackmoehrle.com/firefox.png

таблицы стилей можно найти здесь: http://slackmoehrle.com/css.css

Может ли кто-нибудь пролить свет?

Многие говорят, что обнаружение браузер не хороший метод, но я не вижу, что нужно сделать, чтобы сделать это все работы в различных браузерах

UPDATE:

без использования сброса CSS: http://slackmoehrle.com/test/without-reset/

с помощью сброса CSS: http://slackmoehrle.com/test/with-reset/

ответ

2

Посмотрите с помощью сброса CSS стилей

Мой личный фаворит: Meyer's: http://meyerweb.com/eric/tools/css/reset/

+0

@irishbuzz - как это можно использовать. Если я вставляю его, он вызывает хаос, но, глядя на него, я определяю некоторые элементы после этого, так что это меня сбивает с толку. мысли? – ator

+0

@Jim - чтобы включить его, вы можете просто связать его отдельно с существующим CSS-файлом в голове, иначе вы можете вставить свой существующий файл CSS, но в любом случае он должен быть перед другим CSS. Можно ли предоставить демонстрационные страницы с таблицей стилей сброса и без нее, чтобы я мог видеть, что может быть ошибкой. – irishbuzz

+0

@irishbuzz - См. Правки для публикации ...... – ator

1

Единственная реальная проблема с обнаружением браузера заключается в том, что если более новая версия браузера будет поддерживать некоторые новые функции (например, округлые границы), но вы все равно будете делать некоторые обходные пути.

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

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

Из моего последнего опыта почти всегда можно поддерживать только две версии этих файлов DIFF: одну для Firefox, Safari, Chrome и другую для семейства IE. И используйте функцию обнаружения JS.

0

Прежде всего, никакая версия IE не может обрабатывать новые элементы HTML5 без помощи javascript. Только современные браузеры могут и IE не являются современным браузером.

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

Смежные вопросы