<?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; HTML</title>
	<atom:link href="http://zodios.net/tag/html/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>Некоторые полезности от Мейера</title>
		<link>http://zodios.net/htmlcss/meyers-trics.html</link>
		<comments>http://zodios.net/htmlcss/meyers-trics.html#comments</comments>
		<pubDate>Sun, 14 Dec 2008 12:41:56 +0000</pubDate>
		<dc:creator>Zodios</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=455</guid>
		<description><![CDATA[Не так давно прочитал одну очень полезную и интересную книгу по верстке, которая называется «CSS —  Каскадные таблицы стилей. Подробное руководство» Э. Мейер. Книгу стоит отнести в раздел «must read» для любого человека, который занимается версткой. Единственное о чем пожалел после ее прочтения, что мне раньше не посоветовали  прочитать эту «библию верстальщика».

В этой [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно прочитал одну очень полезную и интересную книгу по верстке, которая называется «CSS —  Каскадные таблицы стилей. Подробное руководство» Э. Мейер. Книгу стоит отнести в раздел «must read» для любого человека, который занимается версткой. Единственное о чем пожалел после ее прочтения, что мне раньше не посоветовали  прочитать эту «библию верстальщика».</p>
<p><span id="more-455"></span></p>
<p>В этой замечательной книге детально рассматриваются практически все фундаментальные аспекты верстки, осведомленность о которых, избавит от необходимости искать подсказки на блогах и форумах и сэкономит кучу времени и нервов.</p>
<p>Для себя я решил записать некоторые полезные тонкости, которые нашел в этой книге и которые помогут привести верстку к более высокому уровню. Список представлен в произвольном порядке.</p>
<h4>Подключения стилей</h4>
<p>Ни  для кого не секрет информация о существовании тега link которые позволяет подключать внешние таблицы стилей. Но вот об атрибуте media многие забывают. Этот атрибут позволяет указать браузеру для чего используется таблица стилей и может получать значения screen,  print, aural, handheld, projection, tv. Таким образом, можно задать отдельные стили для оформления информации для экарана монитора или для вывода на печать. К сожалению сейчас можно говорить об адекватной поддержке только двух параметров   screen и print.</p>
<h4 style="font-variant:small-caps;">Капитель в текстах</h4>
<p>В типографике кроме прописных и строчных букв есть еще один тип начертания символов – Капитель. Капитель внешне похож на уменьшенный вариант прописных букв, но на самом деле, это совсем другое начертание букв. В ряде книг капитель рекомендуют применять  для набора имён, некоторых названий и аббревиатур и шрифтовых выделений в тексте.  Заголовок этого параграфа набран капителием.  Для задания капители в верстке есть отдельное свойство каскадных таблиц &#8211; font-variant:small-caps;</p>
<h4>Некоторые псевдоклассы</h4>
<p>Кроме всем известного псевдо класса :hover(IE6 без дополнительных мер поддерживает этот псевдо класс только для ссылок), который задает стиль для объекта над которым находится курсор, и :link,: active, :visited, есть еще ряд других полезных псевдо классов. К ним относится псевдокласс  :focus (выделяет активный элемент, например поле в которым находиться курсор, IE7 и ниже не поддерживают ), :first-child (стилевое оформления для первого дочернего элемента), :first-letter (стилевое оформления для первой буквы элемента), first-line(стилевое оформления для первой строки элемента), :after(псевдокласс, который используется для вывода желаемого контента после элемента IE7 и ниже не поддерживают), :before(псевдокласс, который используется для вывода желаемого контента до элемента IE7 и ниже не поддерживают).</p>
<h4>Оформления пробелов и запрет переноса</h4>
<p>В html 3 для того чтоб запретить переносить строку если она не помещается в контейнер использовался тег nobr,  в html 3.2 и выше этот тег считается устаревшим, но его функцию заменяет параметр CSS white-space, который может принимать такие значения:  nowrap (переносы строк в коде HTML игнорируются, весь текст отображается одной строкой, вместе с тем, добавление тега br переносит текст на новую строку), pre (текст показывается с учетом всех пробелов и переносов, как они были добавлены разработчиком в коде HTML. Если строка получается слишком длинной и не помещается в окне браузера, то будет добавлена горизонтальная полоса прокрутки),  pre-wrap  (сохраняются все пробелы и переносы. Однако если текст по ширине не помещается в заданную область, то текст автоматически будет перенесен на следующую строку, не работает в IE6, для поддержки нужно дописать параметр word-wrap: break-word; который можно вынести в отдельный файл стилей для IE чтоб сохранить валидность).</p>
<h4>Выравнивание текстов возле элементов формы</h4>
<p>Если в одной строке помещать поле ввода, или другой элемент формы вместе с текстом, который указывает назначение этого поля, элементы формы будут выровнены относительно базовой линии строки, причем в разных браузерах будут визуальные отличия в расположении. Для того чтоб изменить расположения элементов формы, скажем выровнять по вертикали, нужно воспользоваться параметром vertical-align задав ему одно из допустимых значений: top, middle, bottom, baseline, также допускается значение заданное в процентах.</p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/meyers-trics.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Метод &#171;Раздвижных дверей&#187; Sliding Doors</title>
		<link>http://zodios.net/htmlcss/slidingdoors.html</link>
		<comments>http://zodios.net/htmlcss/slidingdoors.html#comments</comments>
		<pubDate>Thu, 09 Oct 2008 11:23:31 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=267</guid>
		<description><![CDATA[В сети можно накопать много информации  об этом методе, но большинство заметок о нем написано очень громоздко так, что многие не дочитывают до конца. Он не является революционным, но довольно популярный, многие его используют, не зная его истинного названия. Цель этой заметки &#8211;  дать минимальное представление об этом распространенном методе.

Метод «Раздвижных дверей»( Sliding [...]]]></description>
			<content:encoded><![CDATA[<p>В сети можно накопать много информации  об этом методе, но большинство заметок о нем написано очень громоздко так, что многие не дочитывают до конца. Он не является революционным, но довольно популярный, многие его используют, не зная его истинного названия. Цель этой заметки &#8211;  дать минимальное представление об этом распространенном методе.</p>
<p><span id="more-267"></span></p>
<p><em>Метод «Раздвижных дверей»( Sliding Doors)  придумал Douglas Bowman и был опубликован на A List Apart  20 октября 2003 года.</em></p>
<p><img class="imgFloatLeft" src="http://www.picamatic.com/show/2008/10/09/02/58/1155592_131x39.png" alt="" /><img class="imgFloatRight" src="http://www.picamatic.com/show/2008/10/09/02/58/1155590_55x39.png" alt="" />Главное назначение метода – создание резиновых блоков, которые имеют стилизированные  края. Например, нужно сделать кнопочку такого вида (см. рис), можно вырезать плашку под кнопочкой и в нее добавлять текст, но нужно, чтоб кнопочка была универсальной, чтоб в нее можно было вставлять текст любой и задняя плашка от этого растягивалась. Это и помогает сделать метод раздвижных дверей (Sliding Doors).</p>
<p><img class="imgFloatLeft" src="http://www.picamatic.com/show/2008/10/09/02/58/1155591_131x70.png" alt="" />Суть метода состоит в том, что создается блок, которому присваивается правый фоновый рисунок, который будет всегда справа, а внутрь него помещается другой блок, у которого фоновый рисунок будет всегда слева. Таким образом, при увеличении содержимого блока его боковые рисунки разъезжаются по краям. Тонкость состоит при возникновении ситуации, с неоднородным фоном. Тогда можно правый рисунок сделать максимально-допустимой ширины, или сделать еще один блок, в котором  фоновый рисунок центральной части будет повторятся.</p>
<pre><code>&lt;ul&gt;
   &lt;li class="”menu”"&gt;&lt;a&gt;Статьи&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<pre><code>.menu {
	display:block;
	float:left;
	height:39px;
	margin-right:10px;
	background:url(rightdoor.png) no-repeat top right;
	}
	.menu a {
	display:block;
	height:39px;
	color:#fff;
	text-decoration:none;
	font:11px Tahoma;
	text-transform:uppercase;
	line-height:33px;
	padding:0 10px;
	background:url(leftdoor.png) no-repeat top left;
	}
</code></pre>
<p>Если блок должен растягиваться по горизонтали и вертикали нужно действовать аналогичным образом. Отличие состоит в том, что необходимо использовать четыре блока. В каждый из блоков помещается бекграундом  рисунок, отвечающий за каждый край из краев блока.</p>
<p>Есть еще одна вариация этого метода. Она состоит в абсолютном позиционировании. То есть родительскому элементу, который содержит контент, присваивается относительное позиционирование (position:relative) и в нем абсолютно, по углам, позиционируются боковые элементы.</p>
<p><a href="http://zodios.net/examples/slidingdoors/slidingdoors.html" target="_blank">Пример раздвижных дверей</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/slidingdoors.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Как подставить текст под бекраунд</title>
		<link>http://zodios.net/htmlcss/imagereplacement.html</link>
		<comments>http://zodios.net/htmlcss/imagereplacement.html#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:05:50 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=263</guid>
		<description><![CDATA[Не редко возникает необходимость заменить какую-то картинку текстом, то есть поместить под картинку текст. Например, сделать так, чтоб под картинкой логотипа находился текст и при отключении графики на странице было видно этот текст. Или, например, продублировать текст на картинке текстом под ней, чтоб поисковые боты могли проиндексировать его (вопрос белизны этого метода – отдельный разговор). [...]]]></description>
			<content:encoded><![CDATA[<p>Не редко возникает необходимость заменить какую-то картинку текстом, то есть поместить под картинку текст. Например, сделать так, чтоб под картинкой логотипа находился текст и при отключении графики на странице было видно этот текст. Или, например, продублировать текст на картинке текстом под ней, чтоб поисковые боты могли проиндексировать его (вопрос белизны этого метода – отдельный разговор). В этой заметке, представлены основные методы, которые я смог «откопать» в сети. Выбирались методы, которые не предусматривают подключение сторонних джава скриптом или флеш объектов.</p>
<p><span id="more-263"></span></p>
<h4>Метод FIR (Fahrner Image Replacement)</h4>
<p>Этот метод, придуманный Тоддом Фарнером, является довольно простым и оригинальным. Этот метод является наиболее популярным. Концепция метода состоит в том, что текст внутри блока берется в оболочку, которой присваивается display:none;</p>
<pre><code>
&lt;h1&gt;
	&lt;span&gt;Метод замены текста изображением  FIR&lt;/span&gt;
&lt;/h1&gt;
</code>
</pre>
<pre><code>
h1 {
width:150px;
height:150px;
background:url(images.gif) no-repeat;
}

h1 span {
display:none;
}
</code>
</pre>
<p>Недостаток метода в том, что при отключенной графике этот способ замены текста картинкой не отображает текст, который должен быть под картинкой. Таким образом, он подходит больше для поисковой оптимизации, когда необходимо продублировать текст на картинке.</p>
<h4>Метод Phark</h4>
<p>Майк Рандл разработал метод замены текста картинкой, в котором нет необходимости добавлять несемантические элементы.  Метод  Phark работает таким образом, что текст в блоке выкидывается за грани окна браузера путем присваивания тексту большого отрицательного отступа text-indent.</p>
<pre><code>
&lt;h1&gt;
	Метод замены текста изображением  Phark
&lt;/h1&gt;
</code>
</pre>
<pre><code>
h1 {
width:150px;
height:150px;
text-indent:-5000px;
background:url(images.gif) no-repeat;
}
</code>
</pre>
<p>Так же как и предыдущий способ размещения текста под картинкой, этот не позволяет отображать текст под картинкой при отключении графики. Еще один недостаток метода в том, что браузер FireFox во время клика по ссылке выделяет ее и ссылка у которой стотит этот IR имеет рамку ширина которой выходит за грани браузера. Но эту проблему можно решить через свойство outline, подробней в заметке <a href="http://zodios.net/htmlcss/outline-wbr-accent.html" target="_blank">Три полезные мелочи для верстки</a>.</p>
<h4>Метод замены текста картинкой MIR</h4>
<p>Метод похожий на Phark, только имеет чуть другу структуру.</p>
<pre><code>
&lt;h1&gt;
	Метод замены текста изображением  MIR
&lt;/h1&gt;
</code>
</pre>
<pre><code>
h1 {
letter-spacing :-1000em;
width:200px;
height:80px;
background:url(images.gif) no-repeat;
}
</code>
</pre>
<h4>Метод Leahy/Langridge.</h4>
<p>Метод состоит в «Выпихивании» текста верхним внутренним отступом за грани блока.</p>
<pre><code>
&lt;h1&gt;
	Метод замены текста изображением  Leahy/Langridge
&lt;/h1&gt;
</code>
</pre>
<pre><code>
h1{
padding: 80px 0 0 0;
overflow: hidden;
Background:url(images.gif) no-repeat;
height: 0px !important;
}
</code>
</pre>
<h4>Метод Гилдера-Левина (Pixy)</h4>
<p>Этот  трюк замены текста картинкой, созданный Томом Гилдером и Александром Левиым, возможно, самый удобный метод. Он позволяет отобрать текст под картинкой с  отключенной графики. Единственный его недостаток в том, что добавляется несемантические элементы. Суть метода состоит в том что в блоке фиксированных размеров, в котором находится текст помещается конструкция которая имеет абсолютное позиционирование и фон,  таким образом перекрывает текст.</p>
<pre><code>
&lt;h1&gt;
	Метод замены текста изображением  Pixy&lt;span&gt;&lt;/span&gt;
&lt;/h1&gt;
</code>
</pre>
<pre><code>
h1 {
position:relative;
width:150px;
height:150px;
text-indent:-5000px;
}
h2 span {
position:absolute;
width:100%;
height:100%;
background:url(images.gif) no-repeat;
}
</code>
</pre>
<p>При использовании этого метода, перекрывающие изображение должно иметь сплошной фон иначе текст будет просвечиваться через картинку.</p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/imagereplacement.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>cellpading и cellspacing через CSS</title>
		<link>http://zodios.net/htmlcss/cellpading-cellspacing-css.html</link>
		<comments>http://zodios.net/htmlcss/cellpading-cellspacing-css.html#comments</comments>
		<pubDate>Sun, 28 Sep 2008 10:12:02 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=249</guid>
		<description><![CDATA[Есть несколько атрибутов таблицы, которые начинающим верстальщикам, кажутся незаменимыми при использовании CSS.  К таким атрибутам относится cellspacing, cellpadding.Умные верстальщики cellpadding, cellspacing не используют. Для того, чтоб понять какими атрибутами CSS их можно заменить нужно, разобраться в том, что они делают.

cel-spacing задает отступ между самими ячейками таблицы, то есть расстояние от края одной ячейки до [...]]]></description>
			<content:encoded><![CDATA[<p>Есть несколько атрибутов таблицы, которые начинающим верстальщикам, кажутся незаменимыми при использовании CSS.  К таким атрибутам относится <strong>cellspacing</strong>, <strong>cellpadding</strong>.Умные верстальщики cellpadding, cellspacing не используют. Для того, чтоб понять какими атрибутами CSS их можно заменить нужно, разобраться в том, что они делают.</p>
<p><span id="more-249"></span></p>
<p><strong>cel-spacing</strong> задает отступ между самими ячейками таблицы, то есть расстояние от края одной ячейки до края другой ячейки. <strong>cellspacing</strong> задает отступ внутри ячейки, то есть от края ячейки до ее содержимого. Зная это легко подобрать эквиваленты в CSS. Таким образом, вместо того, чтоб задавать:</p>
<pre><code>
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
  &lt;tr&gt;
      &lt;td&gt;Содержимое ячейки&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code>
</pre>
<p>Нужно прописать стиль таблице:</p>
<pre><code>
#tableId {
   border:0;
   padding:0;
   border-collapse:collapse;
}
#tableId td {
   padding:0;
}
</code>
</pre>
<p>В коде выше видно параметр <strong>border-collapse</strong>. Одно из свойств таблицы состоит в том, что параметр border, в виде атрибута тега, задает рамку не только внешней части таблицы, но и всем ячейкам. Таким образом, две ячейки подряд находятся на интервале равном двойной ширине рамки (рамка одной ячейки и потом рамка другой ячейки), чтоб этого избежать применяется этот параметр. Он указывает на то, что рамки боковых ячеек сливаются в одну рамку, таким образом, избавляются от двойного отступа. Это нехитрое свойство часто является причиной возникновение непонятных отступов в таблице при обнулении всех параметров таблицы.</p>
<p>Нюансом также является то, что параметр Cellspacing задает отступы между ячейками, то есть если задать ячейке border и использовать этот параметр, то между ними появится отступ равный величине этого параметра. Для того что добиться этого эффекта необходимо к таблице (НЕ ячейке) применить css параметр <strong>border-spacing:10px;</strong>, который к сожалению не кроссбраузерный, как обычно подвел Internet Explorer.</p>
<p>Не стоит забывать, что некоторые атрибуты таблиц уже являются не рекомендуемыми deprecated согласно стандартам. Подробней можно прочитать в заметке <a href="http://zodios.net/htmlcss/ne-rekomenduemye-deprecated-tegi.html" target="_blank">Не рекомендуемые (deprecated) теги</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/cellpading-cellspacing-css.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>История развития HTML</title>
		<link>http://zodios.net/htmlcss/istoriya-razvitiya-html.html</link>
		<comments>http://zodios.net/htmlcss/istoriya-razvitiya-html.html#comments</comments>
		<pubDate>Fri, 26 Sep 2008 11:20:44 +0000</pubDate>
		<dc:creator>Zodios</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=245</guid>
		<description><![CDATA[HTML (Hyper Text Markup Language &#8211; язык гипертекстовой разметки)  в классическом виде был создан в начале 1990 годов отцом всемирной паутины,  работником CERN (European Organization for Nuclear Research) Тимом Бернерсом-Ли. По своей сути HTML не был чем-то революционным. Язык был основан на SGML(Standard Generalized Markup Language &#8211; стандартный обобщенный язык разметки).

Основной идей SGML [...]]]></description>
			<content:encoded><![CDATA[<p><strong>HTML</strong> (Hyper Text Markup Language &#8211; язык гипертекстовой разметки)  в классическом виде был создан в начале <strong>1990 </strong>годов отцом всемирной паутины,  работником <strong>CERN</strong> (European Organization for Nuclear Research) Тимом Бернерсом-Ли. По своей сути <strong>HTML</strong> не был чем-то революционным. Язык был основан на <strong>SGML</strong>(Standard Generalized Markup Language &#8211; стандартный обобщенный язык разметки).</p>
<p><span id="more-245"></span></p>
<p>Основной идей <strong>SGML</strong> было создать язык для разметки документов который не был бы привязан к определенной апаратнно-программной платформе. И можно было б обеспечить максимальную перенноситьмость с одной платформы на другую с учетом появления новых платформ без изменения структуры и отображения. Данную идею реализовала команда из компании <strong>IBM</strong> под руководством Чарльза Гольдфарба. Создатели решили отделить структуру документа от его оформления.</p>
<p>Концепция строилась на внедрении в код специальных управляющих конструкций который разделяли элементы структуры(заголовки, параграфы, абзаци) но не говори как эти элементы должны отображаться. А структуру которая отвечала за отображение элементов вынести в отдельный файл &#8211; лист стилей. Подобная структура позволяла отображать одну и туже информация разными способами.</p>
<p>Разработчики системы справедливо посчитали, что всякий документ может быть надежно обработан лишь в том случае, если он соответствует некоему единому стандарту. Все прочие документы предполагалось отвергать. Таким образом, потребовалось четко определить допустимую структуру документов того или иного типа. Для этой цели был задействован механизм определений типов документов (<strong>DTD</strong> &#8211; Document Type Definition). <strong>DTD</strong>, как и лист стилей, представляет собой файл, внешний по отношению к соответствующему документу.</p>
<p>Разделение всего документа на структуры, стили и стандарты формирование давало высокую гибкость, так как можно было редактировать стили и стандарты без изменения структуры документа.</p>
<p>Язык, соответствующий всем вышеозначенным концепциям и получивший название <strong>GML</strong> (Generalized Markup Language), был создан в <strong>1969 </strong>г.В <strong>1986</strong>г. ISO приняла язык в качестве международного стандарта и к названию добавилась буква &laquo;S&raquo;.</p>
<p>Сам по себе язык <strong>SGML</strong> был мало востребован пока сообществу ученных по всему миру не понадобился инструмент способный быстро и легко передавать информацию. В <strong>1991 </strong>была разработана система Gopher. Но она не поддерживала графику и гепертекстовые ссылки. Именно тогда на арену вышел Европейский институт физжики элементарных частц (<strong>CERN</strong>) в лице Тима Бернерса-Ли с проектом &laquo;Всемирная паутина&raquo;.</p>
<p>Началась работа над созданием первого текстового браузера поддерживающего гипертекст. Новороженый язык призванный обеспечить легкость и оперативнойсть доставки информации был назван HTML. Язык в много повторял своего прародителя, кроме отличия в том что некоторые элементы структуры должны были отображаться особенным образом (жирными текстом, курсивом, с отступами&#8230;).</p>
<p>В сентябре <strong>1993 </strong>года возглавляемая Марком Андрисеном группа программистов Национального центра суперкомпьютерных приложений выпустила первый графический браузер Mosaic. Программа начала распространятся со скоростью вируса. За первый год было установлено около двух миллионов копий программа. Программа поддерживала мышиный интерфейс и отображение картинок. Все это распространялось абсолютно бесплатно и помещалось на одну дискету.</p>
<p>Тем временем Тим Бернерс-Ли не почивал на лаврах, а продолжал развитие сети. В <strong>1994 </strong>была создана организация которая была призвана стандартизировать гипертекстовую разметку. Организация была названа <strong>World Wide Web Consortium</strong> (w3c.org) и началась работа над создание спецификации для HTML 2.0. Начиная с вереси 3.0  была реализована поддержка <strong>СSS </strong>которая была создана для разделения элементов отвечающих за отображение и структуру документа.</p>
<p>В начале <strong>1994 </strong>года группа разработчиков браузера <strong>Mosaic </strong>покинула <strong>NCSA </strong>и совместно с Джеймсом Кларком из Silicon Graphics основала корпорацию Netscape Communications. Через полгода состоялся дебют &#8211; вышла первая версия коммерческого браузера <strong>Netscape </strong>для трех основных платформ. Менеджеры компании прекрасно понимали, что горизонты совсем недолго останутся такими безоблачными, и постарались подстелить соломки где только возможно. Чтобы отхватить как можно больший кусок потенциальной аудитории, привлечь максимальное количество новых пользователей, <strong>Netscape </strong>вводила в <strong>HTML </strong>все новые и новые усовершенствования, поддерживавшиеся, естественно, только одноименным браузером. Практически все новые теги были направлены на улучшение внешнего вида документа и расширение возможностей его форматирования.</p>
<p>Выпущенная летом <strong>1996</strong>г. версия Internet Explorer 3.0, поддерживавшая практически все расширения Netscape и обладавшая симпатичным и дружественным интерфейсом, очень быстро утвердилась в качестве &laquo;второго главного браузера&raquo;.</p>
<p>Четверные версии обохи браузеров вышли практически одновременно и не отличались друг от друга особой скоростью работы или иными параметрами. Но если Netscape нужно было покупать то Internet Explorer начал поставляться бесплатно в операционной системе Windows и стал фактически стандартом отрасли.</p>
<p>История в датах:</p>
<ul style="list-style:circle">
<li><strong>1993, 14 марта</strong> &#8211; выпуск Mosaic первого браузера с графическим интерфейсом. </li>
<li><strong>1994</strong> &#8211; создан консорциум W3C </li>
<li><strong>1994,  13 октября</strong> &#8211;  Marc Andreessen анонсировал Mozilla который потом стал Netscape </li>
<li><strong>1995, 22 сентября</strong> &#8211;   HTML 2,0  одобренный как стандарт </li>
<li><strong>1995 </strong>- Создание CSS </li>
<li><strong>1995 </strong>- Появление коммерческой версии браузера Netscap </li>
<li><strong>1995, август</strong> &#8211; выпуск Internet Explorer 1.0. </li>
<li><strong>1995, 30 августа</strong> &#8211; создание Opera Software </li>
<li><strong>1996</strong> &#8211;  W3C приняла CSS 1.0 как стандарт </li>
<li><strong>1996</strong> &#8211;  Выпуск Internet Explorer 2.0 </li>
<li><strong>1996, 14 января</strong> &#8211;  HTML 3,2 одобренный как стандарт </li>
<li><strong>1997, 18 декабря</strong> &#8211;  HTML 4,0 одобренный как стандарт </li>
<li><strong>1998</strong> &#8211;  Выпуск Opera 3.5 </li>
<li><strong>1999, 24 декабря</strong> &#8211;  HTML 4,01 одобренный как стандарт </li>
<li><strong>1999</strong> &#8211;  Принята спецификация на CSS 2.0 </li>
<li><strong>2000, 26 января</strong> &#8211;  XHTML 1,0  одобренный как стандарт </li>
<li><strong>2003, 7 января</strong> &#8211; Публичная бета-версия Safari </li>
<li><strong>2004, 9 ноября</strong> &#8211; Публичный релиз Mozilla </li>
<li><strong>2007, 16 февраля</strong> &#8211;  XHTML 1,1 одобренный как стандарт</li>
</ul>
<p>График развития:</p>
<p><a style="text-decoration: line-through;" rel="nofollow" href="http://www.w3.org/2005/01/timelines/timeline-2500x998.png" target="_blank"><img src="http://www.w3.org/2005/01/timelines/timeline-thumbnail.png" alt="" /></a></p>
<p>&gt;</p>
<p>Список источников материла:<br />
 <em>w3.org</em><br />
 <em>wikipedia.org</em><br />
 <em>wmast.com.ua</em><br />
 <em>skydesign.ru</em></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/istoriya-razvitiya-html.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Строчные &#8211; inline и блочные – block-level элементы</title>
		<link>http://zodios.net/htmlcss/inline-and-blockelements.html</link>
		<comments>http://zodios.net/htmlcss/inline-and-blockelements.html#comments</comments>
		<pubDate>Sun, 14 Sep 2008 21:41:19 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=211</guid>
		<description><![CDATA[Большинство структурных элементов html делиться на две основные группы, которые позволяют сформировать документ практически любой сложности   – блочные элементы(block) и строчные элементы(inline).

В чем состоит основная разница между этими элементам? Кардинальным различием между ними является то, что строчные элементы (inline), по определению, не имеют верхнего и нижнего отступа. Это основано на том,  что [...]]]></description>
			<content:encoded><![CDATA[<p>Большинство структурных элементов html делиться на две основные группы, которые позволяют сформировать документ практически любой сложности   – блочные элементы(block) и строчные элементы(inline).</p>
<p><span id="more-211"></span></p>
<p>В чем состоит основная разница между этими элементам? Кардинальным различием между ними является то, что строчные элементы (inline), по определению, не имеют верхнего и нижнего отступа. Это основано на том,  что в общем потоке строчные элементы (inline) идут друг за другом, то есть в одной строке и на другую переходят только когда доходят до конца строки, или когда что-то принудительно заставляет перейти на новую строку. Блочные элементы (block), в отличие от строчных элементов, в общем потоке располагаются один под другим.  То есть, строчным элементам нельзя задать margin-top, margin-bottom, padding-top, padding-bottom.</p>
<p>Благодаря этой характеристике  есть подводные камни, они состоят в том, что согласно спецификации HTML 4.0, есть ряд элементов, которые относятся к строчным элементам (ниже приведен список строчных и блочных элементов), но которым можно задавать вертикальные отступы. К таким относится элемент img, input, textarea, select.</p>
<p>В этом есть доля разумного, так благодаря тому, что тег img относиться к строчным элементам,   ему можно задавать обтекание изображения текстом. Но с другой стороны это порой делает и   «медвежью услугу». Так, например многие сталкивались с тем, что если тег img взять в ссылку это приведет к тому, что вокруг тега img появляется рамка цвета, который присвоен ссылке. Убрать ее можно присвоив стилевое свойство border:0.</p>
<p>Другой палкой с двумя концами, является ситуация, когда в строке один за другим идет текстовый элемент и элемент формы, такой как поле  ввода, или кнопка, тогда бывает что текстовый элемент расположен не строго посредине от элемента формы, а как бы снизу от него. Эта проблема решается путем присвоения числового значения вертикальному внутреннему отступу(padding-top,padding-bottom) которое и скомпенсирует неровность по вертикали. Для наглядности ниже приводиться список элементов, которые относятся к строчным элементам, и которые к блочным.</p>
<h4>К строчным(inline) элементам относятся:</h4>
<pre><code>&lt;a href="http://zodios.net"&gt;xxx&lt;/a&gt;
&lt;br /&gt;
&lt;cite&gt;xxx&lt;/cite&gt;
&lt;code&gt;xxx&lt;/code&gt;
&lt;em&gt;xxx&lt;/em&gt;
&lt;img /&gt;
&lt;input /&gt;
&lt;label&gt;xxx&lt;/label&gt;
&lt;select&gt;&lt;/select&gt;
&lt;span&gt;xxx&lt;/span&gt;
&lt;strong&gt;xxx&lt;/strong&gt;
&lt;sub&gt;xxx&lt;/sub&gt;
&lt;sup&gt;xxx&lt;/sup&gt;
&lt;textarea&gt;xxx&lt;/textarea&gt;
</code></pre>
<h4>К блочным block-leve элементам относятся:</h4>
<pre><code>&lt;div&gt;xxx&lt;/div&gt;
&lt;dl&gt;xxx&lt;/dl&gt;
&lt;form&gt;xxx&lt;/form&gt;
&lt;h1&gt;xxx&lt;/h1&gt;
&lt;h2&gt;xxx&lt;/h2&gt;
&lt;h3&gt;xxx&lt;/h3&gt;
&lt;h4&gt;xxx&lt;/h4&gt;
&lt;h5&gt;xxx&lt;/h5&gt;
&lt;h6&gt;xxx&lt;/h6&gt;
&lt;hr /&gt;
&lt;noscript&gt;xxx&lt;/noscript&gt;
&lt;ol&gt;xxx&lt;/ol&gt;
&lt;p&gt;xxx&lt;/p&gt;
&lt;pre&gt;xxx&lt;/pre&gt;
&lt;table&gt;xxx&lt;/table&gt;
&lt;ul&gt;xxx&lt;/ul&gt;

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/inline-and-blockelements.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Как выровнять блок-div по центру</title>
		<link>http://zodios.net/htmlcss/div-center.html</link>
		<comments>http://zodios.net/htmlcss/div-center.html#comments</comments>
		<pubDate>Fri, 12 Sep 2008 14:24:19 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=191</guid>
		<description><![CDATA[Необходимость выровнять какой-то блочный элемент по центру является не редкой в повседневной работе верстальщика. Многие начинающие верстальщики спотыкаются об то, что css-свойство text-align:center; для родительского элемента  приводит к выравниванию блока по центру только в Internet Explorer , в других браузерах это не приносит ожидаемого результата. Это связанно с тем, что во всех браузерах, кроме [...]]]></description>
			<content:encoded><![CDATA[<p>Необходимость выровнять какой-то блочный элемент по центру является не редкой в повседневной работе верстальщика. Многие начинающие верстальщики спотыкаются об то, что css-свойство <code>text-align:center;</code> для родительского элемента  приводит к выравниванию блока по центру только в Internet Explorer , в других браузерах это не приносит ожидаемого результата. Это связанно с тем, что во всех браузерах, кроме Internet Explorer,  свойство <code>text-align:center</code> применяется  только к строчным элементам. Подробней о том какие элементы относяться к строчным и в чем их особенность можно прочитать в заметке &laquo;<a href="http://zodios.net/htmlcss/inline-and-blockelements.html" target="_blank">Строчные &#8211; inline и блочные – block-level элементы</a>&laquo;</p>
<p><span id="more-191"></span></p>
<p>В этой заметке будут представлены возможные варианты, выравнивая блока по центру внутри другого блочного элемента. В конце заметки есть ссылка на реализацию примеров приведенных здесь.</p>
<h4>Вариант 1 (<em>align=”center”</em>)</h4>
<p>Суть метода в том,  что родительскому блоку (тому, в котором нужно выровнять блок по центру) присваивается атрибут <code>align=”center”</code>. Этот атрибут указывает на то, что все  содержимое блока должно быть выровнено по центру. Результат метода удовлетворяет ожидания. Недостатком является то что все содержимое всех внутренних блоков также будет выровнено по центру, тоесть прийдеться внутренним элементам переопределять выравнивание. Другим недостатком является то, что атрибут <code>align</code> недопустим при строгой(Strict) разметке (подробней о типах разметки можно прочитать в заметке «<a href="http://zodios.net/htmlcss/saga-o-doctype.html" target="_blank">Сага о doctype</a>») что приведет к не прохождению валидации.</p>
<h4>Вариант 2 (<em>margin: 0 auto;</em>)</h4>
<p>Этот метод  метода выравнивания <code>div</code> по центру является более эффективным,  чем предыдущий. Метод основан на том, что блоку, который нужно выровнять по центру применяется  css-свойство <code>margin:0 auto;</code>.  Метод основан на сокращенно представлении свойства (подробней читай в заметке «<a href="http://zodios.net/htmlcss/shortcss.html" target="_blank">Сокращения при написании CSS</a>»). Таким образом, если необходимо будет еще добавить только отступ сверху необходимо изменить на <code>margin:10px auto 0;</code> или на <code>margin:10px auto;</code> если отступ нужен сверху и снизу.</p>
<h4>Вариант 3 (<em>позиционирование и отрицательный отступ</em>)</h4>
<p>Для того чтоб выровнять блок по центру можно еще воспользоваться этим способом выравнивания блока по центру. Он заключается в том, что блок позиционируется в родительском элементе и потом сдвигается влево на 50%, но таким образом элемент будет размещен не совсем по центру и для того чтоб это изменить блоку присваивается отрицательный левый отступ равный половине ширины блока чтоб четко выровнять его по центру. Главное в этом методе не забыть присвоить блоку позиционирование.</p>
<pre><code>
.example3 {
    position:relative;
    left:50%;
    margin-left:-100px;
    width:200px;
    background:#FF6666;
    border:1px solid #FF0000;
}
</code>
</pre>
<h4>Вариант 4 (<em>Процентное соотношение</em>)</h4>
<p>Если блок, который нужно разместить по центру, имеет ширину в процентах можно воспользоваться этим легким  способом выравнивания блока по центру. Метод заключается в том, что блоку применяются боковые отступы равные половине ширины, оставшиеся от 100% после отнятии ширины блока. Скажем, если есть блок шириной 40%, то боковые отступы нужно сделать по 30% и тогда блок будет сцентрированный.</p>
<h4>Резюме</h4>
<p>Выбор способа выравнивания зависит от контекста решения проблемы и предпочтения верстальщика. Все представленные методы полностью кроссбраузерны.</p>
<p><a href="http://zodios.net/examples/divcenter/divcenter.html" target="_blank">Реализация методов</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/div-center.html/feed</wfw:commentRss>
		<slash:comments>34</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>
		<item>
		<title>Как прижать footer к низу окна браузера</title>
		<link>http://zodios.net/htmlcss/downfooter.html</link>
		<comments>http://zodios.net/htmlcss/downfooter.html#comments</comments>
		<pubDate>Sat, 06 Sep 2008 10:27:29 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=123</guid>
		<description><![CDATA[Необходимость прижать footer к низу окна браузера является типичной проблемой. В этой заметке я предлагаю четыре примера того как можно прижать блок к низу окна браузера. Каждый вариант имеет свои недостатки и плюсы. Для всех вариантов общей является структура документа. Разнятся они лишь в CSS. Все верстки были проверенны на кроссбраузерность(Internet Explorer 6,7, Firefox, Opera) [...]]]></description>
			<content:encoded><![CDATA[<p>Необходимость прижать <code>footer</code> к низу окна браузера является типичной проблемой. В этой заметке я предлагаю четыре примера того как можно прижать блок к низу окна браузера. Каждый вариант имеет свои недостатки и плюсы. Для всех вариантов общей является структура документа. Разнятся они лишь в <code>CSS</code>. Все верстки были проверенны на кроссбраузерность(<code>Internet Explorer 6,7, Firefox, Opera</code>) и валидность. Все четыре примера резиновые, если увеличить количества содержимого блока content, который приведет к появлению полосы прокрутки, футер все равно будет оставаться в самом низу. Хочу заметить один нюанс этих версток связанный с <code>Opera 9.5</code>. Если все стили прописывать в блоке <code>&lt;style&gt;&lt;/style&gt;</code> в <code>&lt;header&gt;</code>, <code>footer</code> в <code>Opera</code> 9.5 не будет позиционироваться относительно нижнего края окна, но если все стили прописать во внешнем файле все будет работать. В верстке присутствует <code>JavaScript</code> который выполняет функцию добавления «рыбы» для наглядности примера.</p>
<p><span id="more-123"></span></p>
<p>Код общей разметки:</p>
<pre><code>
&lt;div id="wrapper"&gt;
    &lt;div id="header"&gt;HEADER&lt;/div&gt;
    &lt;div id="content"&gt;CONTENT&lt;/div&gt;
&lt;/div&gt;
&lt;div id="footer"&gt;FOOTER&lt;/div&gt;
</code> </pre>
<h4>Вариант 1(Абсолютное позиционирование)</h4>
<p>Суть этого метода прижатия блока состоит в том, что footer позиционируется относительно низа окна браузера. Это делается путем растягивания <code>&lt;body&gt;</code> на высоту всего окна и позиционирования относительно нижнего края блока <code>footer</code>. В блоке <code>content</code> задается свойство <code>padding-bottom</code> равный высоте блока <code>footer</code> , чтоб содержимое блока <code>content</code> не залазило под блок <code>footer</code> при его увеличении.</p>
<pre><code>
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
body {
    position:relative;
    min-height: 100%;
    height: auto !important;
    height: 100%;
}
#header {
    height: 30px;
    width: 100%;
    background:yellow;
}
#content {
    padding-bottom: 40px;
}
#footer {
    height: 40px;
    width: 100%;
    position: absolute;
    left:0;
    bottom: 0;
    background:green;
}
</code>
</pre>
<p>Особенность этого способа прибивания блока к низу окна, состоит в том что блок wrapper здесь и не нужен, но чтобы сохранить разметку общей для всех методов он присутствует в этом примере. Недостатком этого метода является то, что блок <code>content</code> не растянут на всю высоту окна, таким образом, данный метод не подходит для реализации резинового колоночного дизайна. О том зачем нужна конструкция &laquo;<code>min-height: 100%;height: auto !important;height: 100%;</code>&raquo; рассказывается в статье &laquo;<a href="http://zodios.net/htmlcss/min-height.html" target="_blank">Особенности свойства height</a>&laquo;<br />
 <a href="http://zodios.net/examples/footer/examp1.html" target="_blank">Реализация варианта 1</a></p>
<h4>Вариант2 (footer с отрицательным отступом)</h4>
<p>В этом варианте блок <code>wrapper</code> растягивается на все окно браузера, после этого под ним размещается блок <code>footer</code> с отрицательным верхним отступом равным высоте блока <code>footer</code>. Таким образом, блок <code>footer</code> залазит на блок <code>wrapper</code> снизу. После этого, блоку <code>content</code> присваивается отступ снизу, чтоб блок <code>footer</code> не перекрывал содержимого блока <code>content</code> при увеличении последнего до появления полос прокрутки.</p>
<pre><code>
html, body {
  margin:0;
  padding:0;
  width:100%;
  height:100%;
}
#wrapper {
  position:relative;
  min-height: 100%;
  height: auto !important;
  height: 100%;
}
#content {
  padding-bottom:40px;
}
#footer {
  position: relative;
  margin-top: -40px;
  height: 40px;
  background:green;
}
#header {
  height: 30px;
  width: 100%;
  background:yellow;
}
</code>
</pre>
<p><a href="http://zodios.net/examples/footer/examp2.html" target="_blank">Реализация варианта 2</a></p>
<h4>Вариант 3 (Отрицательный отступ сверху)</h4>
<p>Метод похожий на предыдущий с той разницей, что блок wrapper растягивается на 100%, под ним размещается блок <code>footer</code> и блок <code>wrapper</code> оттягивается верх путем установления верхнего отрицательного отступа равного высоте блоа <code>footer</code>. Но нужно не забыть установить блоку <code>header padding-top</code> равный высоте блока <code>footer</code> иначе первое содержимое блока <code>content</code> уйдет за границы экрана. Почему <code>padding</code>, а не <code>margin</code>? Это связано с нюансом блочной модели. Если есть какой-то блок, а в нем находится другой блок с заданным свойством <code>margin-top</code>, то отступ выйдет за грани родительского блока. Данную проблему можно решить путем установки <code>padding-top:1px;</code> тогда верхний отступ будет идти от верхнего края родительского блока. Но если установить родительскому блоку <code>padding-top:1px;</code> его высота будет больше чем 100% и появятся ненужные полосы прокрутки.</p>
<pre><code>
html, body {
  margin:0;
  padding:0;
  width:100%;
  height:100%;
}
#wrapper {
  position:relative;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin-top:-40px;
}
#footer {
  position: relative;
  height: 40px;
  background:green;
}
#header {
  height: 30px;
  width: 100%;
  padding-top:40px;
  background:yellow;
}
</code>
</pre>
<p>В этом варианте, как и в первом, блок content не является обязательным.<br />
 <a href="http://zodios.net/examples/footer/examp3.html" target="_blank">Реализация варианта 3</a></p>
<h4>Вариант 4 (Процентное соотношение)</h4>
<p>Суть этого метода который позволяет прижать блок к низу окзна браузера состоит в том, что блок <code>wrapper</code> занимает не 100% окна , а меньше, а оставшиеся проценты уходя на футер. Очевидный недостаток данного метода в том, что размер блока <code>wrapper</code> и <code>footer</code> будет изменятся в зависимости от разрешения и размера экрана монитора.</p>
<pre><code>
html, body {
  margin:0;
  padding:0;
  width:100%;
  height:100%;
}
#wrapper {
  position:relative;
  min-height: 92%;
  height: auto !important;
  height: 92%;

}
#footer {
  position: relative;
  height: 8%;
  background:green;
}
#header {
  height: 30px;
  width: 100%;
  background:yellow;
}
</code>
</pre>
<p><a href="http://zodios.net/examples/footer/examp4.html" target="_blank">Реализация варианта 4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/downfooter.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Метод  фальш-колонки</title>
		<link>http://zodios.net/htmlcss/fakecol.html</link>
		<comments>http://zodios.net/htmlcss/fakecol.html#comments</comments>
		<pubDate>Thu, 04 Sep 2008 18:00:44 +0000</pubDate>
		<dc:creator>Orosi</dc:creator>
				<category><![CDATA[HTML&CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://zodios.net/?p=118</guid>
		<description><![CDATA[Одним из недостатков блочной верстки перед табличной версткой стоит в том, что нельзя сделать колоночный дизайн в классическом  виде. При табличной верстке колоночный макет делается путем создания нескольких  ячеек в строке. При этом увеличение  одной колонки приводит к пропорциональному увеличению соседних колонок. При блочной верстке каждая колонка реализуется  в виде отдельной [...]]]></description>
			<content:encoded><![CDATA[<p>Одним из недостатков блочной верстки перед табличной версткой стоит в том, что нельзя сделать колоночный дизайн в классическом  виде. При табличной верстке колоночный макет делается путем создания нескольких  ячеек в строке. При этом увеличение  одной колонки приводит к пропорциональному увеличению соседних колонок. При блочной верстке каждая колонка реализуется  в виде отдельной структуры. Таким образом, изменение размеров одной структуры не приводит к изменению другой.</p>
<p><span id="more-118"></span></p>
<p>Как же быть когда нам нужно отверстать колоночный макет в  блочной моделе. Это выполняется  с использованием метода «фальш колонки». Этот метод основывается на том, что родительскому элементу, который содержит в себе все колонки, присваивается фон в виде горизонтальной картинки нужной ширины и высотой в один пиксель,  в котором по краях находится необходимые цвета. Таким образом ,этот фон создает иллюзию колонок. При увеличении одной колонки она растягивает весь родительский элемент и создается иллюзия, что вторая колонка пропорционально увеличивается. Вот пример этого метода <a href="http://zodios.net/examples/fakecol/examp1.html" target="_blank">ФАЛЬШ КОЛОНКА 1</a>. Сами блоки с текстом взяты в красную рамку, чтоб можно было увидеть суть метода.</p>
<p>Но если у нас резиновый двух колоночный макет нужно поступить таким же образом, но немного модифицировав его. Теперь нам нужно две картинки фона, каждая шириной в ширину колонки, или одна, если колонки одинаковой ширины. Теперь все наше содержимое  берется в два оберточных блока в одном указан фоном рисунок шириной равной ширине первой колонки, который буте повторятся только по вертикали и только слева, а во второй другой фон, который повторяется только по вертикали и только справа. Вот пример второй фальш колонки <a href="http://zodios.net/examples/fakecol/examp2.html" target="_blank">ФАЛЬШ КОЛОНКА 2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zodios.net/htmlcss/fakecol.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
