<?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>BPS株式会社 開発ブログ Beyond Perspective Solutions LTD. &#187; HTML</title>
	<atom:link href="http://www.bpsinc.jp/blog/archives/category/web/html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bpsinc.jp/blog</link>
	<description>BPS株式会社（Beyond Perspective Solutions）のプログラマによる技術・開発などに関してのブログです</description>
	<lastBuildDate>Wed, 20 Jul 2011 08:14:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JQuery UI Tabsでタブ表示</title>
		<link>http://www.bpsinc.jp/blog/archives/2289</link>
		<comments>http://www.bpsinc.jp/blog/archives/2289#comments</comments>
		<pubDate>Fri, 27 Aug 2010 09:34:48 +0000</pubDate>
		<dc:creator>shibachan</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tabs]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=2289</guid>
		<description><![CDATA[こんにちわ芝原です。
始めてのJavascript関連の投稿です。
お手柔らかにどうぞ。
たくさんのコンテンツをすっきり表示させるための方法として、タブという手法がよくつかわれると思います。
今回は、この便利なタブ表示を [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちわ芝原です。</p>
<p>始めてのJavascript関連の投稿です。<br />
お手柔らかにどうぞ。</p>
<p>たくさんのコンテンツをすっきり表示させるための方法として、タブという手法がよくつかわれると思います。<br />
今回は、この便利なタブ表示をJQueryを使って実現する方法を解説します。<br />
動作はこんな感じになります。<br />
<a href="http://jqueryui.com/demos/tabs/default.html">http://jqueryui.com/demos/tabs/default.html</a></p>
<h3>必要なファイルのダウンロード</h3>
<p>jquery本体とui.core.js、ui.tabs.jsが必要です。</p>
<p><a href="http://jqueryui.com/download/jquery-ui-1.8.4.custom.zip">こちら</a>から簡単にダウンロードできますが余計なファイルも多分に入っているので、<a href="http://jqueryui.com/download">こちら</a>からファイルを選択してダウンロードしてもいいと思います。</p>
<h3>スクリプトの読み込み</h3>
<p>必要なファイルを読み込みます。<br />
head内に記述するのが一般的です。</p>
<pre class="brush:html">&#60;script type="text/javascript" src="/path/to/jquery.js"&#62;&#60;/script&#62;
&#60;script type="text/javascript" src="/path/to/ui.core.js"&#62;&#60;/script&#62;
&#60;script type="text/javascript" src="/path/to/ui.tabs.js"&#62;&#60;/script&#62;</pre>
<h3>HTMLの構造</h3>
<pre class="brush:html">&#60;div id="tabs"&#62;
    &#60;ul&#62;
        &#60;li&#62;&#60;a href="#tab1"&#62;タブに表示する文字&#60;/a&#62;&#60;/li&#62;
        &#60;li&#62;&#60;a href="#tab1"&#62;タブに表示する文字&#60;/a&#62;&#60;/li&#62;
        &#60;li&#62;&#60;a href="#tab3"&#62;タブに表示する文字&#60;/a&#62;&#60;/li&#62;
    &#60;/ul&#62;
    &#60;div id="tab1"&#62;
        タブの中身
    &#60;/div&#62;
    &#60;div id="tab2"&#62;
        タブの中身
    &#60;/div&#62;
    &#60;div id="tab3"&#62;
        タブの中身
    &#60;/div&#62;
&#60;/div&#62;</pre>
<h3>タブの設定</h3>
<pre class="brush:html">&#60;script type="text/javascript"&#62;
    var $tabs = $('#tabs').tabs();
    $tabs.tabs('select' 1); // 2番目のタブを選択状態にする
                            // デフォルトでは1番目のタブ
&#60;/script&#62;</pre>
<p>たったこれだけでタブが実装できました。</p>
<p>さらに詳しい情報を知りたい方は、<a href="http://jqueryui.com/demos/tabs/">公式ドキュメント</a>をご覧ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/2289/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebugをクリーンに改造する</title>
		<link>http://www.bpsinc.jp/blog/archives/2059</link>
		<comments>http://www.bpsinc.jp/blog/archives/2059#comments</comments>
		<pubDate>Thu, 08 Jul 2010 02:36:33 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[馬場]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[アイコン]]></category>
		<category><![CDATA[改造]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=2059</guid>
		<description><![CDATA[ググれば出てくるようなネタではありますが。
Firebugの最大の欠陥は、見た目があれなことです。
開発者の中には、あれが大の苦手の人もたくさんいると思います。
# 私は先週薬局に駆け込んでバルサンしてきました。
# と [...]]]></description>
			<content:encoded><![CDATA[<p>ググれば出てくるようなネタではありますが。</p>
<p>Firebugの最大の欠陥は、見た目があれなことです。</p>
<p>開発者の中には、あれが大の苦手の人もたくさんいると思います。</p>
<p># 私は先週薬局に駆け込んでバルサンしてきました。<br />
# というか良く思うんですが、なんでバルサンとかの製品にイラストを描くんでしょうね？買う人の気持ちを何も分かっていない。</p>
<p>ということで、しっかりと消しておきましょう。</p>
<p>このZIPファイルでプラグインを上書きすれば、すべてOKになります。1.5.4で確認。<br />
<a href='http://www.bpsinc.jp/blog/wp-content/uploads/2010/07/clean_fire.zip'>clean_fire</a></p>
<p>インストール済みの場合は、以下</p>
<blockquote><p>
C:\Users\***\AppData\Roaming\Mozilla\Firefox\Profiles\<br />
***.default\extensions\firebug@software.joehewitt.com
</p></blockquote>
<p>未インストールの場合は、XPIファイルをダウンロード→拡張子をZIPにして解凍して、上書きして下さい。</p>
<p>これで再起動すれば、快適な開発ライフを堪能できますね！作業効率倍増です。</p>
<div id="attachment_2062" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bpsinc.jp/blog/wp-content/uploads/2010/07/screen.png"><img src="http://www.bpsinc.jp/blog/wp-content/uploads/2010/07/screen-300x62.png" alt="快適なHTML/CSSライフを！" title="screen" width="300" height="62" class="size-medium wp-image-2062" /></a><p class="wp-caption-text">快適なHTML/CSSライフを！</p></div>
<p>Windowsのアイコンキャッシュがたまに殺人的な効力を発揮することがあるので、<br />
C:\Users\***\AppData\Local\IconCache.db<br />
を消したりしておいた方が気休めになります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/2059/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery.formとJSONView</title>
		<link>http://www.bpsinc.jp/blog/archives/1758</link>
		<comments>http://www.bpsinc.jp/blog/archives/1758#comments</comments>
		<pubDate>Thu, 17 Jun 2010 00:43:14 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[馬場]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[バグ]]></category>
		<category><![CDATA[相性]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=1758</guid>
		<description><![CDATA[JSONViewは、Firefoxで application/json なコンテンツを綺麗に表示するプラグインです。
とても便利ですね。
ところが、jQuery.formプラグインなどと組み合わせると、不具合を起こすこと [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://addons.mozilla.org/ja/firefox/addon/10869/">JSONView</a>は、Firefoxで application/json なコンテンツを綺麗に表示するプラグインです。<br />
とても便利ですね。</p>
<p>ところが、jQuery.formプラグインなどと組み合わせると、不具合を起こすことがあるので注意が必要です。</p>
<p>一般的なajaxでは、</p>
<pre class="brush:javascript">
$.ajax({
  url: 'hogehgoe',
  success: function(data, dataType) {
  }
});
</pre>
<p>といったやりかたをしますが、このときは特に問題ありません。</p>
<p>しかし、jQuery.formで $(&#8217;form&#8217;).ajaxSubmit() を使う場合、内部的には$.ajaxは使用されていません。<br />
XMLHttpRequestでは画像データ等のmultipart/form-dataを送信できないため、ダミーのiframeを作って、そこをターゲットにformの送信を実行しています。</p>
<pre class="brush:javascript">
//jquery.form.jsの内部コードのイメージ
var iframe = '&#60;iframe id="hoge" onload="irame-onload"&#62;&#60;/iframe&#62;';
$('form').attr('target', 'hoge');
$('form').submit();
</pre>
<p>これで、ajaxSubmitをすると、結果がiframeに入ります。<br />
iframeのonloadイベントで、内部のinnerHTMLを見て、結果を呼び出し元に返す処理を行っています。</p>
<p>ここで、iframeの中身がどんな値になるかは、ブラウザの実装依存です。<br />
一般に、プレインテキストやJSON形式が渡ってきたとしても、DOMツリーを構築するためにbodyタグまでは作ってしまうようです。</p>
<p>良くあるパターン</p>
<pre class="brush:html">
&#60;html&#62;
&#60;head&#62;&#60;/head&#62;
&#60;body&#62;{"result":"これが結果です"}&#60;/body&#62;
&#60;/html&#62;
</pre>
<p>jquery.formプラグインは、ブラウザがbodyタグの中に直接値を入れるか、またはpreやtextareaに値を入れることを期待しています。</p>
<p>しかし、JSONViewを使うと、以下のような綺麗なHTMLを勝手に作ってくれてしまいます。</p>
<pre class="brush:html">
&#60;html&#62;
&#60;head&#62;&#60;/head&#62;
&#60;body&#62;
&#60;doctype html=""&#62;
  &#60;div id="json"&#62;
    {
    &#60;ul class="obj collapsible"&#62;
      &#60;li&#62;&#60;span class="prop"&#62;result&#60;/span&#62;: &#60;span class="num"&#62;0&#60;/span&#62;&#60;/li&#62;
    &#60;/ul&#62;
    }
  &#60;/div&#62;
&#60;/doctype&#62;
&#60;/body&#62;
</pre>
<p>人間様が見るには良いですが、これではjquery.formプラグインが認識できません。<br />
そんなわけで、doctype html&#8230; といった値を丸ごとJSONパースしようとして、エラーになってしまいます。</p>
<p>解決策は、Content-Typeを変えるか、jquery.formを改造するくらいしかありません。</p>
<p>Content-Typeの変更が、一番みんなハッピーになれるはずです。</p>
<p>これに気づかず、JSONViewを入れると動かなくなるWebサイトがあるかもしれませんね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/1758/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Mapsをサイトに埋め込む、iframeでの引数</title>
		<link>http://www.bpsinc.jp/blog/archives/1837</link>
		<comments>http://www.bpsinc.jp/blog/archives/1837#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:12:52 +0000</pubDate>
		<dc:creator>junya</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[勝見]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[埋め込み]]></category>
		<category><![CDATA[引数]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=1837</guid>
		<description><![CDATA[Google MapsをWebサイトにiframe埋め込む際に
Google Mapsのサイトでカスタマイズさせてくれるのはサイズと尺度、初期位置くらいです。
せっかく埋め込むのなら色々とカスタマイズしようと思ったのです [...]]]></description>
			<content:encoded><![CDATA[<p>Google MapsをWebサイトにiframe埋め込む際に<br />
Google Mapsのサイトでカスタマイズさせてくれるのはサイズと尺度、初期位置くらいです。<br />
せっかく埋め込むのなら色々とカスタマイズしようと思ったのですが<br />
日本語のリファレンスがなかなか見当たりませんでした。<br />
なら自分でまとめてしまえ、という事で動作確認の取れた引数のみ、まとめました。</p>
<p>まず、Google Mapsをサイトに埋め込む方法から。<br />
<a href="http://www.bpsinc.jp/blog/wp-content/uploads/2010/06/GoogleMaps_01.png"><img src="http://www.bpsinc.jp/blog/wp-content/uploads/2010/06/GoogleMaps_01-300x170.png" alt="GoogleMaps_01" title="GoogleMaps_01" width="300" height="170" class="alignnone size-medium wp-image-1854" /></a></p>
<p>１、http://maps.google.co.jp/ にアクセスし、住所を検索<br />
２、画面右端の「リンク」をクリック<br />
３、出てきた窓の「埋め込み地図のカスタマイズとレビュー」をクリック</p>
<p><a href="http://www.bpsinc.jp/blog/wp-content/uploads/2010/06/GoogleMaps_02.png"><img src="http://www.bpsinc.jp/blog/wp-content/uploads/2010/06/GoogleMaps_02-227x300.png" alt="GoogleMaps_02" title="GoogleMaps_02" width="227" height="300" class="alignnone size-medium wp-image-1855" /></a></p>
<p>４、枠のサイズを選択、カスタムを選ぶと好きなサイズに出来ます<br />
５、プレビュー画面でズームや位置、地図のタイプ(地図や衛星写真等)を感覚的に決めます。<br />
６、HTMLをコピーし、サイトの埋め込みたい箇所に貼りつける。</p>
<p>これでとりあえず、表示されます。次はカスタマイズの時間です。</p>
<p>※今回は引数を分かりやすくするため、改行してありますが<br />
改行するとエラーが出る可能性があるので、使用時は１行にしてください。</p>
<pre class="brush:html">
&#60;iframe
    width="600"
    height="350"
    frameborder="0"
    scrolling="no"
    marginheight="0"
    marginwidth="0"
    src="http://maps.google.co.jp/maps?
        &#60;!-- ここから引数 --&#62;
    &#60;!-- 目的別 q → デフォルト  d → 乗換案内(output=embedがない時のみ有効)--&#62;
    f=q&amp;
    &#60;!-- マップ内仕様言語 ja → 日本語  en → 英語--&#62;
    hl=ja&amp;
    &#60;!-- 緑の矢印マーカー座標(URLエンコードで入力すれば日本語も可) --&#62;
    q=35.508591,139.4427722&amp;
    &#60;!-- マップタイプ  m → マップ  k → 衛星写真 p → 地形  e → Google Earth--&#62;
    t=m&amp;
    &#60;!-- オーバービュー表示非表示 0 → 非表示  1 → 表示(output=embedがない時のみ有効) --&#62;
    om=0&amp;
    &#60;!-- URL内に日本語を入れる際の文字コード --&#62;
    ie=UTF8&amp;
    &#60;!-- 出力文字コード --&#62;
    oe=UTF8&amp;
    &#60;!-- 地図中心座標 --&#62;
    ll=35.508191,139.4440022&amp;
    &#60;!-- 尺度（0～23、値が小さいほど縮小する） --&#62;
    z=17&amp;
    &#60;!-- この引数があるとmapのみを枠に埋め込みます --&#62;
    output=embed
"&#62;&#60;/iframe&#62;
</pre>
<p>これを実行するとこうなります。<br />
<iframe width="600" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/maps?f=q&amp;hl=ja&amp;t=m&amp;om=0&&amp;q=35.508591,139.4427722&amp;ie=UTF8&amp;oe=UTF8&amp;ll=35.508191,139.4440022&amp;z=17&amp;output=embed"></iframe></p>
<p>上記以外の引数を発見した方はコメントを残していただけると嬉しいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/1837/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML/CSS floatを無駄なく解除する方法</title>
		<link>http://www.bpsinc.jp/blog/archives/1805</link>
		<comments>http://www.bpsinc.jp/blog/archives/1805#comments</comments>
		<pubDate>Mon, 14 Jun 2010 12:21:37 +0000</pubDate>
		<dc:creator>junya</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[勝見]]></category>
		<category><![CDATA[clear]]></category>
		<category><![CDATA[float]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=1805</guid>
		<description><![CDATA[現在はHTML、CSSコーディングの知識を深めようと思い勉強中なのですが
最近知った、感心したものをひとつ、ご紹介したいと思います。
私は普段、floatを解除する際はCSSにて

    .clear {
       [...]]]></description>
			<content:encoded><![CDATA[<p>現在はHTML、CSSコーディングの知識を深めようと思い勉強中なのですが<br />
最近知った、感心したものをひとつ、ご紹介したいと思います。</p>
<p>私は普段、floatを解除する際はCSSにて</p>
<pre class="brush:css">
    .clear {
        clear:both;
    }
</pre>
<p>を用意して置き、</p>
<pre class="brush:html">
    &#60;div class="float_a"&#62; ～～～ &#60;/div&#62;　/*float要素a*/
    &#60;div class="float_b"&#62; ～～～ &#60;/div&#62;　/*float要素b*/
    &#60;div class="clear"&#62;&#60;/div&#62;　/*float解除*/
</pre>
<p>という手法を取っていましたが、空のdiv要素をコードの中にいくつも配置するのは美しくありません。<br />
もっと良い方法はないかと思い他の社員の方に聞いてみた所、こんな方法もあるよと教えてくださいました。</p>
<p>CSSにて</p>
<pre class="brush:css">
    /*IE7以外のモダンブラウザ向け*/
    .clearfix:after{
        content:".";
        display:block;
        height:0;
        clear:both;
        visibility:hidden;
    }

     /*IE7およびMacIE5向け*/
    .clearfix{ display:inline-block; }

    /*IE6以前向け*/
    /*Hides from IE-mac\*/
    * html .clearfix{height:1%;}
    .clearfix{display:block;}
    /*End hide from IE-mac*/
</pre>
<p>そして</p>
<pre class="brush:html">
    &#60;div class="float_box clearfix"&#62; /*floatの親要素＋clearfix*/
        &#60;div class="float_a"&#62; ～～～ &#60;/div&#62;　/*float要素a*/
        &#60;div class="float_b"&#62; ～～～ &#60;/div&#62;　/*float要素b*/
    &#60;/div&#62;
</pre>
<p>と記述することにより、親要素が閉じた瞬間にfloatが解除されます。</p>
<p>一度覚えてしまえば何てことはないですし、状況によっては前者の方が良い場合もありますが<br />
選択肢が増えるという事は、それだけきれいにコードが書けるようになるという事です。<br />
たくさんの知識を増やして、常にきれいなコードが書けるよう心がけたいですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/1805/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>dojoの細かいTIPS</title>
		<link>http://www.bpsinc.jp/blog/archives/315</link>
		<comments>http://www.bpsinc.jp/blog/archives/315#comments</comments>
		<pubDate>Sat, 22 Aug 2009 03:10:09 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[dojo toolkit]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[馬場]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=315</guid>
		<description><![CDATA[dojo使いには当たり前かもしれない、ちょっとしたTIPSです。
(1)dojo.byId
dojo.byIdは、HTMLのエレメントを渡すと、そのまま帰ってきます。
つまり、dojo.byId(dojo.byId(&# [...]]]></description>
			<content:encoded><![CDATA[<p>dojo使いには当たり前かもしれない、ちょっとしたTIPSです。</p>
<p><strong>(1)dojo.byId</strong><br />
dojo.byIdは、HTMLのエレメントを渡すと、そのまま帰ってきます。<br />
つまり、dojo.byId(dojo.byId(&#8217;hoge&#8217;)); とやっても正常に動作します。</p>
<p>なので、dijit等で「ノードのIDを渡す」と書かれているところに、直接エレメントを渡しても、たいてい上手く動きます。<br />
動的に要素が増えてIDを付けにくい場合などに、ちょっと役立ちます。</p>
<p><strong>(2)dojo.query</strong><br />
dojo.queryは、CSSのセレクタで要素を選択できる便利なものです。<br />
この第2引数にHTMLのエレメントを渡すと、その子要素のみ検索対象になります。</p>
<pre class="brush:js">var img = dojo.query('img', hogeNode)&#91;0&#93;;</pre>
<p>基本かつ必須な機能のはずなのに、なぜか解説サイトにあまり書いていないという。。</p>
<p><strong>(3)dojox.layout.ResizeHandle</strong><br />
ドラッグ＆ドロップはサンプルがたくさんあるのに、リサイズはなぜか少ないですね。<br />
dojoはリサイズも簡単なので、以下にサンプルを載せておきます。</p>
<pre class="brush:html">
&#60;html&#62;
&#60;head&#62;
	&#60;script type=”text/javascript” src=”dojo/dojo.js”&#62;&#60;/script&#62;
	&#60;script type=”text/javascript”&#62;
		dojo.require(’dojox.layout.ResizeHandle’);
		dojo.addOnLoad(function() {
		var handle = new dojox.layout.ResizeHandle({
		activeResize:true,
		minWidth:30,
		minHeight:30,
		targetId: ‘box’
		}, dojo.byId(’handle’));
		});
	&#60;/script&#62;
	&#60;link rel=”stylesheet” href=”dojox/layout/resources/ResizeHandle.css” /&#62;
&#60;/head&#62;
&#60;body&#62;
	&#60;div id=”box” style=”position:relative; background:yellow;”&#62;
		&#60;p&#62;リサイズできます&#60;/p&#62;
		&#60;div id=”handle”&#62;&#60;/div&#62;
	&#60;/div&#62;
&#60;/body&#62;
&#60;/html&#62;
</pre>
<p>↓動作サンプル</p>
<style type="text/css">
@import url(http://o.aolcdn.com/dojo/1.3/dojox/layout/resources/ResizeHandle.css);
</style>
<p><script type="text/javascript" src="http://o.aolcdn.com/dojo/1.3/dojo/dojo.xd.js"></script><br />
<script type="text/javascript">
dojo.require('dojox.layout.ResizeHandle');
dojo.addOnLoad(function() {
	var handle = new dojox.layout.ResizeHandle({
		activeResize:true,
                minWidth:30,
                minHeight:30,
		targetId: 'box'
	}, dojo.byId('handle'));
});
</script></p>
<div id="box" style="position:relative;background:yellow">
<p>リサイズ可能</p>
<div id="handle"></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/315/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE7でmarginが消える</title>
		<link>http://www.bpsinc.jp/blog/archives/252</link>
		<comments>http://www.bpsinc.jp/blog/archives/252#comments</comments>
		<pubDate>Thu, 25 Jun 2009 14:08:07 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[馬場]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[バグ]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=252</guid>
		<description><![CDATA[たぶん既出ネタですが、ふと見つけたので一応。
IE7で、marginが消える場合があります。
再現条件は、
・paddingが0以外のブロック要素Aに囲まれている
・Aの最初の子要素(空白・TAB・改行以外)がブロック要 [...]]]></description>
			<content:encoded><![CDATA[<p>たぶん既出ネタですが、ふと見つけたので一応。<br />
IE7で、marginが消える場合があります。</p>
<p>再現条件は、<br />
・paddingが0以外のブロック要素Aに囲まれている<br />
・Aの最初の子要素(空白・TAB・改行以外)がブロック要素Bである<br />
・Bにheightとmarginが指定してある(たぶんhasLayoutがtrueになるならheight以外でも該当)<br />
こんな感じみたいです。</p>
<p>これらを満たすと、Bのmarginが無視されます。<br />
シンプルな再現HTMLは以下の通りです。</p>
<blockquote><p>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;<br />
&lt;title&gt;test&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;</p>
<p>&lt;div style=&quot;padding:1px;&quot;&gt;<br />
	&lt;div style=&quot;margin:100px; height:20px;&quot;&gt;こんにちは&lt;/div&gt;<br />
	&lt;div style=&quot;margin:100px; height:20px;&quot;&gt;ハロー&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;
</p></blockquote>
<p>これを開くと、IE7以外では「こんにちは」と「ハロー」の左端はそろいますが、IE7では「こんにちは」が左に寄ってしまいます。</p>
<p>解決するには、Bを先頭子要素でなくせばいいので、適当なコメントを入れます。</p>
<blockquote><p>
&lt;div style=&quot;padding:1px;&quot;&gt;<br />
	&lt;!&#8211; bugfix for IE7 &#8211;&gt;<br />
	&lt;div style=&quot;margin:60px; height:20px;&quot;&gt;こんにちは&lt;/div&gt;<br />
	&lt;div style=&quot;margin:60px; height:20px;&quot;&gt;ハロー&lt;/div&gt;<br />
&lt;/div&gt;</p>
</blockquote>
<p>やっぱりIE7は地雷ですね。<br />
自動更新でIE8が入るようになったのがせめてもの救いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/252/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE7でposition:relativeの要素が重なるバグ</title>
		<link>http://www.bpsinc.jp/blog/archives/182</link>
		<comments>http://www.bpsinc.jp/blog/archives/182#comments</comments>
		<pubDate>Tue, 03 Mar 2009 08:22:52 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[馬場]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[バグ]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=182</guid>
		<description><![CDATA[IE7で、JavaScriptを使って動的に要素を表示・非表示した場合、要素が重なってしまうことがあります。
実験ページ
IE7だと問題が再現し、IE8やFirefoxは再現しません。また、冒頭のDOCTYPE宣言を外し [...]]]></description>
			<content:encoded><![CDATA[<p>IE7で、JavaScriptを使って動的に要素を表示・非表示した場合、要素が重なってしまうことがあります。</p>
<p><a href="http://files.bpsinc.jp/blog-ie7-position.html">実験ページ</a></p>
<p>IE7だと問題が再現し、IE8やFirefoxは再現しません。また、冒頭のDOCTYPE宣言を外してQuarksモードにしても再現しません。<br />
IE7でのみ、Showボタンを押すと、文字が重なってしまうはずです。</p>
<p>不思議なことに、21行目のbackground指定を外すと、再現しません。<br />
また、21行目の&lt;div&gt;開きと22行目の&lt;div&gt;開きの間に「スペース・TAB・改行以外の何か(コメントでも可)」を入れると、再現しません。<br />
22行目の[height:2em] は、hasLayoutがtrueになれば何でもOKです。</p>
<p>まとめると、<br />
・ブロック要素Aがある。<br />
・Aの最初の子要素はブロック要素Bである。<br />
・AはCSSで背景がnone以外に指定されていて、[hasLayout=false]である。<br />
・Bは[position:relative] であり、なおかつ[hasLayout=true]である。</p>
<p>これらの条件を満たす場合、「Aの前にある要素の高さが変わり、AのY座標が変更になっても、BのY座標は再計算されない」というIE7独自のバグと言えそうです。</p>
<p>DebugToolbar等で位置の再計算を行うと、正しい位置に移動します。</p>
<p>おそらく計算順序にバグがあるのだと思います。position:relativeを使うときは気をつけましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/182/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

