Здравствуйте, StevenIvanov, Вы писали:
SI>Всем привет.
SI>Главный вопрос: Почему записи <tag /> и <tag></tag> трактуются по разному в xhtml? SI>Описание проблемы: SI>Изучаю html. Исходная задачка — расположить строго друг под другом 3 div-а в xhtml.
Полагаю, браузеры <div /> считают пустым элементом и не выкидывают при рендере, в случае <div></div> браузеры считают див не пустым, но с пустым контентом. Если рассматривать в виде DOM-а, то <div /> не будет содержать детей, когда <div></div> будет иметь дите IHtmlText (кажись) с пустым содержимым.
Re[2]: [xhtml] почему <tag /> и <tag></tag> трактуются по-ра
Uzzy wrote:
> Полагаю, браузеры <div /> считают пустым элементом и не выкидывают при > рендере, в случае <div></div> браузеры считают див не пустым, но с > пустым контентом. Если рассматривать в виде DOM-а, то <div /> не будет > содержать детей, когда <div></div> будет иметь дите IHtmlText (кажись) с > пустым содержимым.
Совершенно неверно. Используется html-парсер, а поэтому <div /> воспринимается как <div>, т.к. / просто игнорируется, как невалидная конструкция т.е. эти теги считаются незакрытыми. Т.е. с т.з. html документ выглядит так:
[html]
<body>
<div id="d1" >
<div id="d2" >
<div id="d3" >
</div></div></div></body>
[/html]
А с точки зрения DOM теги <div/> и <div></div> абсолютно эквивалентны, никаких пустых содержимых не бывает.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
[xhtml] почему <tag /> и <tag></tag> трактуются по-разному?
Главный вопрос: Почему записи <tag /> и <tag></tag> трактуются по разному в xhtml?
Описание проблемы:
Изучаю html. Исходная задачка — расположить строго друг под другом 3 div-а в xhtml.
Сначала решил задачку так:
Поправка
Полагаю, браузеры <div /> считают пустым элементом и выкидывают при рендере, в случае <div></div> браузеры считают див не пустым, но с пустым контентом, соотвественно отрисовывают. Если рассматривать в виде DOM-а, то <div /> не будет содержать детей, когда <div></div> будет иметь дитё IHtmlText (кажись) с пустым содержимым.
Re[2]: [xhtml] почему <tag /> и <tag></tag> трактуются по-ра
Здравствуйте, Uzzy, Вы писали:
U>Здравствуйте, StevenIvanov, Вы писали:
SI>>Всем привет.
SI>>Главный вопрос: Почему записи <tag /> и <tag></tag> трактуются по разному в xhtml? SI>>Описание проблемы: SI>>Изучаю html. Исходная задачка — расположить строго друг под другом 3 div-а в xhtml.
U>Полагаю, браузеры <div /> считают пустым элементом и не выкидывают при рендере, в случае <div></div> браузеры считают див не пустым, но с пустым контентом. Если рассматривать в виде DOM-а, то <div /> не будет содержать детей, когда <div></div> будет иметь дите IHtmlText (кажись) с пустым содержимым.
Возможно вы правы.
Однако мне это кажется крайне странным.
Насколько я понимаю xhtml должен валидироваться и читаться xml парсером, т.е. построенный кусок DOM-а для элемента <tag></tag> должен быть полностью эквивалентен DOM-у для элемента <tag />!
Есть ли утверждение в стандарте для xhtml что это не так?
Я, к сожалению, этого не нашел.
Re[3]: [xhtml] почему <tag /> и <tag></tag> трактуются по-ра
Здравствуйте, StevenIvanov, Вы писали:
SI>Здравствуйте, Uzzy, Вы писали:
U>>Здравствуйте, StevenIvanov, Вы писали:
SI>>>Всем привет.
SI>>>Главный вопрос: Почему записи <tag /> и <tag></tag> трактуются по разному в xhtml? SI>>>Описание проблемы: SI>>>Изучаю html. Исходная задачка — расположить строго друг под другом 3 div-а в xhtml.
U>>Полагаю, браузеры <div /> считают пустым элементом и не выкидывают при рендере, в случае <div></div> браузеры считают див не пустым, но с пустым контентом. Если рассматривать в виде DOM-а, то <div /> не будет содержать детей, когда <div></div> будет иметь дите IHtmlText (кажись) с пустым содержимым.
SI>Возможно вы правы. SI>Однако мне это кажется крайне странным. SI>Насколько я понимаю xhtml должен валидироваться и читаться xml парсером, т.е. построенный кусок DOM-а для элемента <tag></tag> должен быть полностью эквивалентен DOM-у для элемента <tag />! SI>Есть ли утверждение в стандарте для xhtml что это не так? SI>Я, к сожалению, этого не нашел.
А кто вам сказал, что броузеры поддерживают стандарты на 100%?
Re[2]: [xhtml] почему <tag /> и <tag></tag> трактуются по-ра
StevenIvanov wrote:
> .>hint: mime-type >> > div1.*x*html > Спасибо!!!
Вообще говоря это вполне очевидно — какой использовать парсер, xml или html, браузер должен решить до того как он начнёт парсить. Поэтому содержимое файла на это повлиять не может. А значит приходится выставлять mime-type на веб-сервере или ставить правильное расширение файла (xml, кстати, тоже подходит).
К сожалению, под IE (по крайней мере до IE7, потестируйте кто-нибудь на IE8, плз) это всё равно не поддерживает, поэтому на практике это не применимо. Вот и приходится формировать xhtml так, чтобы он мог парситься и html-парсером, и xml-парсером одинаково.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай