<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Q-Zma&#039;s Burrow &#187; HTML/CSS</title>
	<atom:link href="http://q-zma.com/category/htmlcss/feed/" rel="self" type="application/rss+xml" />
	<link>http://q-zma.com</link>
	<description>дневник педантичного отморозка</description>
	<lastBuildDate>Wed, 04 Jan 2012 13:07:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Min-width и max-width для Internet Explorer </title>
		<link>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/</link>
		<comments>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 22:28:06 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://q-zma.com/2007.10.18-min-width-i-max-width-dlja-internet-explorer-6/</guid>
		<description><![CDATA[Некоторые персонажи в комментариях к записи на схожую тему в одном блоге сетовали на то, что не могут найти в гуглояндексе «универсальное решение для реализации динамической ширины блока с минимальным и максимальным значением». Что ж, попробуем его туда добавить :). Сие есть не что иное как: min-width и max-width для Internet Explorer версий &#60;= 6 [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторые персонажи в комментариях к записи на схожую тему в одном блоге сетовали на то, что не могут найти в гуглояндексе «универсальное решение для реализации динамической ширины блока с минимальным и максимальным значением». Что ж, попробуем его туда добавить :). Сие есть не что иное как: min-width и max-width для Internet Explorer версий &lt;= 6 (поскольку тварь последней модификации уже понимает эти свойства).</p>
<p>С тем, что <a title="About Dynamic Properties" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms537634.aspx">dynamic properties</a> (фирменная фича <abbr title="Microsoft">MS</abbr>, используется для динамических расчётов значений <abbr title="Cascading Style Sheets">CSS</abbr> свойств элемента) зло, не могу согласиться. С их помощью можно научить ослика ходить более прямо, путём пририсовывания ему костыликов, причём замаскированных таким образом, что их наличие никак не сказывается на качестве рендерения страницы в других браузерах, а так же на драгоценной, так всеми желаемой, валидности. Именно эту фичу <abbr title="Microsoft">MS</abbr> мы и будем использовать вкупе с ещё одной фирменной фичей, что звучно <a title="About Conditional Comments" href="http://msdn2.microsoft.com/en-us/library/ms537512.aspx">сonditional сomments</a> зовётся.</p>
<p><span id="more-240"></span></p>
<p>Итааааак, работающий пример:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
    &lt;head&gt;
        &lt;title&gt;Title&lt;/title&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
        &lt;style type=&quot;text/css&quot;&gt;
        html
        {
            margin:0;
            padding:0;
        }
        body
        {
            background:olive;
            margin:0px;
            padding:10px;
            text-align:center;
        }
        #root
        {
            text-align:left;
            background:yellow;
            margin:0 auto;
            padding:1px 0;
            min-width:770px;
            max-width:990px;
        }
        &lt;/style&gt;
        &lt;!--[if IE]&gt;
        &lt;style type=&quot;text/css&quot;&gt;
        * html #root
        {
            width:expression(
                (document.compatMode &amp;&amp; document.compatMode == 'CSS1Compat')
                ?
                (
                    document.documentElement.clientWidth &lt; 770
                    ?
                    &quot;770px&quot;
                    :
                    (
                        document.documentElement.clientWidth &gt; 990
                        ?
                        &quot;990px&quot;
                        :
                        &quot;auto&quot;
                    )
                )
                :
                (
                    document.body.clientWidth &lt; 770
                    ?
                    &quot;770px&quot;
                    :
                    (
                        document.body.clientWidth &gt; 990
                        ?
                        &quot;990px&quot;
                        :
                        &quot;auto&quot;
                    )
                )
            );
        }
        &lt;/style&gt;
        &lt;![endif]--&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;root&quot;&gt;
            &lt;p&gt;
                Vivamus nonummy. Fusce risus. Duis luctus. Mauris tempor.
                Nullam consequat dolor at urna. Donec porttitor lectus ac lacus.
                Pellentesque turpis tortor, bibendum non, dictum id, mollis non,
                nulla. Aenean vehicula dapibus erat. Proin felis lorem, faucibus
                vitae, accumsan sit amet, posuere ut, leo. Nulla enim felis, mattis
                id, laoreet sed, tempus non, neque. Vivamus eu nisl. Ut posuere
                porttitor ante. Cras scelerisque ipsum eget metus. Proin ultricies
                nonummy ipsum. Maecenas dignissim sem at sem. Pellentesque faucibus,
                augue dignissim interdum vulputate, elit massa suscipit orci, vel
                feugiat massa dolor vitae sapien. Aenean porttitor nunc ac
                tellus.
            &lt;/p&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>А теперь я попытаюсь объяснить как эта магия работает :). У всех современных браузеров есть несколько режимов отображения страницы, так называемые «standarts compliant mode» (режим совместимости со стандартами) и «quirks mode» (режим обратной совместимости), и наш непарнокопытный друг не является исключением, начиная с версии 6. Подробнее и по-русски о режимах отображения я расскажу в следующих статьях, кому неймётся, тот может <a title="Activating the Right Layout Mode Using the Doctype Declaration" href="http://hsivonen.iki.fi/doctype/">изучить довольно подробный материал, собранный, судя по всему, финскими коллегами по цеху, на английском языке</a>. Вкратце: IE версий 5-5.5 всё время работает в режиме обратной совместимости, IE 6-7 только при условии отсутствия <abbr title="Document Type Definition">DTD</abbr>, некорректного <abbr title="Document Type Definition">DTD</abbr>, наличия <abbr title="Extensible Markup Language">XML</abbr> декларации или простого комментария перед <abbr title="Document Type Definition">DTD</abbr>. В разных режимах отображения роль основного элемента, который представляет собой канву для отрисовки всего контента, играют разные элементы. В случае режима обратной совместимости этим элементом является <em>body</em>, а в режиме совместимости со стандартами — элемент <em>html</em>. Для определения в каком именно режиме отображается текущая страница наши друзья индусы придумали интересное свойство <em><a title="compatMode Property (document)" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms533687.aspx">document.compatMode</a></em>, данное свойство появилось в IE6, и оно может принимать следующие значения: "<em>CSS1Compat</em>" и "<em>BackCompat</em>"; из этого следует, что мы можем легко разбить наш expression на две ветки: первая — для IE6-7 в режиме соместимости со стандартами, вторая — для IE всех версий в режиме обратной совместимости. В первой ветке мы используем свойство <em><a title="documentElement Property (document)" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms533739.aspx">document.documentElement</a></em>, которое, начиная с версии IE6 в режиме совместимости со стандартами содержит ссылку на корневой элемент документа, а во втором случае — давно известный нам объект <em>document.body</em>. Подобный тюнинг этого выражения позволяет избежать зависания IE разных версий в разных режимах отображения страницы.</p>
