<?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; form</title>
	<atom:link href="http://www.ilovejs.net/archives/tag/form/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ilovejs.net</link>
	<description>到了创造为主的阶段，不忘继续学习</description>
	<lastBuildDate>Thu, 15 Dec 2011 06:18:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>不使用table实现form表单的简单对齐布局</title>
		<link>http://www.ilovejs.net/archives/43</link>
		<comments>http://www.ilovejs.net/archives/43#comments</comments>
		<pubDate>Mon, 21 Dec 2009 11:45:36 +0000</pubDate>
		<dc:creator>Supersha</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[form]]></category>

		<guid isPermaLink="false">http://www.ilovejs.net/?p=43</guid>
		<description><![CDATA[实现form表单label字段和input字段的对齐设计，很多人都习惯使用table的方式，当然了，使用table方便很多，只需要设置一下align就可以实现。但是从减少代码量和良好的结构性出发，可以使用其他的方式来实现，下面我将要展示的就是其中的一种方式。 效果： 我的方式是使用div将每个label和input分组，比如： [html] &#60;form method=&#34;post&#34; action=&#34;#&#34;&#62; &#60;div&#62; &#60;label for=&#34;username&#34;&#62;User Name:&#60;/label&#62;&#60;input type=&#34;text&#34; id=&#34;username&#34; class=&#34;txt&#34; /&#62; &#60;/div&#62; &#60;div&#62; &#60;label for=&#34;email&#34;&#62;E-mail:&#60;/label&#62;&#60;input type=&#34;text&#34; &#8230; <a href="http://www.ilovejs.net/archives/43" class="more-link">了解更多</a>]]></description>
			<content:encoded><![CDATA[<p>
实现form表单label字段和input字段的对齐设计，很多人都习惯使用table的方式，当然了，使用table方便很多，只需要设置一下align就可以实现。但是从减少代码量和良好的结构性出发，可以使用其他的方式来实现，下面我将要展示的就是其中的一种方式。<br />
效果：
</p>
<p>
<img src="http://www.ilovejs.net/wp-content/uploads/2009/12/form.gif" alt="form" title="form" class="alignnone size-full wp-image-44" />
</p>
<p>我的方式是使用div将每个label和input分组，比如：<br />
[html]<br />
&lt;form method=&quot;post&quot; action=&quot;#&quot;&gt;<br />
  &lt;div&gt;<br />
     &lt;label for=&quot;username&quot;&gt;User Name:&lt;/label&gt;&lt;input type=&quot;text&quot; id=&quot;username&quot; class=&quot;txt&quot; /&gt;<br />
  &lt;/div&gt;<br />
  &lt;div&gt;<br />
     &lt;label for=&quot;email&quot;&gt;E-mail:&lt;/label&gt;&lt;input type=&quot;text&quot; id=&quot;email&quot; class=&quot;txt&quot; /&gt;<br />
  &lt;/div&gt;<br />
  &lt;div&gt;<br />
    &lt;label for=&quot;pwd&quot;&gt;E-mail:&lt;/label&gt;&lt;input type=&quot;password&quot; id=&quot;pwd&quot; class=&quot;txt&quot; /&gt;<br />
  &lt;/div&gt;<br />
  &lt;div&gt;<br />
    &lt;input type=&quot;button&quot; value=&quot;Submit Now&quot; id=&quot;btn&quot; /&gt;<br />
  &lt;/div&gt;<br />
&lt;/form&gt;<br />
[/html]<br />
HTML结构已经定义了，接下来就是css的技巧问题了，首先给每个div设置样式：<br />
[css]<br />
div{<br />
	clear:left;<br />
	margin-bottom:6px;<br />
}<br />
[/css]<br />
之后就是技巧的关键label样式：<br />
[css]<br />
label{<br />
	float:left;<br />
	width:150px;<br />
}<br />
[/css]</p>
<p>
通过设置了label的float样式，再加上设置一下它的width，使得每一个label内的文本都能在一行内显示，这样就使得他们后面的input都能对齐了。<a href="http://www.ilovejs.net/lab/form/form.html">浏览效果</a>
</p>
<p><strong>即时更新:</strong></p>
<p>经过测试，也可以不使用float的方式来实现上面的效果，关键的还是在label的css样式设置上，设置label的display属性为inline-block，再加上一个合适的width属性，也就实现了简单的对齐效果，在IE6以上版本，FF，Chrome，Opera，Safari测试通过：<br />
[css]<br />
div{<br />
	margin-bottom:6px;<br />
}<br />
label{<br />
	display:inline-block;<br />
	width:150px;<br />
}<br />
[/css]<br />
<a href="http://www.ilovejs.net/lab/form/inline-block-form.html">预览inline-block版的form效果</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovejs.net/archives/43/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

