2009 27 липня 2009

User Agent стилів: Таємниця Поля в Google Chrome

Сьогодні, як і будь-який інший "День свині Ground", я працював над деякими CSS / бестаблічная макетів. Все йшло добре в IE 7, FF 3 і Chrome, ДО раптом, я бачив деякі не-ігноровані поля побачити тільки в Google Chrome. Хоча дуже дивно і worring, було кілька нових помилка / проблема, що я прийшов accross, був, нарешті, деякі спеції в моїй земної роботи. Сад (але хороший) вона була виправлена ​​протягом декількох хвилин зонда ...

В принципі, він схожий Google Chrome ігнорував мої CSS Скидання (маржа: 0px). Це насправді був викликаний стилів агента користувача (-WebKit-оббивка-старт: 40px). Таким чином, рішення було скинути цей стиль, встановивши відступи: 0 неправильно елементів.
Хороший спосіб запобігти виникненню цієї проблеми для будь-якого елементу є використання глобальної Відпочинок CSS наступним

* {Маржа: 0; оббивка: 0;}

Що таке User Agent Style Sheets (специфікації)?
Нижче наводяться витяги з http://meiert.com/en/blog/20070922/user-agent-style-sheets/ , наступні посилання, щоб дізнатися більше про користувача листи агента стиль

CSS 1 представляє ідею про те, що кожен User Agent (UA, часто "браузер" або "Веб-клієнт») буде мати таблицю стилів за замовчуванням, яка подає документи в розумний - але, можливо, мирської - образом. CSS 2 сказано, що відповідні ПА повинні застосовуватися стилів за замовчуванням (або вести себе, як якщо б вони і зробили), а стиль за замовчуванням агента користувача аркуші повинні представляти елементи мови документа таким чином, щоб задовольняти загальним очікуванням презентації мову документа, CSS 3, ймовірно, того ж думки.

Оскільки специфікації CSS залишити його до реалізації, чи слід використовувати "реальні" стилів для відображення за замовчуванням чи ні, це не дивно, що ви не можете знайти таблицю стилів за замовчуванням в папці установки кожного браузера. На відміну від Internet Explorer від Microsoft, а також опери, наприклад, (і, наскільки я знаю), Gecko браузерів, як Firefox і Netscape Navigator (шукати "html.css"), а й Konqueror зробити це досить просто зрозуміти їх за замовчуванням стиль.


2008 2 серпня 2008

Установка DOCTYPE в XSL

Минулого тижня я створив progessive HTML / CSS макет для клієнта, тестував в IE6, IE7 і FF 3, здавалося, прекрасно ... ПОКИ! макет пішов далі вниз по manufacting циклу. Це не вдалося. Елементи макета сторінки просто пішов всюди, коли макет HTML був перетворений в XSL і XML застосовується до нього ... Ледар!

Не можу спати нормально в минулі вихідні, напередодні понеділка вранці, коли я повинен буду вирішити цю SH **. Але тепер є трохи Experince в боротьбі з такого роду ситуаціями (Browser сумісності, я маю на увазі), я знав, що було пов'язано з не що інше, DOCTYPE .... і це було ...

Проблема:
Ви хочете, щоб контроль над DOCTYPE, так як ваша трансформація буде включати в себе за замовчуванням DOCTYPE явним, і макет буде за жеребкуванням.

Рішення:
Специфікації XSLT надає методи виведення для установки в DOCTYPE вибір. Крім того, для нас інтерфейсу розробники, теми, що представляють інтерес був би HTML методів виведення та методи виведення XML .

Ну! перш ніж ви отримаєте нудно, от виправлення.

Для, наприклад, якщо у вас такі DOCTYPE в HTML-версії. -

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

Потім в XSL ви повинні були б мати наступне: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

і, нарешті! Як переконатися, що ваш вихід XSLT підпорядковується DOCTYPE ви обрали.


NDK будинку | Висловлюючи IT | Висловлюючи неба | Висловлюючи Penmenship | Висловлюючи трепет | виразити себе