<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
   <channel>
      <title>Trifler Blog</title>
      <link>http://trifler.ru/blog/</link>
      <description>Lasto Blogging Engine</description>
      <language>ru</language>
      <copyright>gordi</copyright>
      <managingEditor>serg_gordi@mail.ru</managingEditor>
      <webMaster>serg_gordi@mail.ru</webMaster>
      <image>
         <title>Trifler Blog</title>
         <url>http://trifler.ru/blog/i/lastoblog.png</url>
         <link>http://trifler.ru/blog/</link>
      </image>

      <item>
         <title>width:expression и эмуляция position:fixed;</title>
         <link>http://trifler.ru/blog/post_1236082863.html</link>
         <description>&lt;p&gt;Редко использую &lt;span&gt;expression&lt;/span&gt;, только в случае указания

максимальной/минимальной ширины при разметке страницы для IE6.&lt;/p&gt; 

&lt;p&gt;Нельзя сказать, что разновидностей подобного рода &lt;em&gt;эмуляций&lt;/em&gt;, 

существует великое множество, да и не входит в мою задачу все их представить.&lt;/p&gt;

&lt;p&gt;Все дело в том, что нет единственно верного решения подходящего на все случаи жизни. 

Некоторые работаю, но не так, как бы этого хотелось, очень многое зависит от 

конкретной ситуации.&lt;/p&gt;

&lt;p&gt;Поводом для написания заметки послужило и то обстоятельство, что в макете 

(имея в виду, что там, нет ограничения по min/max-width), предложенном на 

всеобщее обозрение в 

&lt;a href="http://trifler.ru/blog/post_1235230569.html"&gt;Эмуляция position:fixed;…&lt;/a&gt;, 

в приведенном там &lt;a href="http://trifler.ru/blog/i/layouts/fixed/fixed_center.htm"&gt;примере&lt;/a&gt;, 

при использовании вот такого:&lt;/p&gt;

&lt;pre class="pre"&gt;

  *html #XXX {

  width:expression(

  (document.compatMode &amp;&amp; document.compatMode == 'CSS1Compat') ?

  (document.documentElement.clientWidth &amp;lt; 930 ? "930px" :

  (document.documentElement.clientWidth &amp;gt; 100 ? "100%" : "auto")) :

  (document.body.clientWidth &amp;lt; 930 ? "930px" :

  (document.body.clientWidth &amp;gt; 100 ? "100%" : "auto")));

}

&lt;/pre&gt;

&lt;p&gt;После первоначального открытия страницы  с дальнейшим уменьшением размеров 

окна браузера фиксированная колонка срывалась со своего места:&lt;/p&gt;

&lt;img src="i/layouts/fixed/fix_ie6_02.png" style="display:block;margin:10px auto;width:475px;height:393px;" alt="/"&gt;

&lt;p&gt;Но стоит только взять мышкой за любую границу окна с целью продолжить уменьшение 

или расширить окно, то все приходит в норму:&lt;/p&gt;

&lt;img src="i/layouts/fixed/fix_ie6_01.png" style="display:block;margin:10px auto;width:498px;height:398px;" alt="/"&gt;

&lt;p&gt;Следующая попытка уменьшения размеров окна, с раскрытой на полную катушку 

страницей, повторяет описанное выше.&lt;/p&gt;

&lt;p&gt;На мой взгляд, &lt;em&gt;физика&lt;/em&gt; процесса ломается из-за того, что браузеру просто 

не хватает времени правильно обработать событие, отсюда и сбой.&lt;/p&gt; 

&lt;p&gt;Были, опробованы и другие варианты, но они или не работали вообще или имели 

тот же негативный эффект.&lt;/p&gt;

&lt;p&gt;В данном конкретном случае был применен &lt;em&gt;JavaScript&lt;/em&gt;:&lt;/p&gt;

&lt;pre class="pre"&gt;

&amp;lt;script type="text/javascript"&amp;gt;

window.attachEvent('onload', width);

window.attachEvent('onresize', width);

function width(){

document.getElementById('XXX').style.width = (

(document.documentElement.clientWidth || 

document.body.clientWidth) &amp;lt; 930) ? '930px' : (

(document.body.clientWidth &amp;gt; 100) ? '100%' : '100%');

};

&amp;lt;/script&amp;gt;

&lt;/pre&gt;

&lt;p&gt;Но все дело в том, что для этого примера нет необходимости в указании 

максимальной ширины, к тому же при попытке определении разрешения монитора 

с помощью скрипта, и подстановкой &lt;em&gt;иных&lt;/em&gt; значений минимальной ширины, 

этот вариант не самый лучший.&lt;/p&gt; 

&lt;p&gt;А то, что для этого макета такая необходимость существует, все только усугубляет, 

мне же надо добиться, чтобы он работал &lt;em&gt;идеально&lt;/em&gt; везде и всюду, при разных 

разрешениях и при различном расположении фиксированной колонки.&lt;/p&gt;

&lt;p&gt;Порывшись в своих архивах, нашел подходящий вариант, где проблемы, изложенные 

выше, отсутствуют:&lt;/p&gt;

&lt;pre class="pre"&gt;

*html .XXX {

 width:expression(documentElement.clientWidth &amp;lt; 930 ? 

 (documentElement.clientWidth == 0 ? 

 (body.clientWidth &amp;lt; 930 ? "930" : "auto") : "930px") : "auto" );

}

&lt;/pre&gt;

&lt;p&gt;Не привожу примера, информации на страницах блога посвященной эмуляции 

&lt;a href= "http://trifler.ru/blog/comment_1225998098.html"&gt;position:fixed;&lt;/a&gt;, 

достаточно и поискать решение вы можете самостоятельно.&lt;/p&gt;

&lt;p&gt;Возможно, сделав пару-тройку проектов, выложу все в &lt;em&gt;паблик&lt;/em&gt; и вы 

навсегда забудете вот о таких неприятностях, где ситуация может быть лучше, 

где откровенно говоря, ни в какие ворота не лезет.&lt;/p&gt;

&lt;p&gt;Пара примеров:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_no_03.png"&gt;Плохо&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_no_02.png"&gt;Тоже не очень&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;А вот, как может все быть по моей методе, опробовано на скриптах &lt;em&gt;Мастера&lt;/em&gt; Lasto:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_yes_07.png"&gt;Agent&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_yes_05.png"&gt;Multiagent&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_yes_02.png"&gt;nano-CMS&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href= "i/layouts/fixed/fix_yes_06.png"&gt;Lasto Blog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Обратите внимание на положение горизонтальной прокрутки на некоторых скриншотах.&lt;/p&gt; 

&lt;p&gt;С использованием приема эмуляции &lt;span&gt;position:fixed;&lt;/span&gt; предложенного мной, 

фиксированная колонка, отделяющая область контента и колонку навигации, 

&lt;em&gt;&lt;u&gt;всегда&lt;/u&gt;&lt;/em&gt; 

находится на строго отведенном ей месте, а сама область контента имеет &lt;em&gt;”резиновые”&lt;/em&gt; свойства с ограничением по &lt;span&gt;min/max-width&lt;/span&gt;.&lt;/p&gt;&lt;!-- RSS_link_to_post start --&gt;



&lt;br&gt;

&lt;div style="margin-left:10px;color:#575;font-weight:bold;"&gt;&lt;a href="http://trifler.ru/blog/post_1236082863.html"&gt;Оставить комментарий&lt;/a&gt;&lt;/div&gt; 

&lt;div style="margin-left:10px;color:#575;font-weight:bold;"&gt;&lt;a href="http://trifler.ru/blog/post_1236082863.html"&gt;All Comments&lt;/a&gt;&lt;/div&gt; 



&lt;!-- RSS_link_to_post end --&gt;&lt;!-- RSS_link_to_post start --&gt;



&lt;br&gt;

&lt;div style="margin-left:10px;color:#575;font-weight:bold;"&gt;&lt;a href="http://trifler.ru/blog/post_1236082863.html"&gt;Оставить комментарий&lt;/a&gt;&lt;/div&gt; 

&lt;div style="margin-left:10px;color:#575;font-weight:bold;"&gt;&lt;a href="http://trifler.ru/blog/post_1236082863.html"&gt;All Comments&lt;/a&gt;&lt;/div&gt; 



&lt;!-- RSS_link_to_post end --&gt;</description>
         <pubDate>Tue, 03 Mar 2009 18:21:03 GMT</pubDate>
      </item>
   </channel>
</rss>
