<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
      <title>HTMLコーディングのノウハウ ： HTML/XHTML、CSSコーディング最安保障～クロノドライブ～</title>
      <link>http://html-coding.co.jp/knowhow/</link>
      <description></description>
      <language>ja</language>
      <copyright>Copyright 2012</copyright>
      <lastBuildDate>Mon, 26 Dec 2011 22:12:02 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>CSS3で簡単にボタン風バナーを作る</title>
         <description><![CDATA[<p>CSS3から背景にグラデーションをつけたり、ボーダーを曲線にすることができるようになりました。それを用いて、画像を使わず簡単にボタン風のバナーを作成するテクニックです。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000321/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000321/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Mon, 26 Dec 2011 22:12:02 +0900</pubDate>
      </item>
      
      <item>
         <title>[CSS]CSSスプライトで容量を節約しつつロールオーバーを実現する</title>
         <description><![CDATA[<p>ロールオーバーの指定の仕方はこれまで何度かご紹介しましたが、今回はそのロールオーバーの指定の中でも、CSSスプライトと呼ばれる方法をご紹介したいと思います。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000318/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000318/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Mon, 05 Dec 2011 21:47:55 +0900</pubDate>
      </item>
      
      <item>
         <title>[HTML]たった1行でアイコン付きの要素を右寄せにするテクニック</title>
         <description><![CDATA[<p>アイコンなどをbackgroundで指定した要素を右寄せにしたいとき、みなさまはどのようにスタイルを指定しているでしょうか。text-alignを使って要素を右寄せにしても、背景は動かないため、背景ごと動かさなければなりません。また、background-positionで直接位置を指定するのも、あまりよい方法とは言えません。今回は、そんな状態をたった一行で解消するテクニックを紹介します。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000316/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000316/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Thu, 17 Nov 2011 18:13:36 +0900</pubDate>
      </item>
      
      <item>
         <title>[jQuery]簡単に作れるスライド式メニュー</title>
         <description><![CDATA[<p>jQueryを使うと、アニメーションをさせながらメニューの開閉が行えたり、要素を移動させたりすることが可能です。その中で、今回はスライドしながら開閉するメニューのサンプルをご紹介します。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000314/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000314/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Fri, 11 Nov 2011 17:42:24 +0900</pubDate>
      </item>
      
      <item>
         <title>あなたはどれを使う？ スマートフォンの呼び方一覧</title>
         <description><![CDATA[<p>スマートフォンのシェアも広がり、「スマートフォン」という存在がかなり身近になってきたのではないでしょうか。しかしその「スマートフォン」という呼び方にも、いくつかバリエーションがあるようです。そこで今回は、それらについて調べてみました。<br />
<br />
■スマートフォン<br />
■スマートホン<br />
■スマフォ<br />
■スマホ<br />
■smartphone<br />
<br />
現在は上記の5つの呼び方が一般的でしょうか。<br />
特に、略さない場合の呼び方は「スマートフォン」、略した時の呼び方は「スマホ」が傾向として多いようです。「スマートフォン」と「スマフォ」ではなく、「スマートホン」と「スマホ」でもなく、「スマートフォン」と「スマホ」。不思議な組み合わせですね。<br />
<br />
ちなみに、中国語ではスマートフォンのことを「智能手机」と言うそうです。<br />
<br />
今後、「スマートフォン」に対するこれまでと全く異なる斬新な呼び方が生まれてくるかもしれません。スマートフォン業界の今後と共に、呼び方の行く末も気になるところです。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/about_coder/000310/</link>
         <guid>http://html-coding.co.jp/knowhow/about_coder/000310/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーダーの日常</category>
        
        
         <pubDate>Tue, 26 Jul 2011 22:02:57 +0900</pubDate>
      </item>
      
      <item>
         <title>[HTML]今さら人に聞けない「左・右・中央寄せが出来ない時の対処法」</title>
         <description><![CDATA[<p>今回もコーディング初心者向けのテクニックです。要素の位置を寄せたいとき、「スタイルで指定しているのにできない！」という時があるかと思います。その解決法です。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000304/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000304/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Sun, 22 May 2011 17:04:15 +0900</pubDate>
      </item>
      
      <item>
         <title>CSSは必要なし！ onmouse属性を使った簡単なロールオーバーの作り方</title>
         <description><![CDATA[<p>バナーなどでロールオーバーした際に画像を変化させる方法はいくつかありますが、今回はonmouse属性を使ったロールオーバーの方法をご紹介します。</p>

<div style="text-align: center;">
<a href="#"><img alt="banner.jpg" src="/knowhow/banner.jpg" width="220" height="40" onmouseover="this.src='/knowhow/banner_over.jpg'" onmouseout="this.src='/knowhow/banner.jpg'" /></a>
</div>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000302/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000302/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Sun, 22 May 2011 16:12:18 +0900</pubDate>
      </item>
      
      <item>
         <title>ソースを見やすくするためのスタイルシート・コードフォーマット</title>
         <description><![CDATA[<p>スタイルシートを作成するときに、ただスタイルを羅列していくだけでは、後から見てどこに何が書いてあるのかわからず、メンテナンス性が非常に悪くなってしまいます。そこで、今回はスタイルシートを書くときに気を付けたいことをご紹介します。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000301/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000301/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Mon, 16 May 2011 21:02:20 +0900</pubDate>
      </item>
      
      <item>
         <title>今さら人に聞けない「idとclassの使い分け」</title>
         <description><![CDATA[<p>5月もゴールデンウィークを過ぎてしまいましたが、この4月から新たな生活を始めた方もいらっしゃるのではないかと思います。「これからコーディングの仕事を始めるよ！」という方もいらっしゃるかもしれません。そこで、今回は、基本に立ち返って、idとclassの使い分けについて考えます。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000300/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000300/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Mon, 09 May 2011 20:51:26 +0900</pubDate>
      </item>
      
      <item>
         <title>CSS3で新たに追加されるプロパティと各ブラウザの対応状況まとめ</title>
         <description><![CDATA[<p>CSS3で新たに追加されるプロパティは多岐に渡りますが、今回はそれらのうちから色に関するプロパティの説明とサンプル、そして各ブラウザの対応状況をご紹介します。</p>]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000295/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000295/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Tue, 08 Mar 2011 21:05:11 +0900</pubDate>
      </item>
      
      <item>
         <title>ゼロから始めるガラケーコーディング DOCTYPEとCSS編</title>
         <description><![CDATA[<p>前回は初歩の初歩ということで、携帯サイトのコーディングに関する基礎的な事項についてご紹介しましたが、今回はもう少し踏み込んだ、DOCTYPE宣言とCSSの使用可否について考えます。</p>

<h3>携帯サイトにおけるDOCTYPE宣言</h3>
<p>そもそもDOCTYPE宣言とは、そのHTML文書がどういったバージョンで記述されているかを宣言するものであり、携帯サイトをコーディングする際にもDOCTYPE宣言は必要です。そこで、キャリアごとのDOCTYPE宣言について、ご紹介します。</p>

<p>■docomo</p>

<textarea name="code" class="javascript">
<&#63;xml version="1.0" encoding="Shift_JIS"&#63;>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/x.x) 1.0//EN" "i-xhtml_4ja_10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
</textarea>

<p>※x.xにはiモード対応XHTMLのバージョンが入ります。iモード対応XHTML 1.0ならば、</p>

<textarea name="code" class="javascript">
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd">
</textarea>

<p>となります。バージョンの差異については、以下のリンクをご覧ください。<br />
<a href="http://www.nttdocomo.co.jp/service/imode/make/content/browser/xhtml/about/" target="_blank">http://www.nttdocomo.co.jp/service/imode/make/content/browser/xhtml/about/</a></p>

<p>最後のmetaタグはMIMEタイプを指定するもので、Docomo機種でXHTMLを使う際は、metaタグのcontent属性を「application/xhtml+xml」としなければなりません。これはauやSoftBankの機種では必要なく、DocomoのFOMAのみの仕様となります。<br />
また、Docomo機種でXHTMLを使用する場合、DOCTYPEを省略したり、記述の間違いなどがあると、ブラウザがXHTMLモードにならないので注意が必要です。</p>

<p>■au</p>
<textarea name="code" class="javascript">
<&#63;xml version="1.0" encoding="Shift_JIS"&#63;>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
</textarea>

<p>■SoftBank</p>
<textarea name="code" class="javascript">
<&#63;xml version="1.0" encoding="Shift_JIS"&#63;>
<!DOCTYPE html PUBLIC "-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN" "xhtml-basic10-plus.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>	
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
</textarea>

<p>上記は全て文字エンコードがShift-JISの場合の例ですが、各キャリアではShift-JIS、あるいはUTF-8のどちらかを使用可能です。また、SoftBankではそれ以外にも、ISO-2022-JPとEUC-JPの2つが使用可能です。しかし、実状としては、一般的にShift-JISが使われます。</p>

<p>■3キャリア共通<br />
3キャリア共通のDOCTYPE宣言も行うことは可能です。</p>

<textarea name="code" class="javascript">
<&#63;xml version="1.0" encoding="Shift_JIS"&#63;>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
</textarea>

<p>XHTML 1.0のTransitionalでDOCTYPE宣言をします。<br />
ただし、こちらのやり方だと、各キャリア独自の仕様などに対応できないので注意する必要があります。</p>

<h3>CSSの使用可否について</h3>
<p>各キャリアとも、第3世代...いわゆる3G携帯以降であれば基本的にCSSには対応していますが、それぞれ対応状況が異なります。以下にその特徴を記載します。</p>

<p><strong>■docomo</strong><br />
・XHTMLのみでCSSが有効です。<br />
・基本的にインラインのみに対応しています。つまり、</p>

<textarea name="code" class="javascript">
<p style="color: #99FFFF;">テキストです。</p>
</textarea>

<p>このような形でのみ使用可能です。<br />
・内部参照については、a:link、a:focus、a:visitedのみに対応しています。<br />
・外部参照については対応していません。<br />
・class/id指定は無効です。</p>

<p>ただし、iモードブラウザ2.0以降が搭載されている機種では、外部参照を含むCSSに対応しています。</p>

<p><strong>■au</strong><br />
・HTML/XHTML共にCSSが有効です。<br />
・インライン、内部参照、外部参照にすべて対応しています。<br />
・class/id指定に対応しています。</p>

<p>■SoftBank<br />
・HTML/XHTML共にCSSが有効です。<br />
・インライン、内部参照、外部参照にすべて対応しています。<br />
・class/id指定に対応しています。</p>

<p>ただし、au、SoftBank共に一部の機種にてid指定には対応していない模様です。</p>

<p>最後に、キャリアごとにDOCTYPEを振り分けるスクリプトをご紹介いたします。</p>

<textarea name="code" class="javascript">
<&#63;php
	$agent=$_SERVER['HTTP_USER_AGENT'];

	if(preg_match("/DoCoMo/", $agent)) {
		print("<&#63;xml version=\"1.0\" encoding=\"Shift_JIS\"&#63;>\n");
		print("<!DOCTYPE html PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/x.x) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">\n");
		/* x.xにはiモード対応XHTMLのバージョンを入れてください */
		print("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n");
		print ("<head>\n");
		print("<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=Shift_JIS\" />");
	}

	elseif(preg_match("/KDDI\-/", $agent)||preg_match("/UP\.Browser/", $agent)) {
		print("<&#63;xml version=\"1.0\" encoding=\"Shift_JIS\"&#63;>\n");
		print("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML Basic 1.0//EN\" \"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd\">\n");
		print("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n");
		print("<head>\n");
		print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />");
	}

	elseif(preg_match("/J\-PHONE|Vodafone|MOT\-[CV]980|SoftBank/", $agent)) {
		print("<&#63;xml version=\"1.0\" encoding=\"Shift_JIS\"&#63;>\n");
		print("<!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"xhtml-basic10-plus.dtd\">\n");
		print("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n");
		print("<head>\n");
		print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />");
	}

	else {
		print("<&#63;xml version=\"1.0\" encoding=\"Shift_JIS\"&#63;>\n");
		print("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
\n");
		print("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n");
		print("<head>\n");
		print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />");
	}
	print("</head>");
	print("<body>");
	print("<p>Sample Text</p>");
	print("</body>");
	print("</html>");

&#63;>
</textarea>

<p>携帯サイトのコーディングにおいて、DOCTYPE宣言とCSSの扱いはPC用サイトのコーディング手法と大きく異なる点の一つです。これらの差異を把握し、携帯サイトのコーディングに挑戦してみてください。</p>
<!-- EBiS tag version2.10 start -->
<script type="text/javascript">
<!--
if ( location.protocol == 'http:' ){
    strServerName = 'http://ac.ebis.ne.jp';
} else {
    strServerName = 'https://ac.ebis.ne.jp';
}
cid = 'DhsmzVpr'; pid = 'html-0257'; m1id=''; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>
<noscript>
<img src="https://ac.ebis.ne.jp/log.php?argument=DhsmzVpr&ebisPageID=html-0257&ebisMember=&ebisAmount=&ebisOther1=&ebisOther2=&ebisOther3=&ebisOther4=&ebisOther5=" width="0" height="0">
</noscript>
<!-- EBiS tag end -->]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000284/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000284/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Fri, 17 Dec 2010 19:24:27 +0900</pubDate>
      </item>
      
      <item>
         <title>意外と知らない？ ol要素で箇条書きの開始番号を指定するテクニック</title>
         <description><![CDATA[<p>順序付きリストであるol要素ですが、例えば1～3番目の要素を記述して、その間にテキストや画像などを挟み、またそれまでの番号から続けようとolを新たに記述すると、箇条書きの番号がまた1から始まってしまいます。そういった場合に、箇条書きの開始番号を指定してリストを作成する方法です。</p>

<h3>HTML</h3>
<textarea name="code" class="javascript">
<ol>
  <li>1番目の要素です。</li>
  <li>2番目の要素です。</li>
  <li>3番目の要素です。</li>
</ol>

<p>サンプルテキストです。</p>

<ol>
  <li value="4">4番目の要素です。</li>
  <li>5番目の要素です。</li>
</ol>
</textarea>

<a href="http://html-coding.co.jp/knowhow/data/000279/sample01/sample01.html" target="_blank">
<p>サンプルページ</p>
</a>

<p>ポイントとしては、開始番号を指定する要素の最初のliにvalue属性を指定することです。value属性が指定されたリストは、その数値から箇条書きの番号が開始されるようになります。</p>

<p>検証ブラウザ：IE6～8、Firefox3.x、Safari5.x、Opera10.x、Google Chrome 8.x</p>

<!-- EBiS tag version2.10 start -->
<script type="text/javascript">
<!--
if ( location.protocol == 'http:' ){
    strServerName = 'http://ac.ebis.ne.jp';
} else {
    strServerName = 'https://ac.ebis.ne.jp';
}
cid = 'DhsmzVpr'; pid = 'html-0256'; m1id=''; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>
<noscript>
<img src="https://ac.ebis.ne.jp/log.php?argument=DhsmzVpr&ebisPageID=html-0256&ebisMember=&ebisAmount=&ebisOther1=&ebisOther2=&ebisOther3=&ebisOther4=&ebisOther5=" width="0" height="0">
</noscript>
<!-- EBiS tag end -->]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000283/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000283/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Wed, 15 Dec 2010 19:05:10 +0900</pubDate>
      </item>
      
      <item>
         <title>ゼロから始めるガラケーコーディング 初歩の初歩編</title>
         <description><![CDATA[<p>現在、スマートフォンが爆発的な流行を見せていますが、一方で日本独自の携帯、いわゆるガラパゴス・ケータイの勢いが衰えることはありません。そこで、今回から数回に渡り、「ガラケー」向けのコーディングについて、考えていきたいと思います。</p>

<h3>一般のHTMLとは何が違うのか？</h3>
<p>基本的には、一般的なHTMLをコンパクトにしたものと考えても差し支えありません。しかし、キャリア...すなわち携帯電話会社ごとに独自仕様のHTMLが用いられていたり、携帯電話ならではの機能（例えば、数字キーごとにリンクを割り当てられたり、文字を点滅・スクロールさせるなどのグラフィカルな要素が追加されていたり）が盛り込まれていたり、絵文字を使用できたりと、PC用のサイトを構築するのとは違った趣向があります。</p>

<p>また、携帯電話の画面はPC用ディスプレイよりも遙かに解像度が低いため、一画面に表示できる情報が限られている、ブラウザのキャッシュサイズに制限があるなどという、携帯電話ならではの注意点も抱えています。</p>

<p>携帯電話は新機種が出るサイクルが早く、また機種ごとに仕様が異なる場合もあるため、新機種が発売されたらきちんとサイトが表示されるか、常に確認する必要があります。各キャリアの公式サイトに現時点での仕様が掲載されているので、コーディングを行う際は参考にするとよいでしょう。</p>

<p><strong>・Docomo</strong><br />
<a href="http://www.nttdocomo.co.jp/service/imode/make/content/browser/index.html" target="_blank">http://www.nttdocomo.co.jp/service/imode/make/content/browser/index.html</a><br />
<strong>・au</strong><br />
<a href="http://www.au.kddi.com/ezfactory/tec/index.html" target="_blank">http://www.au.kddi.com/ezfactory/tec/index.html</a><br />
<strong>・SoftBank</strong>（会員登録が必要）<br />
<a href="http://creation.mb.softbank.jp/" target="_blank">http://creation.mb.softbank.jp/</a></p>

<h3>XHTMLについて</h3>
<p>いわゆる第3世代と呼ばれる機種以降では、携帯用のXHTMLとも言えるXHTML Basicを使用することが可能です。DocomoではFOMA端末、auではWIN端末、SoftBankでは3GC端末がそれらにあたります。</p>

<p>やはりキャリアごとに多少の差異はあるものの、基本的な規格に準拠していれば、どのキャリアからでもサイトを見ることが可能です。</p>

<h3>画像の対応状況について</h3>
<p>画像についても、キャリアごとにかなりの差異があります。</p>

<p><strong>・Docomo</strong><br />
iモードブラウザ1.0：JPEG・GIF<br />
iモードブラウザ2.0：JPEG・GIF・BMP<br />
<strong>・au</strong><br />
JPEG・GIF・PNG<br />
<strong>・SoftBank</strong><br />
JPEG・GIF・PNG</p>

<p>基本的には、JPEGあるいはGIF形式の画像ファイルを使用するとよいでしょう。</p>

<p>次回以降は、具体的なコーディングの方法とキャリアごとの仕様について、まとめていきたいと思います。</p>

<!-- EBiS tag version2.10 start -->
<script type="text/javascript">
<!--
if ( location.protocol == 'http:' ){
    strServerName = 'http://ac.ebis.ne.jp';
} else {
    strServerName = 'https://ac.ebis.ne.jp';
}
cid = 'DhsmzVpr'; pid = 'html-0255'; m1id=''; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>
<noscript>
<img src="https://ac.ebis.ne.jp/log.php?argument=DhsmzVpr&ebisPageID=html-0255&ebisMember=&ebisAmount=&ebisOther1=&ebisOther2=&ebisOther3=&ebisOther4=&ebisOther5=" width="0" height="0">
</noscript>
<!-- EBiS tag end -->]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000280/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000280/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Thu, 09 Dec 2010 18:35:36 +0900</pubDate>
      </item>
      
      <item>
         <title>通常のスタイルとは別に、印刷時のみに有効となるスタイルを作成する方法</title>
         <description><![CDATA[<p>通常、何も意識せずに記述したCSSは、画面表示時と印刷時で同じように適用されます。しかし、メディアタイプを指定して記述することで、それらを別々に分割することが可能です。</p>

<h3>■CSS内に直接記述する方法</h3>
<p>「@media print」という記述以降に書かれたスタイルは、印刷時のみ有効になります。例えば、</p>

<textarea name="code" class="javascript">
#contents {
	font-size: 14pt;
}
@media print {
	#contents {
		font-size: 12pt;
	}
}
</textarea>

<p>この場合だと、画面表示時はフォントサイズが14ptに指定されますが、印刷時には12ptに指定されます。</p>

<p>注意点として、古いMac IEではバグにより@media type { ～ }でくくられた部分の記述が無視されたます。そういった古いブラウザもサポートする場合はご注意ください。</p>

<h3>■外部CSSを読み込む際にmediaを指定する</h3>
<p>link要素にmedia属性を指定することで、印刷時に適用されるCSSを指定することが出来ます。
通常では、</p>

<textarea name="code" class="javascript">
<link rel="stylesheet" href="default.css" type="text/css" />
</textarea>

<p>このように記述しますが、例えばこの下に、</p>

<textarea name="code" class="javascript">
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
</textarea>

<p>このように記述することで、print.cssを印刷用のスタイルとして適用させることが可能です。</p>

<p>注意点として、IE5.5以前のブラウザでは、mediaを指定して外部CSSを読み込む際に、その外部CSSで指定した@mediaのキーワードが無視されてしまうというバグが存在します。そういった古いブラウザもサポートする場合はご注意ください。</p>

<p>これら方法を使うことで、例えばサイドバーやヘッダ要素を非表示にしてコンテンツ部分のみを印刷するように設定したり、印刷時に崩れてしまう問題を回避することが可能です。</p>

<p>最後に、サイドバーやヘッダ要素を非表示にして、コンテンツ部分のみを印刷するサンプルを掲載します。それぞれの要素の内容やスタイルは割愛します。</p>

<h3>■HTML</h3>

<textarea name="code" class="javascript">
<html>

<head>
<link rel="stylesheet" href="default.css" type="text/css" />
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
</head>

<body>
<div id="header">
	<p>ヘッダ要素です。</p>
</div>
<div id="contents">
	<p>コンテンツ要素です。</p>
</div>
<div id="side">
	<p>サイドバー要素です。</p>
</div>
<div id="footer">
	<p>フッタ要素です。</p>
</div>
</body>

</html>
</textarea>

<h3>■default.css</h3>
<textarea name="code" class="javascript">
#header {
	/* ヘッダのスタイルを記述 */
}
#contents {
	/* コンテンツのスタイルを記述 */
}
#side {
	/* サイドバーのスタイルを記述 */
}
#footer {
	/* フッタのスタイルを記述 */
}
</textarea>

<h3>■print.css</h3>
<textarea name="code" class="javascript">
#header,
#side,
#footer {
	display: none;
}
</textarea>

<a href="http://html-coding.co.jp/knowhow/data/000278/sample01/sample01.html" target="_blank">
<p>サンプルページ</p>
</a>

<p>検証ブラウザ：IE6～IE8、Firefox 3.x</p>

<!-- EBiS tag version2.10 start -->
<script type="text/javascript">
<!--
if ( location.protocol == 'http:' ){
    strServerName = 'http://ac.ebis.ne.jp';
} else {
    strServerName = 'https://ac.ebis.ne.jp';
}
cid = 'DhsmzVpr'; pid = 'html-0254'; m1id=''; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>
<noscript>
<img src="https://ac.ebis.ne.jp/log.php?argument=DhsmzVpr&ebisPageID=html-0254&ebisMember=&ebisAmount=&ebisOther1=&ebisOther2=&ebisOther3=&ebisOther4=&ebisOther5=" width="0" height="0">
</noscript>
<!-- EBiS tag end -->]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000279/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000279/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Fri, 03 Dec 2010 19:51:09 +0900</pubDate>
      </item>
      
      <item>
         <title>この発想はなかった！ 高さの異なるボックス要素を揃えるテクニック</title>
         <description><![CDATA[<p>ボックス要素を横並びにするときなどに、中の文字列の行数によって各ボックス要素の高さが異なり、見栄えが悪くなってしまうという経験はありませんか？ そこで今回は、高さを指定せずとも各ボックス要素の高さを揃えるテクニックのご紹介です。</p>

<h3>HTML</h3>
<textarea name="code" class="javascript">
<div class="sampleBox">
	<div class="txtBox01">
		<p>サンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキスト</p>
	</div>
	<div class="txtBox02">
		<p>サンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキストサンプルテキスト</p>
	</div>
	<div class="txtBox03">
		<p>サンプルテキストサンプルテキストサンプルテキスト</p>
	</div>
</div>
</textarea>

<h3>CSS</h3>
<textarea name="code" class="javascript">
.sampleBox {
	width: 600px;
	overflow: hidden;
}
.txtBox01,
.txtBox02,
.txtBox03 {
	width: 200px;
	float: left;
	padding-bottom: 32768px;
	margin-bottom: -32768px;
}
</textarea>

<a href="http://html-coding.co.jp/knowhow/data/000277/000277.html" target="_blank">
<p>サンプルページ</p>
</a>

<p>ポイントは、全体を囲うdiv要素にoverflow:hiddenを適用すること、そして各ボックス要素にpadding-bottomと、それと同じマイナスの値のmargin-bottomを適用することです。これらを適用することで、高さを指定しなくてもそれぞれのボックス要素の高さが揃うようになります。ここでは、paddingとmarginの値に、IEの表示限界であると言われる32768pxを指定しています。</p>

<p>特にボックス要素の中身が動的に変動する場合や、フォントサイズなどが自由に変えられる場合など、高さを指定できないデザインの際に使えるテクニックです。</p>

<h3>デメリット</h3>
<p>このテクニックを使用する際のデメリットとして、以下の点が挙げられます。<br />
・ボックス内の要素がpaddingとmarginで指定した値以上になると、表示が崩れてしまいます。<br />
・ボックス要素に背景や影、borderを指定するとデザインが崩れてしまいます。<br />
・複数ページにまたがるような長い文章などが入る要素に対してoverflow:hidden;を指定した場合、印刷する際に1ページ目で印刷が切れてしまう可能性があります。<br />
・要素内にアンカーリンクを指定し、他ページからこのアンカーリンクへリンクとして飛んできた場合、正しくリンクが機能しません。</p>

<p>以上の点にお気を付けください。</p>

<p>■追記 2010/12/06<br />
コメントで様々なご指摘をいただきましたので、それを踏まえて以下の点につきまして内容を修正・加筆いたしました。<br />
ご指摘ありがとうございます！</p>

<p>■修正・加筆内容<br />
・padding/margin値の修正<br />
・デメリットの追加</p>

<!-- EBiS tag version2.10 start -->
<script type="text/javascript">
<!--
if ( location.protocol == 'http:' ){
    strServerName = 'http://ac.ebis.ne.jp';
} else {
    strServerName = 'https://ac.ebis.ne.jp';
}
cid = 'DhsmzVpr'; pid = 'html-0253'; m1id=''; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>
<noscript>
<img src="https://ac.ebis.ne.jp/log.php?argument=DhsmzVpr&ebisPageID=html-0253&ebisMember=&ebisAmount=&ebisOther1=&ebisOther2=&ebisOther3=&ebisOther4=&ebisOther5=" width="0" height="0">
</noscript>
<!-- EBiS tag end -->]]></description>
         <link>http://html-coding.co.jp/knowhow/tips/000278/</link>
         <guid>http://html-coding.co.jp/knowhow/tips/000278/</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTMLコーディングTips</category>
        
        
         <pubDate>Tue, 30 Nov 2010 18:54:47 +0900</pubDate>
      </item>
      
   </channel>
</rss>

