Чому погано використовувати -moz, -ms, -webkit та інше
Відео: Модель OSI 7 простими словами: еталонна / семиуровневая модель взаємодії відкритих систем
Я дуже часто бачу на сайтах властивості для якогось конкретного браузера. Наприклад, властивість "-moz-border-left; colors", Яке вказує колір лівої рамки у елемента для Firefox. Давайте з Вами розберемо, чому цього робити не варто, а також вкажу лише єдиний випадок, коли -moz, -ms, -webkit і аналоги використовувати можна.
Не буду особливо говорити, що всі ці властивості не входять в стандарт CSS, а тому не є валідними. Як наслідок, їх реалізація може бути в будь-який момент змінена (якщо так вирішать розробники браузерів, адже опису цих властивостей в стандарті CSS немає), в результаті, Ваш сайт може сильно зіпсуватися. Так само не буду особливо пояснювати, чому вони псують загальний вигляд коду. Все це і так зрозуміло.
Відео: Dead by Daylight + Papers Please
Краще розібрати причини того, навіщо використовують ці властивості. А причини тут дві:
- відсутність кросбраузерності. Я можу сміливо сказати, що проблема кросбраузерності вже в минулому. Залишилася тільки проблема неякісної верстки. Всі сучасні браузери адекватно все обробляють. Мінімальні непорозуміння (наприклад, border-radius у input в Opera) Легко вирішуються альтернативним підходом до задачі, коли всі браузери добре відобразять сторінку без всяких "хаков". І дана проблема не є приводом використання" лівих "властивостей.
- Підтримка старіших браузерів. Причому саме "більше", А не просто старих. У старих браузерах цих властивостей і в помині не було. Щоб зрозуміти безглуздість цього, варто подивитися статистику браузерів. Десь 95% аудиторії йде за сучасними браузерам. Решта 5% користуються незрозуміло чим. Псуючи код, Ви отримаєте хороший вид ще від сили на 1% браузерів. Тому зараз краще або виводити повідомлення про те, що варто змінити браузер (у jQuery є плагін jReject, який це робить), або просто ігнорувати. Більш того, я сильно сумніваюся, що серед цих 5% багато людей, швидше за все, більшість там - це боти, які віддають довільні заголовки про клієнта. І старі боти можуть віддавати той же IE6. Так само сюди входять ті, хто як і раніше тестує свої сайти в старих браузерах.
Тому використовуйте CSS3, там всі можливості вже є, і його зможуть побачити як раз 95% аудиторії.
Однак, я пообіцяв сказати, коли властивості -moz, -ms, -webkit та інші, можна використовувати. Це потрібно, якщо Ви хочете зробити, трохи різний дизайн для різних браузерів. Причому саме "трохи", А якщо потрібно повністю міняти все, то простіше через jаvascript визначити браузер і підключити окремий файл стилів. Скажу чесно, я з таким завданням не стикався, але це єдине, що мені прийшло в голову, щоб хоч якось виправдати "зайві"властивості CSS.
Чому dreamweaver - це погано?
Як дізнатися браузер користувача в jаvascript
Чому ваш сайт часто недоступний?
Властивості nav-left, nav-right і nav-up в css3.
Чи варто використовувати css reset
Приховування елементів на css.
Css хакі для браузерів
Об`єкт object в jаvascript
Об`єкт array в jаvascript
Модифікатори доступу в php
Властивості css3 - box-ordinal-group і box-orient.
Об`єкт image в jаvascript
Об`єкт document в jаvascript
Об`єкти, прототипи і конструктори в мові jаvascript.
Синтаксис css
Властивість css3 - box-sizing.
Об`єкт link в jаvascript
Приклади тіней на css.
Чи можна використовувати css3
Чи варто робити верстку під старі браузери
Валідність html-коду
Css хакі для браузерів
Модифікатори доступу в php
Чому ваш сайт часто недоступний?
Чи варто робити верстку під старі браузери
Заміна min-width в ie6
Валідність html-коду
Чому dreamweaver - це погано?
Синтаксис css