<p>В последующийх статьях я попробую рассказать о режимах отображения страницы в разных браузерах и conditional comments. Спасибо, что дочитали до конца ;).</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Обрамляем поплавки не нарушая семантики</title>
		<link>http://q-zma.com/2007-04-26-obramljaem-poplavki-ne-narushaja-semantiki/</link>
		<comments>http://q-zma.com/2007-04-26-obramljaem-poplavki-ne-narushaja-semantiki/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 18:13:42 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://q-zma.com/2007/04/26/obramljaem-poplavki-ne-narushaja-semantiki/</guid>
		<description><![CDATA[Очень часто приходится использовать поплавки, при этом ещё чаще возникает необходимость обрамления их родительским элементом. В соответствии со спецификацией HTML, блок, вмещающий в себя поплавки, их не обрамляет. Стандартным решением этой проблемы является добавление невидимого элемента после поплавков с установкой свойства clear, однако, это нарушает семантику кода, добавляется какой-то никому нафиг не нужный элемент, который [...]]]></description>
			<content:encoded><![CDATA[<p>Очень часто приходится использовать поплавки, при этом ещё чаще возникает необходимость обрамления их родительским элементом. В соответствии со спецификацией HTML, блок, вмещающий в себя поплавки, их не обрамляет. Стандартным решением этой проблемы является добавление невидимого элемента после поплавков с установкой свойства <em>clear</em>, однако, это нарушает семантику кода, добавляется какой-то никому нафиг не нужный элемент, который не несёт никакой смысловой нагрузки. Ну и мать его так, не нужен он нам больше. Совсем:</p>
<pre class="brush: css; title: ; notranslate">
ul.menu {
	display:block;
	list-style:none;
	margin:0;
	padding:0;
}
ul.menu li {
	float:left;
	width:25%;
	text-align:center;
}
ul.menu:after {
	/* для «нормальных» браузеров */
	content:&quot;.&quot;;
	display:block;
	height:0px;
	font-size:0px;
	line-height:0px;
	overflow:hidden;
	clear:both;
	visibility:hidden;
}
ul.menu {
	height:1%;
}
html&gt;/**/body ul.menu {
	height:auto !important;
}
</pre>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;menu&quot;&gt;
	&lt;li&gt;One&lt;/li&gt;
	&lt;li&gt;Two&lt;/li&gt;
	&lt;li&gt;Three&lt;/li&gt;
	&lt;li&gt;Four&lt;/li&gt;
&lt;/ul&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2007-04-26-obramljaem-poplavki-ne-narushaja-semantiki/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Те же яйца только в профиль&#8230;</title>
		<link>http://q-zma.com/2006-12-15-te-zhe-jajjca-tolko-v-profil/</link>
		<comments>http://q-zma.com/2006-12-15-te-zhe-jajjca-tolko-v-profil/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 05:24:19 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://q-zma.com/2006/12/15/te-zhe-jajjca-tolko-v-profil/</guid>
		<description><![CDATA[Один мой заказчик попросил погонять его сайт под IE7, скачал я его значить, поставил на вторую тачку, чтобы не засорять и так подыхающий от обилия браузёров мой бедненький тормозящий бук и что же я обнаружил? А обнаружил я следующее: как было это кучей говна так и осталось, только сверху на неё дезодорантом сильно побрызгали, чтобы [...]]]></description>
			<content:encoded><![CDATA[<p>Один мой заказчик попросил погонять его сайт под IE7, скачал я его значить, поставил на вторую тачку, чтобы не засорять и так подыхающий от обилия браузёров мой бедненький тормозящий бук и что же я обнаружил? А обнаружил я следующее: как было это кучей говна так и осталось, только сверху на неё дезодорантом сильно побрызгали, чтобы не воняло так сильно. Похоже что ядро небыло переписано с ноля, а было просто обработано напильником, кое что пофиксили, кое-что добавили, но чуда не произошло :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2006-12-15-te-zhe-jajjca-tolko-v-profil/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CSS3 селекторы :first-child и :last-child</title>
		<link>http://q-zma.com/2006-11-24-css3-selektory-first-child-i-last-child/</link>
		<comments>http://q-zma.com/2006-11-24-css3-selektory-first-child-i-last-child/#comments</comments>
		<pubDate>Fri, 24 Nov 2006 00:57:26 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://q-zma.com/2006/11/24/css3-selektory-first-child-i-last-child/</guid>
		<description><![CDATA[Пролог Всем, кто более или менее имеет отношение к HTML- и XHTML-вёрстке, наверняка известно, что такое CSS-селекторы. В процессе выполнения некоторых задач я столкнулся, как и все, кто относит себя к указанной выше группе, с проблемами совместимости. Пенять на производителей браузеров в случае с селекторами :first-child и :last-child, очевидно, смысла нет, поскольку эти селекторы из [...]]]></description>
			<content:encoded><![CDATA[<h4>Пролог</h4>
<p>Всем, кто более или менее имеет отношение к <abbr title="HyperText Markup Language">HTML</abbr>- и <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>-вёрстке, наверняка известно, что такое <abbr title="Cascading Style Sheets">CSS</abbr>-селекторы. В процессе выполнения некоторых задач я столкнулся, как и все, кто относит себя к указанной выше группе, с проблемами совместимости. Пенять на производителей браузеров в случае с селекторами :first-child и :last-child, очевидно, смысла нет, поскольку эти селекторы из стандарта третьей версии, который на данный момент имеет статус чернового варианта. Однако, мы всё же можем использовать их в повседневной деятельности, но потребуются кое-какие финты ушами.</p>
<h4>Пример использования</h4>
<p>Чаще всего я использую эти селекторы для отображения горизонтальных меню с разделителями с помощью списков, для того, чтобы полностью отделить описание структуры от стиля отображения:</p>
<p>&nbsp;</p>
<p class="center"><img id="image225" src="http://q-zma.com/wp-content/uploads/2006/11/css3-selectors-illustration-01.gif" alt="css3-selectors-illustration-01.gif" /></p>
<h4>Факты</h4>
<ul>
<li>Единственный браузер, который более или менее нормально поддерживает оба этих селектора &mdash; Mozilla Firefox (однако и в этом прекрасном, мною горячо любимом и активно используемом, браузере есть некоторые бока);</li>
<li>В браузерах Opera с 7 по 9 версий картина немного отличается от огненного лиса, :first-child реализован намного &laquo;прямее&raquo; чем :last-child (что, кстати, довольно странно, какая нахрен разница, казалось бы, селекторы-антонимы, механизм для выяснения является ли элемент первым потомком или последним практически один и тот же).</li>
<li>Про всем известный и самый распространённый браузер я скромно промолчу, матом ругаться не хочется :-) (подробности об этом ниже).</li>
</ul>
<h4>Mozilla Firefox</h4>
<h5>Ошибки в реализации</h5>
<ul>
<li>Неправильная интерпретация селекторов при условии наличия анонимного бокса непосредственно перед первым либо после последнего дочернего элемента.</li>
<li>Если перед первым дочерним элементом либо после последнего элемента с помощью JavaScript был добавлен ещё один элемент, то браузер так же неправильно определяет первый и последний дочерние элементы.</li>
</ul>
<h4>Opera</h4>
<h5>Ошибки в реализации</h5>
<ul>
<li>С селектором :first-child картина аналогичная браузеру Mozilla Firefox.</li>
<li>Селектор же :last-child реализован через, ивините уж за просторечие, жопу. Чтобы добиться универсальности лучше всего использовать по максимуму возможности селектора :first-child.</li>
</ul>
<h4>Internet Explorer</h4>
<h5>Ошибки в реализации</h5>
<ul>
<li>Реализация полностью отсуствует однако ошибки есть, но не в реализации, а в генетическом коде разработчиков этого чудовища ;-).</li>
</ul>
<h4>Универсальное горизонтальное меню с разделителями</h4>
<p>Данный пример не претендует на полную универсальность, однако функциональность его была проверена в браузерах Mozilla Firefox 1.0.8, 1.5.0.8, 2.0, Opera 7.54, 8.52, 9.02, Internet Explorer 5.5, 6.</p>
<p>&nbsp;</p>
<h5><abbr title="eXtensible HyperText Markup Language">XHTML</abbr> код (файл test.html)</h5>
<p>В виду того, что <abbr title="Cascading Style Sheets">CSS</abbr> код для &laquo;нормальных&raquo; браузеров и для Internet Explorer радикально отличаются, а также по причине того, что <abbr title="Cascading Style Sheets">CSS</abbr> код для Internet Explorer не является валидным, рекомендуется использовать альтернативный <abbr title="Cascading Style Sheets">CSS</abbr> файл, подключаемый <em>после</em> <abbr title="Cascading Style Sheets">CSS</abbr> файла для &laquo;нормальных&raquo; браузеров с помощью <a href="http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp" title="About Conditional Comments">conditional comments</a>.</p>
<pre>
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
    &lt;head&gt;
        &lt;meta
            http-equiv=&quot;Content-Type&quot;
            content=&quot;text/html; charset=utf-8&quot;
        /&gt;
        &lt;title&gt;Untitled Document&lt;/title&gt;
        &lt;link
            href=&quot;test.css&quot;
            rel=&quot;stylesheet&quot;
            type=&quot;text/css&quot;
        /&gt;
        &lt;!--[if IE]&gt;
            &lt;link
                href=&quot;test-ie.css&quot;
                rel=&quot;stylesheet&quot;
                type=&quot;text/css&quot;
            /&gt;
        &lt;![endif]--&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;ul class=&quot;nav&quot;&gt;
            &lt;li&gt;
                &lt;a href=&quot;javascript:void(0)&quot;&gt;First item&lt;/a&gt;
            &lt;/li&gt;
            &lt;li&gt;
                &lt;a href=&quot;javascript:void(0)&quot;&gt;Second item&lt;/a&gt;
            &lt;/li&gt;
            &lt;li&gt;
                &lt;a href=&quot;javascript:void(0)&quot;&gt;Third item&lt;/a&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<p>&nbsp;</p>
<h5><abbr title="Cascading Style Sheets">CSS</abbr> код для &laquo;нормальных&raquo; браузеров (файл test.css)</h5>
<pre>
.nav
{
    list-style:none;
    display:block;
    /*
        свойство overflow имеет такое значение
        для того, чтобы элемент UL вмещал в себя
        поплавки и автоматически увеличивал свои
        размеры, это не влияет на IE
    */
    overflow:hidden;
    border:1px solid blue;
    width:500px;
    margin:0;
    padding:0;
}
.nav li
{
    float:left;
    padding:0 10px;
    border-left:1px solid blue;
    margin:10px 0;
}
.nav li:first-child
{
    border:none;
}
</pre>
<p>&nbsp;</p>
<h5><abbr title="Cascading Style Sheets">CSS</abbr> костыли для Internet Explorer (файл test-ie.css)</h5>
<pre>
.nav
{
    /*
        этот финт ушами выполняет ту же функцию, что и
        overflow: hidden; в CSS файле для нормальных
        браузеров, по сути это эмуляция CSS селектора
        :after, в конец списка добавляется невидимый
        элемент высотой в один пиксель, благодаря чему
        элемент UL вмещает в себя поплавки и обрамляет их
    */
    behavior:expression
    (
        !this.after
        ?
        this.after = this.innerHTML =
            this.innerHTML + &#39;&lt;li class=&quot;cleaner&quot;&gt;.&lt;/li&gt;&#39;
        :
        &#39;&#39;
    );
}
.nav li
{
    /*
        а вот этот финт, кстати, является как раз эмуляцией
        селектора :first-child
    */
    border-left:expression
    (
        (this == this.parentNode.firstChild)
        ?
        ('none')
        :
        ('1px solid blue')
    );
    /*
        уменьшаем нижний внешний отступ элементов списка
        на один пиксель, поскольку мы добавили невидимый
        элемент с такой высотой
    */
    margin-bottom:9px;
}
/*
    это стиль невидимого элемента, который
    мы добавили к списку (см. выше)
*/
.nav li.cleaner
{
    clear:left;
    height:1px;
    line-height:1px;
    font-size:1px;
    overflow:hidden;
    visibility:hidden;
    margin:0;
    padding:0;
}
</pre>
<h4>Эпилог</h4>
<p>Вот, собственно, и всё, что я хотел рассказать по этому поводу. Надеюсь кому-то это поможет, ибо я, честно говоря, перед тем как всё это узнать потратил немало времени на изучение мегабайтов блогов и разнообразных доков, естественно, данная микростатья не освещает и одного процента того, что я узнал, копаясь в пучинах интернета. Отдельное спасибо хочется сказать <a href="http://www.artlebedev.ru/tools/technogrette/html/css2_in_ie/">Владимиру Токмакову</a> и тебе, уважаемый читатель, если ты, конечно, дочитал до конца ;-).</p>
<h4>Update (26.04.2007)</h4>
<p>Как оказалось, я немного лажанулся, селектор :first-child присутствует во второй версии стандарта CSS, а :last-child только в третьей, и сразу становится понятно, почему первый реализован в опере прямее :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2006-11-24-css3-selektory-first-child-i-last-child/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Несколько злых багов IE</title>
		<link>http://q-zma.com/2006-01-14-neskolko-zlyh-bagov-ie/</link>
		<comments>http://q-zma.com/2006-01-14-neskolko-zlyh-bagov-ie/#comments</comments>
		<pubDate>Sat, 14 Jan 2006 12:02:12 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://q-zma.com/2006/01/14/neskolko-zlyh-bagov-ie/</guid>
		<description><![CDATA[Столкнулся недавно с некоторыми интересными багами в IE. Всем наверно известно насколько несовершенна и глючна модель CSS-позиционирования IE, но описания этих багов я вроде бы нигде не встречал, хотя целенаправленно таковые и не искал :-). Вложенное относительное позиционирование В макете, который я делал, были вложенные блоки с position:relative;, согласно логике блок спозиционированный асолютно (position:absolute;) должен [...]]]></description>
			<content:encoded><![CDATA[<p>Столкнулся недавно с некоторыми интересными багами в <abbr title="Internet Explorer">IE</abbr>.</p>
<p>Всем наверно известно насколько несовершенна и глючна модель <abbr title="Cascading Style Sheets">CSS</abbr>-позиционирования IE, но описания этих багов я вроде бы нигде не встречал, хотя целенаправленно таковые и не искал :-).</p>
<h4>Вложенное относительное позиционирование</h4>
<p>В макете, который я делал, были вложенные блоки с <code>position:relative;</code>, согласно логике блок спозиционированный асолютно (<code>position:absolute;</code>) должен позиционироваться относительно ближайшего родителя, который имеет <code>position:relative;</code>, однако IE почему-то такой логике не следует, а позиционирует блок относительно самого первого родителя, который имеет <code>position:relative;</code>. Побороть этот глюк я так и не смог :-(.</p>
<h4>Ускользающие ссылки</h4>
<p>Ссылки в абсолютно спозиционированных блоках, фоном которых является загруженное в CSS фильтром <code>AlphaImageLoader</code> <abbr title="Portable Network Graphics">PNG</abbr>-изображение с альфа каналом, кликнуть практически невозможно, потому что они мистическим образом исчезают :-). Этот глюк тоже побороть не удалось.</p>
<h4>Постскриптум</h4>
<p>Кстати, я немного обновил шапочку, зимой навеяло что-то...</p>
<p>И ещё: никого не раздражают мои приземлённые посты на главной странице раджаки? А то я выпадаю немного из общего формата со своими рабочими записками, и мне кажется, что кому-то они могут показаться неинтересными и никчемными. Если есть таковые, кому это не нравится, то я могу из общей ленты свой блог убрать, я понимаю, что формат не тот ;-).</p>
<h4>Update</h4>
<p>Как оказалось глюк с исчезающими ссылками можно решить как и большинство проблем с помощью присваивания инлайн-блокам ссылок <code>position:relative;</code>. Вот так то, такой вот он загадочный всеми обожаемый и мне ненавистный Internet Explorer...</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2006-01-14-neskolko-zlyh-bagov-ie/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

