<?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>unos.biz &#187; css</title>
	<atom:link href="http://unos.biz/blog/archives/category/css/feed" rel="self" type="application/rss+xml" />
	<link>http://unos.biz/blog</link>
	<description>環境と思想と日常と.</description>
	<lastBuildDate>Wed, 21 Jul 2010 05:49:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>symfonyレイアウトの崩れ</title>
		<link>http://unos.biz/blog/archives/101</link>
		<comments>http://unos.biz/blog/archives/101#comments</comments>
		<pubDate>Sat, 03 May 2008 23:27:31 +0000</pubDate>
		<dc:creator>ゆのじ</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[ソフト開発]]></category>

		<guid isPermaLink="false">http://unos.biz/blog/archives/101</guid>
		<description><![CDATA[またもやsymfonyネタ。
symfonyのadmin generatorは便利だが、どうもレイアウトの崩れが気になって仕方がない。例えば下記のような崩れが見受けられる。
  
左はadminのチェックボックスだけ右に3pxほどずれているし、右は項目をまとめるborderがずれている。どうしても気になって仕方がなかったのでCSSを直すことにした。直すためのcssは下記のような感じ。これをmain.cssあたりで読んでやればいい。
* html #sf_admin_container div.form-row
{
  zoom: 100%;
}

#sf_admin_container div.form-row:after
{
  content: " "; clear: both; height: 0; display: block; visibility: hidden;
}

#sf_admin_container div.form-row .content
{
  padding-left: 0px;
  float: left;
}

結果、下記のようになり、きれいに表示されるようになる。
  
　やっていることは簡単。どうもきちんとチェックボックスが並ばないのは、label要素の右にdivがあってその中の要素、がどうもずれるらしい。力業だが、label要素の右にくるdivもfloat:leftで積んでしまえばこのズレは正常に処理されるようになる。これがcssの3つめのブロックでの指定。
　だがこれだと、上で項目ごとのborderがずれると指摘した問題、これがさらにひどくなって全部の項目で中身がborderから外れる。これはdivの中身がfloatしかないと、divの範囲の外に中身がはみ出るよ、という問題で割とよく知られている。　どう対処するかというと、clearfixとか言われている方法をとる。今回やってるのはどうせ内部用でしか使わない部分なので(admin generatorで外部向けアプリはつくらんよね？)、validでないことはあまり気にしない。(cssの1つめのブロックにあるzoomはIE用、後ろのafterはその他ちゃんとcssを解釈するブラウザ用。情報源はこの辺)。これできちんと表示された。
　これだけでも開発のモチベーションがあがるかもしれない。誰も困っていないのか、ウェブ上では同じような情報はすぐには見あたらなかった。もし既知の問題だったり似たようなレポートがあればコメントで教えていただければ幸い。
]]></description>
			<content:encoded><![CDATA[<p>またもやsymfonyネタ。</p>
<p>symfonyのadmin generatorは便利だが、どうもレイアウトの崩れが気になって仕方がない。例えば下記のような崩れが見受けられる。</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="109" alt="previous" src="http://unos.biz/blog/wp-content/uploads/2008/05/previous.jpg" width="231" border="0"> <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="124" alt="previous2" src="http://unos.biz/blog/wp-content/uploads/2008/05/previous2.jpg" width="151" border="0"> </p>
<p>左はadminのチェックボックスだけ右に3pxほどずれているし、右は項目をまとめるborderがずれている。どうしても気になって仕方がなかったのでCSSを直すことにした。直すためのcssは下記のような感じ。これをmain.cssあたりで読んでやればいい。</p>
<pre>* html #sf_admin_container div.form-row
{
  zoom: 100%;
}

#sf_admin_container div.form-row:after
{
  content: " "; clear: both; height: 0; display: block; visibility: hidden;
}

#sf_admin_container div.form-row .content
{
  padding-left: 0px;
  float: left;
}
</pre>
<p>結果、下記のようになり、きれいに表示されるようになる。</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="79" alt="after" src="http://unos.biz/blog/wp-content/uploads/2008/05/after.jpg" width="163" border="0"> <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="224" alt="after2" src="http://unos.biz/blog/wp-content/uploads/2008/05/after2.jpg" width="160" border="0"> </p>
<p>　やっていることは簡単。どうもきちんとチェックボックスが並ばないのは、label要素の右にdivがあってその中の要素、がどうもずれるらしい。力業だが、label要素の右にくるdivもfloat:leftで積んでしまえばこのズレは正常に処理されるようになる。これがcssの3つめのブロックでの指定。</p>
<p>　だがこれだと、上で項目ごとのborderがずれると指摘した問題、これがさらにひどくなって全部の項目で中身がborderから外れる。これはdivの中身がfloatしかないと、divの範囲の外に中身がはみ出るよ、という問題で割とよく知られている。<br />　どう対処するかというと、clearfixとか言われている方法をとる。今回やってるのはどうせ内部用でしか使わない部分なので(admin generatorで外部向けアプリはつくらんよね？)、validでないことはあまり気にしない。(cssの1つめのブロックにあるzoomはIE用、後ろのafterはその他ちゃんとcssを解釈するブラウザ用。<a href="http://www.google.co.jp/search?q=zoom+after+clearfix" target="_blank">情報源はこの辺</a>)。これできちんと表示された。</p>
<p>　これだけでも開発のモチベーションがあがるかもしれない。誰も困っていないのか、ウェブ上では同じような情報はすぐには見あたらなかった。もし既知の問題だったり似たようなレポートがあればコメントで教えていただければ幸い。</p>
]]></content:encoded>
			<wfw:commentRss>http://unos.biz/blog/archives/101/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
