<?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>ZODIOS.net &#187; Internet Explorer</title>
	<atom:link href="http://zodios.net/tag/internet-explorer/feed" rel="self" type="application/rss+xml" />
	<link>http://zodios.net</link>
	<description>HTML-Верстка сайта в деталях</description>
	<lastBuildDate>Wed, 18 Nov 2009 08:12:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Удвоение отступа(margin) в Internet Explorer 6</title>
		<link>http://zodios.net/htmlcss/double-margin-bug.html</link>
		<comments>http://zodios.net/htmlcss/double-margin-bug.html#comments</comments>
		<pubDate>Sun, 28 Sep 2008 09:16:00 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=247</guid>
		<description><![CDATA[Те, кто использовал в верстке плавающие(float) блоки. Сталкивался с одним неприятным багом «всем любимого» браузера &#8211; Internet Explorer 6. Суть бага состоит в том, что при задании блоку float его отступ(margin) со стороны, в которую он отплывает, увеличивается вдове. Этот баг окрестили именем – «Double margin bug». Это удвоение отступа можно легко ликвидировать, об этом [...]]]></description>
			<content:encoded><![CDATA[<p>Те, кто использовал в верстке плавающие(float) блоки. Сталкивался с одним неприятным багом «всем любимого» браузера &#8211; Internet Explorer 6. Суть бага состоит в том, что при задании блоку float его отступ(margin) со стороны, в которую он отплывает, увеличивается вдове. Этот баг окрестили именем – «<strong>Double margin bug</strong>». Это удвоение отступа можно легко ликвидировать, об этом написано ниже.</p>
<p><span id="more-247"></span></p>
<p>Мне известны два адекватных способа его решения. Первый – самый логический это не использовать марджин у плавающих блоков, но это крайность. Второй адекватно действующий – присвоить блоку с margin свойство – display:inline. После этого проблема с отступом исчезнет.</p>
<p>Можно пойти еще дальше и использовать условные комментарии (подробней об условных комментариях можно прочитать в заметке &#8211; <a href="http://zodios.net/htmlcss/ifcomments.html" target="_blank">Условные комментарии для IE</a>), или хаки (подробней о хаках можно прочитать в заметке <a href="http://zodios.net/htmlcss/hacks.html" target="_blank">Хаки – краткий путь к кроссбраузерности?</a>) для того чтоб это присвоение было воспринято только в IE6.</p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/double-margin-bug.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Хаки – краткий путь к кроссбраузерности?</title>
		<link>http://zodios.net/htmlcss/hacks.html</link>
		<comments>http://zodios.net/htmlcss/hacks.html#comments</comments>
		<pubDate>Sun, 07 Sep 2008 08:32:02 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=163</guid>
		<description><![CDATA[Хаки – особые комбинации символов, которые приводят к неожиданному результату. В верстке хаки это селекторы CSS которые написаны таким образом, что они воспринимаются разными браузерами по-разному.

Например, селектор * html #someName будет воспринят только IE6. Все остальные браузеры его проигнорируют. Несмотря на мнимую простоту в использовании, хаки имеют ряд недостатков.  Главный недостаток состоит в том, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Хаки</strong> – особые комбинации символов, которые приводят к неожиданному результату. В верстке хаки это селекторы CSS которые написаны таким образом, что они воспринимаются разными браузерами по-разному.</p>
<p><span id="more-163"></span></p>
<p>Например, селектор * html #someName будет воспринят только IE6. Все остальные браузеры его проигнорируют. Несмотря на мнимую простоту в использовании, хаки имеют ряд недостатков.  Главный недостаток состоит в том, что хаки в большей степени основаны на ошибках,  или неточностях интерпретации, по этому, есть вероятность того, что с выходом новой версии браузера старые  хаки будут исправлены. Посему процесс поиска хаков является бесконечным.  Другим немаловажным  недостатком является то, что большинство хаков не проходят валидацию.</p>
<p>Целью этой заметки было собрать работающие хаки. На момент написания статьи хаки проверялись в таких браузерах:Opera 9.52, Firefox 3.0.1, IE6,7,8.beta1, Safari 3.1.2,Google Chrome 0.2.149.</p>
<p>Для того чтоб использовать на одном компьютере несколько версий браузера Internet Explorer необходимо установить IETester или Multiple IE. Подробней можно прочитать в заметке &laquo;<a href="http://zodios.net/inst/coderinstruments.html" target="_blank">Джентльменский набор верстальщика</a>&laquo;</p>
<h4>Синтаксис хаков</h4>
<div class="css">
<pre><code>
/* Хак только для IE6 */
* html .ie6 {
color:red;
}

/* Хак только для IE6 */
.ie6a {
_color:yellow;
}

/* Хак только для IE6,7 */
.ie6_7 {
//color:yellow;
}

/* Хак только для IE7,8.beta 1 */
* + html .ie7 {
color:green;
}

/* Хак только для IE7,8.beta 1 */
*:first-child+html .ie7a {
color:#0000CC;
}

/* Хак только для IE7,6 */
.ie7b {
#color:#00FF00;
}

/* Хак только для IE7,FireFox */
.ie7ff, x:-moz-any-link {
color:#00FFFF;
}

/* Хак только для IE7,FireFox */
 html:not([lang*=""]):not(:only-child) .ffSafariChrome {
color:#990000;
}

/* Хак только для Safari,Opera,Google Chrome*/
@media all and (min-width: 0) {
.safariOperaChrome {
color:#FF00FF;
}}

/* Хак только для Safari,FireFox,Google Chrome */
html:root .ffSafariChrome {
color:#660066;
}

/* Хак только для Safari,Opera,Google Chrome */
body:first-of-type .operaChromeSafari {
color:orange;
}

</code>
</pre>
</div>
<p><a href="http://zodios.net/examples/hacks/example1.html" target="_blank">Реализация хаков</a></p>
<h4>Резюме</h4>
<p>Как видно из примера, хаки это довольно сомнительный способ получения кроссбраузерности. Фактически пока есть только хаки под Internet Explorer 6, которые работают только в этом браузере. С моей точки зрения единственным эффективным инструментом для отделения одного браузера является условный комментарий. Подробней об условных комментариях можно прочитать в заметке &laquo;<a href="http://zodios.net/htmlcss/ifcomments.html" target="_blank">Условные комментарии для IE</a>&laquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/hacks.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Условные комментарии для IE</title>
		<link>http://zodios.net/htmlcss/ifcomments.html</link>
		<comments>http://zodios.net/htmlcss/ifcomments.html#comments</comments>
		<pubDate>Sat, 06 Sep 2008 13:42:14 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=145</guid>
		<description><![CDATA[Несмотря на неадекватную поддержку стандартов браузером Internet Explorer, его разработчики реализовали в нем одно довольно полезное свойство – поддержку условных комментариев. Условный комментарий это конструкция особого вида, которая воспринимается всем браузерами, кроме  IE, как обычный комментарий. Но  Internet Explorer не воспринимает это конструкция как комментарий. Таким образом, можно писать теги, которые будут восприниматься [...]]]></description>
			<content:encoded><![CDATA[<p>Несмотря на неадекватную поддержку стандартов браузером Internet Explorer, его разработчики реализовали в нем одно довольно полезное свойство – поддержку условных комментариев. Условный комментарий это конструкция особого вида, которая воспринимается всем браузерами, кроме  IE, как обычный комментарий. Но  Internet Explorer не воспринимает это конструкция как комментарий. Таким образом, можно писать теги, которые будут восприниматься только IE. Преимуществом условных комментариев перед хаками(подробней о хаках читай в заметке <a href="http://zodios.net/htmlcss/hacks.html" target="_blank">Хаки – краткий путь к кроссбраузерности?</a>) является то, что они проходят валидацию и скорее всего будут поддерживаться всеми последующим версиями нерадивого браузера.</p>
<p><span id="more-145"></span></p>
<p>Для того чтоб иметь возможность просмотреть страницу на одном компьютере в разных версиях браузера Internet Explorer необходимо установить IETester или  Multiple IE о которых рассказывается в заметке &laquo;<a href="http://zodios.net/inst/coderinstruments.html" target="_blank">Джентльменский набор верстальщика</a>&laquo;</p>
<h4>Синтаксис условных комментариев:</h4>
<div class="html">
<pre><code>&lt;!--[if  "условие"]&gt; HTML &lt;![endif]--&gt;
</code></pre>
</div>
<p>Условие это логическое выражение, которое формируется при помощи специальных управляющих переменных.</p>
<table class="contentTable" border="0">
<tbody>
<tr class="tHeader">
<td>Переменная</td>
<td>Пример</td>
<td>Описание</td>
</tr>
<tr>
<td>IE</td>
<td>[if IE]</td>
<td>Условие выполняется во всех браузерах Internet Explorer</td>
</tr>
<tr>
<td>value</td>
<td>[if IE 7]</td>
<td>Условие выполняется только в Internet Explorer 7 версии(после  IE стоит пробел!)</td>
</tr>
<tr>
<td>!</td>
<td>[if !IE]</td>
<td>Условие НЕ выполняется в Internet Explorer</td>
</tr>
<tr>
<td>lt</td>
<td>[if lt IE 5.5]</td>
<td>less-than условие выполняется в браузерах IE версии ниже 5.5</td>
</tr>
<tr>
<td>lte</td>
<td>[if lte IE 6]</td>
<td>less-than or equal условие выполняется в браузерах IE версии 6 и ниже</td>
</tr>
<tr>
<td>gt</td>
<td>[if gt IE 5]</td>
<td>greater-than условие выполняется в браузерах IE версии выше 5</td>
</tr>
<tr>
<td>gte</td>
<td>[if gte IE 7]</td>
<td>greater-than or equal условие выполняется в браузерах IE версии 7 и выше</td>
</tr>
<tr>
<td>&amp;</td>
<td>[if (gt IE 5)&amp;(lt IE 7)]</td>
<td>Оператор И(AND) условие выполняется в браузерах IE версии выше 5 но ниже 7</td>
</tr>
<tr>
<td>|</td>
<td>[if (IE 6)|(IE 7)]</td>
<td>Оператори ИЛИ(OR) условие выполняется в браузерах IE версии 6 или 7</td>
</tr>
<tr>
<td>( )</td>
<td>[if !(IE 7)]</td>
<td>Скобки позволяют выделить подвыражения в сложном выражении.Условие не выполняется в браузере IE 7 версии</td>
</tr>
</tbody>
</table>
<h4>Примеры условных комментариев:</h4>
<div class="html">
<pre><code>&lt;!--[if  IE]&gt;
       &lt;h1&gt;Этот текст выведется во всех браузерах &lt;/h1&gt;
&lt;![endif]--&gt;
&lt;!--[if  IE 6]&gt;
       &lt;h1&gt;Этот текст выведется  только в IE6 &lt;/h1&gt;
&lt;![endif]--&gt;
&lt;!--[if gt IE 5]&gt;
       &lt;h1&gt;
       Этот текст выведется браузерах версии высшее 5
      &lt;/h1&gt;
&lt;![endif]--&gt;
</code></pre>
</div>
<h4>Постфактум</h4>
<p>Условные комментарии также могут быть записаны вот таким образом:</p>
<div class="html">
<pre><code>&lt;![if "условие"]&gt; HTML &lt;![endif]&gt;</code>
</pre>
</div>
<p>Хоть эта конструкция и будет восприниматься условным комментарием для Internet Explorer, она не проходит валидацию и отображается другими браузерами, так как они расценивают это как синтаксически неправильный тег. Воспользовавшись этой конструкцией и логическим выражениями можно написать конструкцию, которая будет воспринята всеми браузерами кроме Internet Explorer.</p>
<div class="html">
<pre><code>&lt;!--[if IE]&gt;&lt;![if !IE]&gt;&lt;![endif]--&gt;
    &lt;h1&gt;Этот текст выведется любым браузером кроме IE&lt;/h1&gt;
&lt;!--[if IE]&gt;&lt;![endif]&gt;&lt;![endif]--&gt;
</code></pre>
</div>
<p><a href="http://zodios.net/examples/ifcomments/example1.html" target="blank">Реализация условных комментариев</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/ifcomments.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
