2009-07-17 2 views
1

Есть ли способ написать html и css без использования css-хаков, которые будут работать во всех браузерах, включая ie6 - Использовать только divs, а не таблицы? Я хочу, чтобы страница работала правильно с html и css, а также была совместима с w3c.Css Взломает правильный путь?

+2

Вы должны быть более конкретными. Какой дизайн вы пытаетесь реализовать? Приветственный грааль? –

+0

Что взломать css? –

+0

@ David Archer: Я думаю, что он имеет в виду некоторые CSS-причуды, такие как селектор '* html' для IE версии ≤ 6. – Gumbo

ответ

0

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

2

Короткий ответ: Да.

Вот пример:

/* Start CSS */ 

/* End CSS */ 

Как если это возможно для достижения конкретного результата вы хотите, то и hellip; возможно —, но вы должны сказать нам, что это такое!

+0

Использование условных комментариев для добавления классов, а затем в ваших CSS предназначайте эти классы. Я не думаю, что чистый CSS-файл очень полезен :) –

+0

@wilmoore - обратите внимание, что важная часть ответа содержится в абзаце в конце вопроса, а не в примере юмористического кода вверху. Существует множество способов написания CSS, который работает одинаково в каждом браузере (включая таблицу стилей, состоящую только из комментариев), но не существует общего решения, которое может повредить любой эффект, а охват обходных решений для всех возможных несоответствий тоже широкая тема для вопроса SO. – Quentin

+0

На самом деле, в наши дни довольно преуспевающая практика заключается в том, что условные комментарии + отдельные классы стилей + браузерные классы - это путь. Я думаю, что вопрос с плакатом был прекрасен, и я не знаю, почему ваш ответ (который на самом деле не был ответом) получил одобрение. Надеюсь, это не звучит грубо, но я просто не думаю, что это помогает кому-либо, когда ответы не отвечают на голосование. –

0

Он пришел к моменту времени, когда нужно просто решить, что больше не поддерживает IE6. Это тяжело, но у вас это есть.

Нет «правильного пути», чтобы делать хаки. Вот что значит «взломать».

+0

Я так не думаю. Я просто посмотрел на wiki для общего доступа к браузеру, http: //en.wikipedia.орг/вики/Usage_share_of_web_browsers. Я получаю, что ie6 все еще имеет около 6% акций, почти столько же, сколько сафари. –

+0

Но пока доля Safari растет, доля IE6 уменьшается. И прекратить поддержку для него, это только ускорит его. (надеюсь) – peirix

+0

достаточно справедливо :-D –

0

Это полностью зависит от дизайна.

Что именно вы пытаетесь достичь?

0

Держите IE6 в режиме Quirks, и вы не столкнетесь с множеством проблем. Вы также можете рассмотреть возможность использования CSS Reset, хотя иногда вы просто не можете избежать необходимости писать какой-либо IE-хак, чтобы он выглядел хорошо ... В чем же ваша проблема с их использованием?

0

Я бы сказал, что в целом да, это абсолютно возможно достичь. Но вам, вероятно, придется сделать, что som включает в себя то, насколько продвинутым будет ваш макет, или о том, насколько хорошо вы будете поддерживать старые браузеры, такие как IE 6.

Если вы новичок в этом поле, я бы установил Html Validator add-on for Firefox и посетил в Интернете, чтобы получить представление о том, какие страницы проверяют на 100%, и посмотрите, какие макеты они использовали.

1

Самый простой способ - использовать conditional comments и иметь дополнительную таблицу стилей специально для проблемных версий IE6. Это означает, что у вас есть особые случаи, но на самом деле это не хаки.

+0

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