Николай С.
710 сообщений
#17 лет назад
Возник очередной вопрос по верстке. Сайт сверстан под HTML 4.01 Strict. Решил подогнать его под XHTML 1.0 Strict. Переделал, провалидатил. В Опере 8.5 и Мозиле 1.5 все выглядит по старому, то есть работает. В IE 6 текст изменил свой размер (font-size задан на уровне блока body и далее нигде не меняется). Может кто сталкивался - подскажите, как это лечится?
Андрей Халецкий
3563 сообщения
#17 лет назад
SolNikolay, inherit?
PS. провалидируй CSS, узнаешь много нового =)
Николай С.
710 сообщений
#17 лет назад
Inherit убрал - не помогло.
В CSS только предупреждения "Same colors for color and background-color in two contexts".

Блин. Это всего лишь table. Я ему не указал font-size. А вся верстка находится в этой таблице.
Юлия П.
63 сообщения
#17 лет назад
А у вас доктайп правильный? Такой эффект с таблицами может быть следствием некорректного доктайпа (на самом деле надо видеть код - заочно угадать непросто).
Николай С.
710 сообщений
#17 лет назад
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Юлия П.
63 сообщения
#17 лет назад
Тогда я чего-то не поняла. Если вы хотели верстать под XHTML 1.0 Strict, то и доктайп должен быть под XHTML 1.0 Strict. Вот такой:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

И ещё рекомендовано:

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> (если сайт не русскоязычный, то вместо ru соответствующее значение). Это вроде как для xml-совместимости.
Николай С.
710 сообщений
#17 лет назад
greatebattle, я думал вы про старый спрашиваете. Доктайп XHTML именно тот, который указали вы. Приписка lang в описании html не имеет отношения к размеру шрифта. Рекомендуемое начало документа скопирорвано с w3c. Да и я не думаю, что дело в доктайпе. Ведь Мозила и Опера отображают сайт нормально, а ИЕ - нет. Соответственно косяк не в DTD, а в осле.
Ну да ладно - этот косячок вроде нашли и учтем.
Юлия П.
63 сообщения
#17 лет назад
Дело в том, что с этим косяком я тоже сталкивалась - шрифт в таблицах требовал дополнительных указаний, и связано это было именно с неверным доктайпом. Не видя страницу целиком, ничего конкретного сказать не могу.
Что касается lang - в повседневной жизни я от него толку не видела, пока не пришлось редактировать немецкую версию одного сайта. Вот там это оказалось чувствительно! Но не в размере шрифтов, а в отображении специфических символов - немецкое написание требует всяких тильд и точек над буквами, и вот эти значки без lang="de" превратились в мягкие знаки и знаки вопроса. Зрелище было ещё то (а менять кодировку было нельзя).
Николай С.
710 сообщений
#17 лет назад
greatebattle, сайт еще не обновили, а скидыватьт его в этот топик - плохо. Для себя я сделал один простой вывод - лучше не заморачиваться с перегонкой. Начали верстать под HTML 4.01, под ним и продолжайте.

PS: поехали не только размеры шрифтов, но и отступы, и привязка блоков к низу страницы (position: absolute; bottom: 0px.
Насчет de - спасибо, учтем.
Юлия П.
63 сообщения
#17 лет назад
Если так поехало, думаю, стоит всё же проверить доктайп ещё раз. Вот на эту тему статья: Вряд ли я смогу что-то к ней добавить. Просто проблемы с подвалом тоже бывают следствием сбоя в доктайпе - плавали, знаем...:blink:
Николай С.
710 сообщений
#17 лет назад
greatebattle, спасибо
Николай С.
710 сообщений
#17 лет назад
greatebattle, вы оказались правы. Косяк в заглавии (правда, не совсем DOCTYPE).

"<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">" - вот это стояло у меня на сайте. Вообще-то это вроде как рекомендация w3c. При этом для таблиц приходится отдельно указывать font-size (есть и другие косяки).

При изменении на "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>" честно скомузинзженный с сайта weblancer.net все пришло в норму.

Для меня это пока что мистика:shok:
Станислав Малкин
1410 сообщений
#17 лет назад
На самом деле косяк в том, что если в первой строке стоит что угодно, кроме <!DOCTYPE, например <?xml version="1.0" encoding="utf-8"?> - то осел сливается в так называемый quirks mode (режим совместимости со старыми браузерами), в результате чего шрифт нужно прописывать заново для всех элементов.. Ослу просто по-народному говоря "срывает крышу".
Николай С.
710 сообщений
#17 лет назад
Может тогда топик открыть, куда сливать подобные ошибки? Думаю будет полезно всем
Юлия П.
63 сообщения
#17 лет назад
Опа... Если б я знала, что у вас в начале стоит объявление xml, я бы сразу в него и ткнула. Это хорошо известный глюк ИЕ - он, и только он, требует ПЕРВОЙ строкой ставить доктайп, в противном случае переходит в режим совместимости. Хотя с точки зрения стандартов объявление xml может быть впереди, и ФФ с Оперой его проглатывают нормально. В принципе, вы могли не менять доктайп, а просто убрать это объявление - этого было бы достаточно для "отрезвления" страницы и браузера.

Что касается выбранного доктайпа - это доктайп для xhtml Transitional. Большой разницы между strist и transitional нет, если брать работу для среднего верстальщика: второй допускает чуть больше вольностей в виде т. н. depricated элементов. Например, если вы открываете ссылку в другом окне, то для transitional валидатор ничего не скажет, а для strict скажет много нелестных слов насчёт атрибута target. Поэтому transitional иногда предпочтительней.
Николай С.
710 сообщений
#17 лет назад
Видимо очередной глупый вопрос: <table CELLSPACING="0" CELLPADDING="0"> в XHTML 1.0 Strict выдает ошибку при валидации, что параметры CELLSPACING и CELLPADDING нельзя использовать в table.
Поискал по форуму - советовали прописать в CSS table{border: none;border-collapse: collapse;}. Но эффекта это не дало.
Может подскажите?
 Н.
11 сообщений
#17 лет назад
Можно попробовать border:0px;
и для td назначить padding

table td {padding:0px}
Николай С.
710 сообщений
#17 лет назад
Мдя, мозг отключился совсем. nadia_M, спасибо.
Станислав Малкин
1410 сообщений
#17 лет назад
+ еще заюзать table td { border-space: 0 }
Евгений О.
2989 сообщений
#17 лет назад
В XHTML1.0 Strict часть свойств валидно использовать только через стили.Например <td width="100" nowrap="nowrap"... при проверке выдаст ошибки, а строка <td style="width:255; white-space:nowrap"... будет считаться правильной. Это относится к целой куче свойств разных объектов.

З.Ы. Мой провайдер, по-моему, уже не готовиться к Новому Году, а во всю отмечает. Связь отлетает каждые 15 минут...