<?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; CSS</title>
	<atom:link href="http://www.bpsinc.jp/blog/archives/category/web/css-web/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>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>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>JavaScriptでCSSのプロパティを削除する(IEでfilterがあるとClearTypeが無効になるバグ対策)</title>
		<link>http://www.bpsinc.jp/blog/archives/306</link>
		<comments>http://www.bpsinc.jp/blog/archives/306#comments</comments>
		<pubDate>Sat, 22 Aug 2009 02:44:11 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[dojo toolkit]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[馬場]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=306</guid>
		<description><![CDATA[javascriptからCSSを変更したい場合は、

//生
var node = document.getElementById('hoge');
node.style.marginLeft = '10px';

// [...]]]></description>
			<content:encoded><![CDATA[<p>javascriptからCSSを変更したい場合は、</p>
<pre class="brush:js">
//生
var node = document.getElementById('hoge');
node.style.marginLeft = '10px';

//dojo
dojo.style(dojo.byId('hoge'), 'marginLeft', '10px');
</pre>
<p>といった感じになります。</p>
<p>しかしこれだと、CSSのプロパティ自体を削除することはできません。</p>
<p>普段はそんな必要も無いのですが、IEにはfilterプロパティの付いた要素のその子要素でフォントのアンチエイリアス(ClearType)が効かなくなるというバグがあるので、filterプロパティ自体を削除したいことがあります。</p>
<p>node.styleで取得できるオブジェクトはCSSStyleDeclarationで、これにはremoveProperty()というメソッドがあるので、</p>
<pre class="brush:js">
node.style.removeProperty('filter');
</pre>
<p>とすれば良さそうです。</p>
<p>しかしIEではなぜかこれが未定義です。代わりにremoveAttributeが使えます。</p>
<p>なので、</p>
<pre class="brush:js">
var node = document.getElementById(’hoge’);
if (node.style.removeProperty) {
	node.style.removeProperty(’filter’);
}
if (node.style.removeAttribute) {
	node.style.removeAttribute(’filter’);
}
</pre>
<p>のような使い方になります。</p>
<p>&#8212;&#8211;具体的な使用例&#8212;&#8211;<br />
dojoでは簡単にフェードインが使えます。<br />
しかし、IEだと、フェードインした要素はフォントがガタガタになります。特にメイリオ等のアンチエイリアス前提フォントだと悲惨です。<br />
以下のようにonEndを設定することで、フェードイン完了後はなめらかになります。</p>
<pre class="brush:js">
//fadeInを使うのであらかじめ透明度を0にする
dojo.style(dojo.byId(’hoge’), ‘opacity’, ‘0′);

(new dojo.fadeIn({
	node: ‘hoge’, //フェードインさせるノードのID
	duration: 1000, //ミリ秒
	onEnd: function() {
		var node = dojo.byId(’hoge’);
		if (node.style.removeProperty) {
			node.style.removeProperty(’filter’);
		}
		if (node.style.removeAttribute) {
			node.style.removeAttribute(’filter’);
		}
	}
})).play();
</pre>
<p>上がonEndを設定しない場合、下が設定した場合です。メイリオフォント使用。<br />
<img src="http://www.bpsinc.jp/blog/wp-content/uploads/2009/08/090822_cleartype.png" alt="090822_cleartype" title="090822_cleartype" width="100" height="60" class="alignnone size-full wp-image-310" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/306/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dojoで角丸ボタン</title>
		<link>http://www.bpsinc.jp/blog/archives/289</link>
		<comments>http://www.bpsinc.jp/blog/archives/289#comments</comments>
		<pubDate>Tue, 11 Aug 2009 07:16:09 +0000</pubDate>
		<dc:creator>baba</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[dojo toolkit]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[馬場]]></category>

		<guid isPermaLink="false">http://www.bpsinc.jp/blog/?p=289</guid>
		<description><![CDATA[dojo toolkitはデフォルトで各種ウィジェットが付いていて便利ですが、現時点ではまだテーマが充実していません。
実質的に使えるのは、tundraとsoriaくらいだと思います。
どちらもコントロールが角張っている [...]]]></description>
			<content:encoded><![CDATA[<p>dojo toolkitはデフォルトで各種ウィジェットが付いていて便利ですが、現時点ではまだテーマが充実していません。<br />
実質的に使えるのは、tundraとsoriaくらいだと思います。</p>
<p>どちらもコントロールが角張っているので、丸くしたくなることがあります。</p>
<p>ダイアログの角丸は、-moz-border-radius / -webkit-border-radius を使えば簡単にできますが、IEなどにも対応しようと思うと、ウィジェットテンプレートを書き換えたりJavascriptで要素を書き換えたりしないといけません。</p>
<p>ボタン（高さ固定）は、IEを含め比較的簡単に角丸にできますので、今回はこちらを紹介します。</p>
<p>テーマの自作になりますので、まずはsoriaあたりをコピーして、これを上書きしていくことにします。<br />
soria.css を mytheme.css にリネームして、.soria を .mytheme に一括置換(手抜き)してしまいましょう。</p>
<p>そして、角丸実現のために以下のような記述を追加します。</p>
<pre class="brush:css">.mytheme .dijitButtonNode .dijitButtonContents {
	background: url(images/button_back.png) repeat-x 0 0;
}
.mytheme .dijitButton .dijitRight {
	background: url(images/button_right.png) no-repeat top right;
}
.mytheme .dijitLeft.dijitButton {
	background: url(images/button_left.png) no-repeat top left;
}
</pre>
<p>button_leftは左側の丸い画像、button_rightは右側の丸い画像、button_backは中央の矩形部分の画像です。<br />
これらのファイルは自分で作ってimagesに入れておきます。<br />
これだけで丸くなります。</p>
<p>ちゃんとやるときは、soriaテーマをきちんと解読して矛盾が無いようにすべきですが、小規模ならこんな安易な改造も可能です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpsinc.jp/blog/archives/289/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>
	</channel>
</rss>

