<?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>Paradigm.ru &#187; ie</title>
	<atom:link href="http://paradigm.ru/tag/ie/feed" rel="self" type="application/rss+xml" />
	<link>http://paradigm.ru</link>
	<description>Блог Александра Мусаева</description>
	<lastBuildDate>Wed, 23 Nov 2011 19:10:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Средства отладки веб-страниц для Internet Explorer</title>
		<link>http://paradigm.ru/ie-tester-and-debugbar</link>
		<comments>http://paradigm.ru/ie-tester-and-debugbar#comments</comments>
		<pubDate>Sat, 26 Apr 2008 19:24:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[браузеры]]></category>
		<category><![CDATA[дизайн]]></category>
		<category><![CDATA[программы]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=286</guid>
		<description><![CDATA[IE&#160;Tester&#160;&#8212; это браузер, специализированный для отладки веб-страниц. Он&#160;совмещает в&#160;себе все версии Internet Explorer, начиная с&#160;5.5&#160;до&#160;текущей 8&#160;beta 1.&#160;На&#160;мой взгляд, такой диапазон вполне достаточен для работы. В&#160;программе привлекла интеграция разных версий браузера в&#160;едином окне с&#160;вкладками. Это более удобное решение, чем используемый мной ранее Multiple IE, в&#160;котором разные IE&#160;просто устанавливались по-отдельности. Программа, к&#160;сожалению, еще довольно сырая и&#160;содержит в&#160;себе [...]]]></description>
			<content:encoded><![CDATA[<p>IE&nbsp;Tester&nbsp;&#8212; это браузер, специализированный для отладки веб-страниц. Он&nbsp;совмещает в&nbsp;себе все версии Internet Explorer, начиная с&nbsp;5.5&nbsp;до&nbsp;текущей 8&nbsp;beta 1.&nbsp;На&nbsp;мой взгляд, такой диапазон вполне достаточен для работы.</p>

<p>В&nbsp;программе привлекла интеграция разных версий браузера в&nbsp;едином окне с&nbsp;вкладками. Это более удобное решение, чем используемый мной ранее <a href="http://paradigm.ru/2008/03/25/web-design-portability-testing/">Multiple IE</a>, в&nbsp;котором разные IE&nbsp;просто устанавливались по-отдельности.</p>

<div class="i"><img src="http://paradigm.ru/;-)/2008/04/00ietester-02.png" alt="" title="IE Tester" width="500" height="290" /></div>

<p>Программа, к&nbsp;сожалению, еще довольно сырая и&nbsp;содержит в&nbsp;себе ряд багов. На&nbsp;сайте разработчика заявлено, что некорректно работают кнопки назад/вперед, а&nbsp;так&nbsp;же фокусировка, джава-апплеты и&nbsp;флеш. Самое неприятное&nbsp;&#8212; первые два пункта (складывается впечатление, что фокусировка под Windows&nbsp;&#8212; вообще больное место, хотя, понимаю, по&nbsp;таким прецедентам судить об&nbsp;этом неправильно). Тем не&nbsp;менее, пользоваться IE&nbsp;Tester-ом уже вполне можно, учитывая, что это по&nbsp;своей сути не&nbsp;настоящий браузер, а&nbsp;только средство тестирования. <span id="more-286"></span></p>

<p>На&nbsp;том&nbsp;же сайте я&nbsp;нашел еще один полезный инструмент для веб-разработчиков&nbsp;&#8212; плагин для IE&nbsp;Development Bar. Если не&nbsp;вдаваться в&nbsp;подробности, это близкий по&nbsp;функциональности аналог расширения Firefox <a href="http://b23.ru/pk6">Firebug</a>.</p>

<p>Dev Bar добавляет в&nbsp;IE&nbsp;специальный сайдбар, через который можно просматривать код страницы в&nbsp;виде DOM дерева и&nbsp;модифицировать элементы, выполнять валидацию HTML, мониторить отладочную информацию для JS&nbsp;и&nbsp;HTTP запросы.</p>

<p>Последнее может быть особенно интересно, т.к. в&nbsp;Firebug нет встроенного HTTP сниффера (хотя, таковой имеется в&nbsp;виде отдельного аддона <a href="http://b23.ru/pk7">Live HTTP Headers</a>).</p>

<div class="i"><img src="http://paradigm.ru/;-)/2008/04/01debugbar.png" alt="Development Bar" width="566" height="336" /></div>

<p>Расширение так&nbsp;же содержит тулбар. Самым полезным инструментом на&nbsp;нем я&nbsp;бы назвал внутристраничный текстовый поиск с&nbsp;возможностью выделения всех вхождений искомой строки (такой&nbsp;же как в&nbsp;FF).</p>

<div class="i"><img src="http://paradigm.ru/;-)/2008/04/02toolbar.png" alt="Development Bar" title="" width="474" height="23" /></div>

<p>Другие представленные на&nbsp;нем инструменты (сolor picker, переключатель размера окна под стандартные разрешения и&nbsp;еще несколько второстепенных по&nbsp;значимости функций) не&nbsp;показались мне интересными. И&nbsp;если&nbsp;бы я&nbsp;использовал IE&nbsp;как основной браузер, скорее всего тулбар держал&nbsp;бы выключенным, ограничиваясь боковой панелью. Но&nbsp;вцелом возможности плагина оставили очень благоприятные впечатления.</p>

<h3>Ссылки по&nbsp;теме</h3>

<ul><li><a href="http://b23.ru/pkr">Скринкасты с&nbsp;демонстрацией возможностей DebugBar</a>, который был представлен на&nbsp;Microsoft TechEd 2007 (Orlando).</li>
<li><a href="http://www.my-debugbar.com/wiki/IETester/HomePage">Страница IETester</a>, откуда его можно бесплатно скачать.</li>
<li><a href="http://www.debugbar.com/">Страница</a> загрузки DebugBar.</li>
<li><strong>Update:</strong> В качестве дополнения, привожу ссылку на скринкаст с хорошим <a href="http://b23.ru/pkq">обзором возможностей Firebug</a>.</li></ul>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/ie-tester-and-debugbar/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IE6, CSS и интервью с Алексом Могилевским</title>
		<link>http://paradigm.ru/ie-css-special-features</link>
		<comments>http://paradigm.ru/ie-css-special-features#comments</comments>
		<pubDate>Thu, 24 Apr 2008 18:46:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-дизайн]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[браузеры]]></category>
		<category><![CDATA[интервью]]></category>
		<category><![CDATA[переводы]]></category>
		<category><![CDATA[стандарты]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=281</guid>
		<description><![CDATA[Популярность шестой версии Internet Explorer является причиной траты немалого времени на&#160;адаптацию кода страниц, идентично отображаемых во&#160;всех других браузерах, а&#160;иногда&#160;&#8212; и&#160;вовсе камнем преткновения, не&#160;позволяющим использовать в&#160;работе какую-то часть стандарта. Зачастую оформление страницы естесственным образом разделяется у&#160;меня на&#160;три этапа. На&#160;первом происходит, собственно, разработка дизайна с&#160;тестированием в&#160;Firefox (выбор браузера обоснован множеством удобных расширений). На&#160;втором&#160;&#8212; проверка, что все номально [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://paradigm.ru/;-)/2008/04/00ie.png" alt="" title="Internet Explorer" width="130" height="130" align="left" class="alignleft" /></p>

<p>Популярность шестой версии Internet Explorer является причиной траты немалого времени на&nbsp;адаптацию кода страниц, идентично отображаемых во&nbsp;всех других браузерах, а&nbsp;иногда&nbsp;&#8212; и&nbsp;вовсе камнем преткновения, не&nbsp;позволяющим использовать в&nbsp;работе какую-то часть стандарта. Зачастую оформление страницы естесственным образом разделяется у&nbsp;меня на&nbsp;три этапа. На&nbsp;первом происходит, собственно, разработка дизайна с&nbsp;тестированием в&nbsp;Firefox (выбор браузера обоснован множеством удобных расширений). На&nbsp;втором&nbsp;&#8212; проверка, что все номально отображается в&nbsp;Opera, Safari и&nbsp;IE7. А&nbsp;на&nbsp;третьем&nbsp;&#8212; доработка под IE6&nbsp;(иногда даже не&nbsp;надфилем, а&nbsp;молотком и&nbsp;пассатижами).</p>

<p>Хорошая статья на эту тему была опубликована пару дней назад на сайте <a href="http://css-tricks.com/">CSS-Tricks</a>. Ниже привожу ее перевод (повествование ведется от&nbsp;лица автора).</p>

<p><strong>Автор:</strong> Крис Койер, <a href="http://css-tricks.com">css-tricks.com</a></strong>
<strong>Перевод:</strong> Александр Мусаев, <a href="http://paradigm.ru">paradigm.ru</a></strong>
<strong>Оригинал статьи:</strong> &laquo;IE&nbsp;CSS Bugs That&#8217;ll Get You Every Time&raquo;, <a href="http://css-tricks.com/ie-css-bugs-thatll-get-you-every-time/">http://css-tricks.com/ie-css-bugs-thatll-get-you-every-time/</a></strong></p>

<p>Когда IE6&nbsp;только появился, в&nbsp;нем была лучшая поддержка CSS среди существовавших в&nbsp;то&nbsp;время браузеров. Но&nbsp;это было 7&nbsp;лет назад. А&nbsp;различные мелкие недоработки в&nbsp;реализации CSS, преследуют веб-разработчиков до&nbsp;сих пор и&nbsp;часто становятся причиной отказа от&nbsp;использования той или иной техники.</p>

<p>Не&nbsp;смотря на&nbsp;то,&nbsp;что я&nbsp;стараюсь не&nbsp;ограничиваться возможностями шестой версии IE,&nbsp;все&nbsp;же понимаю важность корректного отображения страниц везде, где это возможно. Ниже перечислены основные вредоносные недочеты&nbsp;IE.</p>

<h3>Блочная модель</h3>

<p>Вероятно, это самый распространенный и&nbsp;один из&nbsp;самых неприятных багов в&nbsp;IE&nbsp;до&nbsp;шестой версии. Допустим, мы&nbsp;хотим определить блок:</p>

<p><pre><code class="css">div#box {
   width: 100px;
   border: 2px solid black;
   padding: 10px;
}</code></pre></p>

<p>IE6&nbsp;сделает ширину блока равной 100px. В&nbsp;действительности ширина должна быть равна 124px, и&nbsp;все современные браузеры отобразят блок именно так.</p>

<p>Это мелкое отличие в&nbsp;рендеринге может вызвать немало неприятностей при верстке страниц. Думаю, поведение IE&nbsp;может быть в&nbsp;какой-то мере оправдано с&nbsp;точки зрения логики, но&nbsp;в&nbsp;любом случае оно противоречит спецификации.</p>

<p>Чтобы избежать этих проблем, я&nbsp;вообще не&nbsp;использую свойство <code>padding</code> для элементов, отвечающих за&nbsp;разметку страницы. Вместо этого можно задавать отступ непосредственно для тех элементов, которые содержат контент (например, <code>&lt;p&gt;</code>).</p>

<h3>Удвоение полей</h3>

<p>Ошибка проявляется при определении свойств <code>float</code> и&nbsp;<code>margin</code>.</p>

<p><pre><code class="css">div#box {
   float: right;
   margin-right: 20px;
}</code></pre></p>

<p>IE6&nbsp;увеличит ширину поля с&nbsp;20&nbsp;до&nbsp;40px. Обычно эффект пропадает после добавления элементу <code>&lt;div&gt;</code> свойства <code>display:inline;</code>. Но&nbsp;ценой такого решения станет отсутствие возможности задавать ширину для такого <code>&lt;div&gt;</code>, так&nbsp;же как и&nbsp;для всех других inline-элементов.</p>

<p>Как и&nbsp;в&nbsp;предыдущем случае, проблему можно обойти. Понадобится либо добавить <code>padding</code> для родительского элемента, либо задать его в&nbsp;самом <code>&lt;div&gt;</code>. На&nbsp;свойство <code>padding</code> действие бага не&nbsp;распространяется.</p>

<h3>Ограничений ширины и&nbsp;высоты</h3>

<p>Применение свойств <code>min-width</code> и&nbsp;<code>min-height</code> само по&nbsp;себе является очень естесственным и&nbsp;логичным. Поэтому осознание факта их&nbsp;недоступности остается весьма безрадостным. IE&nbsp;6&nbsp;не&nbsp;просто воспринимает их&nbsp;неправильно, а&nbsp;вообще игнорирует.</p>

<p><code>min-height</code> может быть очень полезен, например, для нижнего колонтитула страницы (иногда называемого &laquo;подвалом&raquo;). Допустим, мы&nbsp;хотим ограничить его высоту величиной 100px, чтобы обеспечить полное отображение фоновой картинки. При этом фиксация высоты свойством height остается нежелательной, т.к. объем текста в&nbsp;блоке может увеличиться.</p>

<p>Если ограничиться указанием <code>min-height</code>, для IE&nbsp;6&nbsp;это будет равноценным полному отсутствию опрелеления высоты. Зато указание <code>height</code> будет воспринято по&nbsp;смыслу именно как <code>min-height</code>. Иногда этим можно воспользоваться.</p>

<h3>&laquo;Эффект лестницы&raquo;</h3>

<p>Предполагается, что последовательность плавающих объектов должна выстраиваться в&nbsp;линию. Везде происходит именно так, но&nbsp;IE&nbsp;6&nbsp;зачем-то добавляет невидимый перенос строки после каждого блока, что приводит к&nbsp;ступенчатому отображению элементов. Проблема исправляется обнулением <code>line-height</code>. Более подробно это описано в&nbsp;<a href="http://paradigm.ru/2008/03/06/preventing-stepdown/">отдельной заметке</a>.</p>

<h3>Отсутствие hover</h3>

<p>Большинство современных браузеров допускает определение псевдо-классов <code>hover</code> для любых элементов. В&nbsp;IE&nbsp;6&nbsp;это возможно только для &lt;a&gt;. И&nbsp;даже в&nbsp;нем <code>hover</code> не&nbsp;будет отображаться при отсутствии атрибута <code>href</code>. Можно воспользоваться <a href="http://www.xs4all.nl/~peterned/csshover.html">хитрым фиксом</a> или просто смириться.</p>

<h3>Альфа-канал для PNG</h3>

<p>Удивительно, что в&nbsp;браузере Microsoft так долго отсутствовала поддержка этого формата (до&nbsp;седьмой версии). Cуществует огромное количество возможных решений и&nbsp;они описаны <a href="http://css-tricks.com/the-different-techniques-for-applying-the-png-hack/">отдельным постом</a>. Стоит помнить, что обычные PNG файлы (без прозрачности) отображаются нормально и&nbsp;их&nbsp;использование этого формата зачастую предпочтительнее GIF.</p>

<h3>Ссылки по&nbsp;теме</h3>

<p>Пожалуй, дополню этот пост всего одной ссылкой, которую просто не&nbsp;могу не&nbsp;дать&nbsp;&#8212; на&nbsp;<a href="http://b23.ru/pc9" rel="nofollow">интервью с&nbsp;архитектором Internet Explorer Алексом Могилевским</a>, выложенное вчера на&nbsp;Хабре в&nbsp;качестве дополнения к&nbsp;подкасту <a href="http://b23.ru/pcm" rel="nofollow">Radio-T #82</a>.</p>

<div class="i"><a href="http://b23.ru/pc9" rel="nofollow"><img src="http://paradigm.ru/;-)/2008/04/01alex-mogilevsky-interview.jpg" alt="" title="01alex-mogilevsky-interview" width="489" height="280" /></a></div>

<p>Интервью так&nbsp;же можно скачать с&nbsp;<a href="http://narod.yandex.ru/disk/126159000/mogila.m4a">Народ.диска</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/ie-css-special-features/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>«Резиновость» в рамках разумного</title>
		<link>http://paradigm.ru/max-width-for-ie</link>
		<comments>http://paradigm.ru/max-width-for-ie#comments</comments>
		<pubDate>Thu, 27 Dec 2007 22:10:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-дизайн]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[браузеры]]></category>

		<guid isPermaLink="false">http://www.paradigm.ru/2007/12/28/max-width-for-ie/</guid>
		<description><![CDATA[Как известно, для определения минимального и&#160;максимального значения размеров &#171;резиновых&#187; блоков в&#160;(X)HTML, предусмотрены свойства CSS max-width и&#160;max-height. Все браузеры уже года полтора правильно их&#160;интерпретируют. Кроме IE,&#160;разработчики которого по&#160;каким-то умным маркетинговым причинам клали болт на&#160;многие детали стандартов. Тем не&#160;менее, возможность задавать предельные значения для масштабируемых блоков очень полезна. Например, для того чтобы &#171;резиновая&#187; верстка не&#160;теряла товарный вид [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно, для определения минимального и&nbsp;максимального значения размеров &laquo;резиновых&raquo; блоков в&nbsp;(X)HTML, предусмотрены свойства CSS <code>max-width</code> и&nbsp;<code>max-height</code>. Все браузеры уже года полтора правильно их&nbsp;интерпретируют. Кроме IE,&nbsp;разработчики которого по&nbsp;каким-то умным маркетинговым причинам клали болт на&nbsp;многие детали стандартов.</p>

<p>Тем не&nbsp;менее, возможность задавать предельные значения для масштабируемых блоков очень полезна. Например, для того чтобы &laquo;резиновая&raquo; верстка не&nbsp;теряла товарный вид при максимизации окна браузера на&nbsp;большом мониторе, заставляя пользователя читать полуметровые строки текста.</p>

<p>Раньше я&nbsp;решал этот вопрос с&nbsp;помощью JavaScript: небольшая функция автоматически корректировала ширину &laquo;резиновых&raquo; контейнеров при изменении размера окна браузера. Вчера был найден довольно более красивый способ заставить IE&nbsp;ограничивать масштабируемые блоки. Тоже на&nbsp;основе&nbsp;JS. <span id="more-137"></span></p>

<p>В&nbsp;имлементации CSS IE&nbsp;есть своя-собственная конструкция&nbsp;&#8212; <code>expression</code>, чье значение может вычисляться с&nbsp;помощью client-side скрипта. Например, так:</p>

<div><pre><code class="css">div {
   width: expression(750 + "px");
}</code></pre></div>

<p>Что эквивалентно:</p>

<div><pre><code class="css">div {
   width: 750px;
}</code></pre></div>

<p>Используя expression в&nbsp;сочетании со&nbsp;стандартными свойствами CSS, можно добиться необходимого эффекта в&nbsp;отношении масштабируемых блоков:</p>

<div><pre><code class="html">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Limiting width&lt;/title&gt;
&lt;style type="text/css"&gt;
div#cont { 
// min-width и max-width для IE
   width:expression(document.body.clientWidth &gt; 776 ? 
      "777px" : (document.body.clientWidth &lt; 334 ? "333px" : "auto"));
// то же, для всех остальных
   max-width: 777px;
   min-width: 333px;

   height:320px;
   text-align:center;
   color:black;
   background:#f5f5f5;
}
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div id="cont"&gt;Hello World!&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</code></pre></div>

<p>Файл лежит здесь: <a href="http://things.paradigm.ru/limited-width.html">http://things.paradigm.ru/limited-width.html</a>. Я&nbsp;проверил работоспособность этого кода в&nbsp;IE&nbsp;5.55, 6,&nbsp;7,&nbsp;Firefox и&nbsp;Opera. Теоретически, должно работать и&nbsp;в&nbsp;IE&nbsp;5.01, т.к. expression появился именно в&nbsp;ней, но&nbsp;проверить не&nbsp;начем&nbsp;&#8212; эта версия на&nbsp;моем компьютере почему-то не&nbsp;уживается с&nbsp;пятью другими инсталяциями IE&nbsp;(:</p>

<p>Точно таким&nbsp;же образом, как и&nbsp;ширину, можно контролировать высоту блоков. Разница в&nbsp;том, что вместо параметра <code>document.body.clientWidth</code>, потребуется использовать <code>this.scrollHeight</code>, а&nbsp;изменять, вместо <code>width</code>, CSS свойство <code>height</code>.</p>

<p>Основано на&nbsp;<a href="http://b23.ru/clx">материалах</a> perishablepress.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/max-width-for-ie/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

