Само собой, что можно и в Quirks провалиться, но вот, к примеру, отличный скрипт аналог lightbox под названием Shadowbox (http://shadowbox-js.com) работает отменно во всех браузерах и без доктайпа, а в IE требует его наличия, иначе начинаются ошибки JS (я сам не вполне понимаю, как это связано, но реально во всех IE с 6 по 8).
Это не совсем относится к хакам, но все же… В нормальных браузерах существует возможность переключить через CSS режим box-model'а на нужное значение:
• box-sizing — опера
• -webkit-box-sizing — само собой Safari
• moz-box-sizing — угадайте ;)
• -ms-box-sizing — даже MS анонсировали такое свойство для IE8, по аналогии с -ms-filter, который будет как замена обычному невалидному filter
Так вот. Нет ли какого-либо хака, чтобы заставить IE6,7 при включенном режиме стандартов переключиться на режим border-box? Предвидя возможные ответы, что border-box нестандартен, скажу, что стандартная модель многим кажется не очень удобной (автор quirksmode, например). Поэтому было бы замечательно получить способ кроссбраузерно верстать в более логичной модели. Дело в том, что все подобные хаки, которые я видел, приводили к полному падению обратно в Quirks со всеми вытекающими последствиями.
PS. За стандартную модель взята именно padding-box, видимо, чтобы корректно считать картинки, у которых итоговая ширина всегда будет состоять именно из ширины и прибавленного border'а.
У меня примерно такое же мнение… Есть ОС софтверной компании, почему ей вообще кто-то может диктовать, ЧТО делать внутри ЕЕ разработки? То, что все под нее пишут ничего не означает. Народ то никто не заставляет ее покупать. Надо выбор — купите Linux. Ставьте туда что угодно. А MacOS идет с Safari в базе. Такими темпами надо и Paint исключать, и WordPad и саперов всяких, за подрыв игровой индустрии.
Мне все же не понятно… MS написала операционку. И внедрила туда СВОЙ браузер. Вот Opera или Mozilla напишут свою — и будут туда внедрять. MS кажется немалые деньги тратит на рекламу Windows, воруют ее нещадно, Linux позиции отъедает. Как-то странно получается — ведь никто же не обязывает покупать Win.
Это же как надо было делать движок, чтобы в одних версиях одно и то же работало, в других — нет, а в третьих — как-то еще. Ужас. Всегда поражался политике этому.
Это уже миллион раз повторялось. Есть низкоуровневые элементы (формы например) и попиксельно точная верстка. Ясное дело, что пихать их без разбора в каждый проект — великое зло. Особняком стоят хаки для IE — тут уж ничего не поделать, раз его при рождении нужным вещам не обучили — будем обучать в процессе. Хаками. AlphaImageLoader — своего рода тоже хак, т.к. работает только в IE. И в спецификации не прописан.
Это мне известно. Интересен именно хак для FF2 и не для FF3. Пример — я не хочу обнулять для FF3 селекторы для полей SELECT — они рендерятся по-разному. Ну это так, для души скорее.
Для телефонов обычно предусматривается graceful degradation. Что касается медленных систем — раз мы говорим о рабочих приложениях, то в настройках оного можно поставить галочку, которая все навороты убирает. Главное — чтобы JS не навешивал доп. функционал на те же чекбоксы, делая их например трехпозиционными, в таком случае откатываться уже не получится.
• box-sizing — опера
• -webkit-box-sizing — само собой Safari
• moz-box-sizing — угадайте ;)
• -ms-box-sizing — даже MS анонсировали такое свойство для IE8, по аналогии с -ms-filter, который будет как замена обычному невалидному filter
Так вот. Нет ли какого-либо хака, чтобы заставить IE6,7 при включенном режиме стандартов переключиться на режим border-box? Предвидя возможные ответы, что border-box нестандартен, скажу, что стандартная модель многим кажется не очень удобной (автор quirksmode, например). Поэтому было бы замечательно получить способ кроссбраузерно верстать в более логичной модели. Дело в том, что все подобные хаки, которые я видел, приводили к полному падению обратно в Quirks со всеми вытекающими последствиями.
PS. За стандартную модель взята именно padding-box, видимо, чтобы корректно считать картинки, у которых итоговая ширина всегда будет состоять именно из ширины и прибавленного border'а.
Разъясните, видимо что-то я недопонял…