position: fixed в IE при DOCTYPE XHTML 1.1
Столкнулся со следующей проблемой:
нужно сделать блок который появляется поверху всех блоков и не скролится (Нет, это не реклама. Это окно корзины в чудо магазине...)
Нашел решение
http://www.artlebedev.ru/tools/technogrette/html/fixed_in_msie/
Но оно не работает если установлен
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Кто то может подсказать решение которое буде с этим доктайпом работать?
body на documentElement?
Пожалуйста :)
P.S. Если не секрет: зачем именно 1.1 (который по стандарту нельзя отдавать как text/html)? Чем "человеческий" 1.0 Strict (с практически теми же ограничениями) не устраивает?
Вот чесно говоря сейчас сам пытаюсь это понять.
Зачем?
Его никто не поддерживает.
Вся строгость которую он обеспечивает на практике никому не нужна.
Да. По идее легче поддерживать.
Да. По идее код выходит хорошо масштабируемый.
Да. Когда надо будет его "сграбить" и машинно обработать - жить будет легче.
Но куда не смотрю - везде пишут "забей".
И на черта мне бесконечная война с провайдерами, которые не хотят выводить страницы в нужном мне майм типе? (Не одного так и не убедил...)
На черта мне пресловутая модулизация и заверения о том что XHTML 1.1 это базис для нового, светлого будущего?
На черта мне вообще это безобразие если даже на W3C пару раз проскакивала мысль отказаться от DOCTYPE вообще...
И правда - зачем они нужны если браузеры фактически не используют их для формирования страницы а только выбирают в зависимости от этой строки свой неповторимый принцип отображения страницы?
Не знаю.
Может для того что бы пугать клиентов словом "стандарт" и "последний утвержденный".
Может потому что в моей жизни не хватает интима.
Может потому что я хочу понять как это все работает и как должно быть, а копаться в спецификации и не использовать ее потом - скучно...
Может мне просто любопытно...
Вечный вопрос - xhtml 1.1 с его достоинствами никто не поддерживает потому что на нем никто не пишет. А не пишут - потому что никто не поддерживает.
Знаете, у меня все больше и больше создается впечатление что надо переписывать DTD для своего удобства а не писать в рамках какого то определенного...
Просветите меня - зачем вы используете XHTML вообще?
По большому счету все что может он - можно сделать и со стандартом HTML 4.1 а требований к строгости - меньше. Пояти любые ошибки все равно ПА поправят. И сайты в подавляющем своем большинстве не рассчитаны на машинную обработку.
Что то писал писал а так ничего и не сказал.
Перелил из пустого в порожнее.
Чем "человеческий" 1.0 Strict (с практически теми же ограничениями) не устраивает?
Всем устраивает.
Как и HTML 4.1.
Но W3C рекомендует переходить на XHTML 1.1 и смотреть в светлое будущее ясными пустыми глазами.
Смотрю на ваш пример в недавней теме и не понимаю - как можно одновременно ратовать за XHTML и писать onLoad='on_load_preset();', href='javascript:close_card();'?
По причине неграмотности, конечно.
Есть масса вещей которых я пока не понимаю или не знаю.
В связи с этим - вопросы:
- Что не так с href='javascript:close_card();'?
На этим моменты я не обращал внимания так как валидатор не ругается по их поводу.
и как корректно в таком случае присваивать js ф-ю для клика по ссылке?
href='#' onclick='close_card();' - так?
- onLoad='on_load_preset();'
тут опечатка, которую упустил из вида по непонятной причине - onload конечно же.
Или тут нельзя в принципе это событие иак присваивать и надо в js скрипте каком то его присвоить?
>сайты в подавляющем своем большинстве не рассчитаны на машинную обработку Не совсем понимаю, что это такое.
Например когда тебе (еще кому то) впоследствии надо обрабатывать страничку скриптом.
Грабберы, которые отображают после обработки содержимое страницы на другом сайте.
Роботы, в том числе поисковые.
Твои js скрипты которые работают с документом используя DOM.
В общем все программы которые пытаются что то делать с твоими страничками.
Вечный вопрос - xhtml 1.1 с его достоинствами никто не поддерживает потому что на нем никто не пишет. А не пишут - потому что никто не поддерживает.
Имхо, главная проблема все-таки в политике M$, злоупотребляющей своим положением монополиста (хоть и малость пошатнувшимся в последние годы). Есть шансы, что с приходом IE8 все станет на места — по слухам, там вдруг настолько озаботились стандартами, что его секретный билд вроде бы уже проходит Acid2. Заодно и <CENSORED> hasLayout наконец уйдет в прошлое...
По большому счету все что может он - можно сделать и со стандартом HTML 4.1 а требований к строгости - меньше.
Просто XHTML 1.0 — на сегодняшний день, IMHO, наиболее удачный компромисс с точки зрения одновременного использования преимуществ "волшебного икса" там, где они работают (интеграция с MathML и все такое прочее) и совместимости с, увы, по-прежнему самым популярным браузером.
А так старый добрый HTML пока, опять же IMHO, вне конкуренции — хотя бы в том, что юзерам Gecko не нужно ждать полной загрузки страницы, чтобы хоть что-то на ней прочитать. Для машинной обработки он давно не проблема (взять тот же Tidy), роботы вынуждены его понимать из-за засилья невалидного контента. Мобильным клиентам тоже специальный упрощенный парсер оказался не так уж нужен (слабым девайсам все равно приходится довольствоваться WAP-сайтами, а более мощным вполне "по зубам" и полномерный SGML). Не случайно ведь сам W3C в итоге вернулся к HTML5, признав де-факто провал затеи с "XML-изацией всего Интернета"...
Что не так с href='javascript:close_card();'?
Псевдопротокол javascript: — вещь загадочная, в стандартах (AFAIK) не описанная (т.е. каждый браузер как хочет, так и реализует) и предназначенная исключительно для отладки. Основное предназначение ее — выводить страницу со значением последующего выражения (например, javascript:1+1 выведет 2). Но даже если значения у выражения нет, браузер все равно расценивает это как переход по ссылке — может прекратить проигрывать GIF-анимацию и не только. Правильный вариант — href='#' onclick='close_card();return!1' (без отмены умолчательного действия страница "прыгнет" наверх).
Или тут нельзя в принципе это событие иак присваивать и надо в js скрипте каком то его присвоить?
Если заботиться о разделении структуры, оформления и поведения страницы — по-моему, гораздо лучше назначать в скрипте.
Все равно документ отдается как text/html, хотя, по идее, нужно application/xhtml+xml.
О чем и говорится
The document is being served with the text/html Mime Type which is not a registered media type for the XHTML 1.1 Document Type
Имеет ли смысл использовать xHTML - решать Вам. Но все плюсы сводятся на нет реальным положением дел с IE.
Не случайно ведь сам W3C в итоге вернулся к HTML5, признав де-факто провал затеи с "XML-изацией всего Интернета"..
Скромно замечу, что HTML5 включает и XML-вариант HTML, а провал признан только по отношению к созданию совершенно нового стандарта XHTML2, несовместимого с существующими страницами, в то время как HTML5 разрабатывается на основе HTML4.
Сейчас буду править текущие проекты в соответствии с новой информацией. Спасибо вам за нее большое.
А в чем провал XHTML 2.0?
Да, там нет обратной совместимости.
Но такая ли это страшная беда?
Все равно новые проекты разрабатываются как правило с учетом более менее свежих версий программного обеспечения.
Единственная проблема это как всегда с IE.
(Пошел искать где написано про провал xhtml 2)
Ворон[досье]
Единственная проблема это как всегда с IE.
Эта проблема, увы, во многом определяющая.
Пошел искать где написано про провал xhtml 2
Признаком провала является возвращение к разработке традиционного HTML/XHTML и отказ от несостоятельной в настоящее время идеи развития XHTML2 как единственно верного вектора движения, основанного на чистом XML. XHTML2 как таковой, тем не менее, как некий вариант идеализированного светлого будущего продолжит своё развитие.
Лично я тоже всегда придерживаюсь XHTML 1.1. Хотя отличий от того же XHTML 1.0 Strict почти нет - http://deutschmann.ru/xhtml/xh......ule-based-xhtml-second-edition - с одной стороны это уже привычка, с другой стороны - дисциплина. По-моему, будущее XHTML 2 - http://www.w3.org/TR/xhtml2 - светлое, есть много новых вещей, которые будут там реадизованы - например, такие вещи как вот эта:
<ul> <li href="http://www.w3.org/">Замечательная ссылка</li> </ul>
И по-моему это дейсвительно прогресс, повышенное удобство и универсализм.
Чесно говоря у меня сложилось приблизительно следующее впечатление:
Сначала мы наконец увидим полную поддержку СSS 2.1
Лет через пару CSS 3 и HTML 5.
И еще чере пару лет XHTML 2.
Так что может так случиться, что и никакого спора о том, что использовать не будет.
Плавненько будем переходить с одного на другое.
И думаю что IE уже даже к CSS 2.1 перестанет быть "бельмом в глазу" и страшные истории наконец станут только историями.
![[logo]](/site/images/logo.jpg)