<?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>Бузочок &#187; html</title>
	<atom:link href="http://buzochok.org.ua/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://buzochok.org.ua</link>
	<description>Для интересных людей</description>
	<lastBuildDate>Wed, 21 Apr 2010 16:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Выравнивание полей формы с помощью CSS</title>
		<link>http://buzochok.org.ua/vyravnivanie-polej-formy-s-pomoshhyu-css/</link>
		<comments>http://buzochok.org.ua/vyravnivanie-polej-formy-s-pomoshhyu-css/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 10:03:48 +0000</pubDate>
		<dc:creator>Veles</dc:creator>
				<category><![CDATA[Web-разработка]]></category>
		<category><![CDATA[Находки]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[верстка]]></category>
		<category><![CDATA[рецепты]]></category>

		<guid isPermaLink="false">http://buzochok.org.ua/?p=952</guid>
		<description><![CDATA[Задача
Добиться, чтобы поля ввода находились друг под другом, и при этом их положение определялось максимальной длиной заголовка поля слева. Решение не должно использовать таблиц и Javascript.


Решение
Шаг первый
Создадим HTML-разметку.
&#60;div class=&#34;field&#34;&#62;
   &#60;label for=&#34;n&#34;&#62;Имя&#60;/label&#62;
   &#60;input type=&#34;text&#34; id=&#34;n&#34; /&#62;
&#60;/div&#62;
&#60;div class=&#34;field&#34;&#62;
   &#60;label for=&#34;ln&#34;&#62;Фамилия&#60;/label&#62;
   &#60;input type=&#34;text&#34; id=&#34;ln&#34; /&#62;
&#60;/div&#62;
&#60;div class=&#34;field&#34;&#62;
   &#60;label for=&#34;a&#34;&#62;Место [...]]]></description>
			<content:encoded><![CDATA[<h3>Задача</h3>
<p>Добиться, чтобы поля ввода находились друг под другом, и при этом их положение определялось максимальной длиной заголовка поля слева. Решение не должно использовать таблиц и Javascript.</p>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_1.jpg" alt="forms_1" title="forms_1" width="600" height="233" class="alignnone size-full wp-image-953" /></p>
<p><span id="more-952"></span></p>
<h3>Решение</h3>
<p><strong>Шаг первый</strong></p>
<p>Создадим HTML-разметку.</p>
<pre class="brush: xml;">&lt;div class=&quot;field&quot;&gt;
   &lt;label for=&quot;n&quot;&gt;Имя&lt;/label&gt;
   &lt;input type=&quot;text&quot; id=&quot;n&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;field&quot;&gt;
   &lt;label for=&quot;ln&quot;&gt;Фамилия&lt;/label&gt;
   &lt;input type=&quot;text&quot; id=&quot;ln&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;field&quot;&gt;
   &lt;label for=&quot;a&quot;&gt;Место жительства&lt;/label&gt;
   &lt;input type=&quot;text&quot; id=&quot;a&quot; /&gt;
&lt;/div&gt;</pre>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_2.jpg" alt="forms_2" title="forms_2" width="600" height="233" class="alignnone size-full wp-image-954" /></p>
<p><strong>Шаг второй</strong></p>
<p>Выровняем содержимое каждого дива по правому краю и назначим ему обновление потока.</p>
<pre class="brush: css;">.field {clear:both; text-align:right;}</pre>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_6.jpg" alt="forms_6" title="forms_6" width="600" height="233" class="alignnone size-full wp-image-957" /></p>
<p><strong>Шаг третий</strong></p>
<p>Заставим каждый элемент label «утечь» влево.</p>
<pre class="brush: css;">.field {clear:both; text-align:right;}
label {float:left;}</pre>
<p>Теперь каждый заголовок встал напротив соответствующего поля, но ширина формы стала 100% от ширины родительского элемента.</p>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_4.jpg" alt="forms_4" title="forms_4" width="600" height="233" class="alignnone size-full wp-image-955" /></p>
<p><strong>Шаг четвертый</strong></p>
<p>Для того, чтобы прижать поля к заголовкам, обернём всю конструкцию блоком:</p>
<pre class="brush: xml;">&lt;div class=&quot;main&quot;&gt;
   &lt;div class=&quot;field&quot;&gt;
      &lt;label for=&quot;n&quot;&gt;Имя&lt;/label&gt;
      &lt;input type=&quot;text&quot; id=&quot;n&quot; /&gt;
   &lt;/div&gt;
   &lt;div class=&quot;field&quot;&gt;
      &lt;label for=&quot;ln&quot;&gt;Фамилия&lt;/label&gt;
      &lt;input type=&quot;text&quot; id=&quot;ln&quot; /&gt;
   &lt;/div&gt;
   &lt;div class=&quot;field&quot;&gt;
      &lt;label for=&quot;a&quot;&gt;Место жительства&lt;/label&gt;
      &lt;input type=&quot;text&quot; id=&quot;a&quot; /&gt;
   &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Добавим в CSS обтекание для этого блока:</p>
<pre class="brush: css;">.field {clear:both; text-align:right;}
label {float:left;}
.main {float:left}</pre>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_5.jpg" alt="forms_5" title="forms_5" width="600" height="233" class="alignnone size-full wp-image-956" /></p>
<p><strong>Шаг пятый</strong></p>
<p>Теперь видно, что из-за float элементы перестали находится на одной линии. Vertical-align, к сожалению, работать не будет, но можно воспользоваться line-height.</p>
<p>Также зададим отступ между заголовком и полем:</p>
<pre class="brush: css;">.field {clear:both; text-align:right; line-height:25px;}
label {float:left; padding-right:10px;}
.main {float:left}</pre>
<p align="center"><img src="http://buzochok.org.ua/wp-content/uploads/2009/11/forms_1.jpg" alt="forms_1" title="forms_1" width="600" height="233" class="alignnone size-full wp-image-953" /></p>
<p>Крутняк, да?</p>
]]></content:encoded>
			<wfw:commentRss>http://buzochok.org.ua/vyravnivanie-polej-formy-s-pomoshhyu-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
