Стиль разоряется при добавлении типа документа - PullRequest
1 голос
/ 08 октября 2011

Я работаю над сайтом, который использует PHP (с шаблонами Savant для MVC) на бэкэнде и HTML4 и CSS3 на фронтэнде.Я использовал некоторые шрифты и прозрачность.Тип документа, который я использую для сайта, выглядит следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Но вот что происходит.Ад высвобождается.Размер моего шрифта уменьшился до 1em везде, а отступы стали 0px.Я не понимаю, почему это происходит.

Далее, поскольку я встроил два шрифта, один из них отлично работает с размером и стилем, а другой шрифт полностью теряется в IE.Он появляется в Times New Roman с размером шрифта 1 м.

Если кто-нибудь знает решение этой проблемы, я прошу вас помочь мне с этим.Благодарю.:)

Ответы [ 3 ]

1 голос
/ 09 октября 2011

Если я вас правильно понял, вы добавили doctype после того, как выполнили все свои css-кодировки.

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

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

1 голос
/ 09 октября 2011

Страница без doctype будет отображаться в режиме Quirks, тогда как страница с doctype будет отображаться в режиме Standards (хорошо, если предположить, что сам doctype правильный, и ничто иное на странице не вызывает режим Quirks).

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

С точки зрения исправления конкретных проблем - это сложнее сделать, не увидев живой пример, но я бы позаботился о том, чтобы у вас были единицы измерения для всех размеров шрифта, нигде не было опечаток и т. Д. (Вы можете запустить CSS через валидатор W3C, чтобы перепроверить).

С вашими "встроенными" шрифтами вы говорите о веб-шрифтах? Если нет, шрифт не появится, если он не установлен локально.

Надеюсь, это поможет! В будущем обязательно включите doctype, когда начнете кодировать, так как это уменьшит многие из этих проблем.

1 голос
/ 09 октября 2011

Браузеры имеют несколько режимов рендеринга, при этом два ключевых (Стандарты и Причуды) запускаются Doctype (предполагается, что авторы, использующие определенные типы Doctype, знают, что они делают, а авторы, использующие другие, или Noctype - нет).

Добавленный вами Doctype запускает режим стандартов, в котором браузеры:

  • Более соответствуют спецификации
  • Более совместимы друг с другом (вследствиевыше)
  • Менее терпимо к ошибкам (то же самое).

Убедитесь, что ваш HTML и CSS оба допустимы , и что вы используете их правильно.

...