<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>LIQUID DESIGN BLOG</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/" />
    <link rel="self" type="application/atom+xml" href="http://blog.lqd.jp/atom.xml" />
    <id>tag:blog.lqd.jp,2011-07-24://3</id>
    <updated>2011-11-08T04:10:20Z</updated>
    <subtitle>HTML,CSS,PHP,MT,jQuery等のTIPS情報をお届け。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 5.04</generator>

<entry>
    <title>Xperiaでスクリーンショット撮影可能に！</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/smartphone/000185.html" />
    <id>tag:blog.lqd.jp,2011://3.185</id>

    <published>2011-11-08T04:00:00Z</published>
    <updated>2011-11-08T04:10:20Z</updated>

    <summary>2011年11月7日のバージョンアップ（パソコン接続）で、ドコモのXperiaでスクリーンショット撮影が可能になりました。 電源ボタンの長押しで「スクリーンショットを撮る」を選択すると、「メディア」の...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xperia" label="xperia" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[2011年11月7日のバージョンアップ（パソコン接続）で、ドコモのXperiaでスクリーンショット撮影が可能になりました。<br />
電源ボタンの長押しで「スクリーンショットを撮る」を選択すると、「メディア」の「Picture」に保存されます。

<img alt="device.png" src="http://blog.lqd.jp/img/device.png" width="281" height="500" class="mt-image-none" style="" />

<h2>バージョンアップ対象機種</h2>
<ul>
	<li><strong>Xperia SO-01B</strong> Android 2.1（スクリーンショット非対応）</li>
	<li><strong>Xperia arc SO-01C</strong> Android 2.3.4</li>
	<li><strong>Xperia acro SO-02C</strong> Android 2.3.4</li>
	<li><strong>Xperia ray SO-03C</strong> Android 2.3.4</li>
</ul>

ソニー・エリクソン：<a href="http://www.sonyericsson.co.jp/company/press/20111104_up.html" target="_blank">NTTドコモより発売中のXperia™シリーズ4機種機能バージョンアップのお知らせ</a>
]]>
        
    </content>
</entry>

<entry>
    <title>iPhone、Android position:fixed 対応状況と対応方法</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/css/000180.html" />
    <id>tag:blog.lqd.jp,2011://3.180</id>

    <published>2011-10-24T03:20:00Z</published>
    <updated>2011-10-24T05:01:31Z</updated>

    <summary>iPhone、Androidなどのスマートフォンは、これまで position:fixed に対応していませんでした。固定メニューの実装などに困っていたのですが、iOS 5で対応していました！ 対応状...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[iPhone、Androidなどのスマートフォンは、これまで <strong>position:fixed</strong> に対応していませんでした。<br />固定メニューの実装などに困っていたのですが、iOS 5で対応していました！

<h2>対応状況</h2>
<h3>iOS 5</h3>
iPhoneやiPad、iPod TouchのMobile Safariは、iOS 5から position:fixed に対応しました！<br />
他にも、overflow:scroll などに対応しています。<br />
via <a href="http://davidbcalhoun.com/2011/new-mobile-safari-stuff-in-ios5-position-fixed-overflow-scroll-new-input-type-support-web-workers-ecmascript-5" target="_blank">New Mobile Safari stuff in iOS5: position:fixed, overflow:scroll, new input type support, web workers, ECMAScript 5</a>

<h3>Android 2.3</h3>
position:fixed には未対応です・・・。

<h2>対応方法</h2>
iOS 4や、Androidで position:fixed に対応するには、JavaScriptなどで対応が必要です。

<h3>jQuery Mobile</h3>
jQueryプラグインです。様々なデバイスに対応可能です。<br />
結構ガッツリ最適化されたUIを実装します。固定メニューを作成可能です。<br />
<a href="http://jquerymobile.com/" target="_blank">jQuery Mobile</a><br />
ライセンス：MIT or GPL Version 2 licenses

<h3>iScroll</h3>
有名な、固定メニューを実装するためのJavaScriptライブラリです。
WebKit向けで、iPhone、Androidともに対応可能です。<br />
jQuery Mobileほどではないですが、モバイル向けに最適化されるため、
PCでは適用されないようにする必要があります。<br />
<a href="http://cubiq.org/iscroll" target="_blank">iScroll</a><br />
ライセンス：MIT license

<h3>JavaScript</h3>
下記では、positionの5つ目の値として、position:device-fixed が提案されています。
ぜひインプリメントしてほしいところですが、その動作サンプルとして、JavaScriptによるデモがあります。
上記ふたつよりもシンプルに実装可能です。iPhone、Android、BlackBerry対応。<br />
<a href="http://www.quirksmode.org/blog/archives/2010/12/the_fifth_posit.html" target="_blank">The fifth position value</a><br />
<a href="http://www.quirksmode.org/m/tests/devicefixed.html" target="_blank">デモ</a>
]]>
        
    </content>
</entry>

<entry>
    <title>CSSシグネチャとは？メリットと実用TIPS</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/css/000179.html" />
    <id>tag:blog.lqd.jp,2011://3.179</id>

    <published>2011-10-19T04:30:00Z</published>
    <updated>2011-10-19T04:30:14Z</updated>

    <summary>CSSシグネチャとは CSSシグネチャとは、ページのbodyなどにidやclassを設定し、 CSSでページごとのスタイルの切り替えを行う手法です。 シグネチャ（signature）は直訳すると署名、...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ナビゲーション" label="ナビゲーション" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[<h2>CSSシグネチャとは</h2>
CSSシグネチャとは、ページのbodyなどにidやclassを設定し、
CSSでページごとのスタイルの切り替えを行う手法です。<br />
シグネチャ（signature）は直訳すると署名、サインの意味です。
<br /><br />
最近あまりこの言葉を目にすることがなくなりました（Twitterでは1件もヒットしませんでした・・）が、
便利な手法なので紹介します。
<br /><br />
なお、ユーザーがブラウザの「ユーザースタイルシート」を
設定できるようにする手法という意味もあるようですが、
今回は前者について紹介します。


<h2>CSSシグネチャの解説</h2>
CSSシグネチャを利用すると、トップページとカテゴリページで
一部デザインを変える、ナビゲーションデザインで閲覧中ページが分かるようする、
といったことが、ひとつのCSSで簡単にできます。

<img alt="xoopsnavi.jpg" src="http://blog.lqd.jp/img/xoopsnavi.jpg" width="330" height="330" class="mt-image-none" style="" />

<h3>メリット</h3>
<ul>
	<li>ページごとのデザインをひとつのCSSで指定できる</li>
	<li>ページごとにデザインが変わる要素が、ページ内に複数あっても、HTMLにはbodyにidを書くだけで良い</li>
	<li>ページごとにデザインが変わる仕組みを、バックエンドで行う必要がない</li>
</ul>

<h2>CSSシグネチャの使い方</h2>
<h3>HTML</h3>
bodyなどにidやclassを設定します。
<xmp><!-- トップページ -->
<body id="index"></xmp>
<xmp><!-- カテゴリページ -->
<body id="category"></xmp>

<h3>CSS</h3>
CSSセレクタでスタイルを適用するページを選択します。
<xmp>/* indexページ */
#index .exsample {
	font-weight: normal;
}</xmp>
<xmp>/* categoryページ */
#category .exsample {
	font-weight: bold;
}</xmp>

<h3>jQuery</h3>
jQueryを利用している場合も、セレクタで適用するページを選択できます。
<xmp>$(function() {
	$('#category .exsample').exsample;
});</xmp>



<h2>Movable Type</h2>
Movable Type のデフォルトテンプレートには、
あらかじめ下記のclassがbodyに設定されています。
<ul>
	<li>mt-main-index （インデックステンプレート）</li>
	<li>mt-entry-archive （ブログ記事テンプレート）</li>
	<li>mt-page-archive （ウェブページテンプレート）</li>
	<li>mt-archive-listing （アーカイブテンプレート共通）</li>
	<li>mt-datebased-monthly-archive （月別テンプレート）</li>
	<li>mt-category-archive （カテゴリ別テンプレート）</li>
	<li>mt-search-results （検索結果テンプレート）</li>
</ul>

<h2>XOOPS</h2>
XOOPSでも、テンプレート変数を利用して、
bodyにモジュール固有のidを追加することができます。
<ul>
	<li><a href="/xoops/000045.html">XOOPSで使えるテンプレート変数を利用したナビゲーションデザイン</a></li>
	<li><a href="/xoops/000044.html">XOOPSで使えるテンプレート変数</a></li>
</ul>

<h2>Dreamweaver</h2>
Dreamweaverで、テンプレートを利用する場合も、「属性を編集可能にする」ことで
各ページのbodyの属性を編集できるようになります。

<h2>via</h2>
<ul>
	<li><a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20080711/310668/" target="_blank">「CSSによるデザインワークと相性のよいHTMLって？」に対する小林的提案 - マークアップ・エンジニアのTips：ITpro</a><br /></li>
	<li><a href="http://www.adobe.com/jp/events/cs3_web_edition_tour/page3.html" target="_blank">ADOBE CREATIVE SUITE 3 Web Edition TOUR レポート</a></li>
	<li><a href="http://likearpeggio.blog63.fc2.com/blog-entry-150.html" target="_blank">DreamweaverのテンプレートでCSSシグネチャを行う方法</a></li>
</ul>
]]>
        
    </content>
</entry>

<entry>
    <title>KENT-WEB CGI/Perlプログラムがテンプレート式に変更！</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/etc/000176.html" />
    <id>tag:blog.lqd.jp,2011://3.176</id>

    <published>2011-10-18T01:30:00Z</published>
    <updated>2011-10-18T11:49:02Z</updated>

    <summary>CGI/Perlプログラムを無料などで配布されている、KENT-WEB さんのプログラムがテンプレート式に変更されています。 http://www.kent-web.com/ 今年から怒涛の更新をされ...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="etc" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cgi" label="cgi" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[CGI/Perlプログラムを無料などで配布されている、KENT-WEB さんのプログラムがテンプレート式に変更されています。<br />
<a href="http://www.kent-web.com/" target="_blank">http://www.kent-web.com/</a>

<br /><br />
今年から怒涛の更新をされていて、掲示板やデータ収集系などのプログラムが随時テンプレート式に変更されています。
<br /><br />
現在、テンプレートは <strong>HTML 4.01 Transitional</strong> で書かれているようですが、テンプレート式になったことで、HTML5対応などが容易になりそうです。
<br /><br />
ちなみに、新作も公開されているなかで、下記プログラムは公開終了となったようです。PETIT BOARD の公開終了は残念です・・。
<ul>
	<li>PETIT BOARD</li>
	<li>LUCKY</li>
</ul>
]]>
        
    </content>
</entry>

<entry>
    <title>レスポンシブWebデザインで、表示モード切り替え方法(PHP版)</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/php/000175.html" />
    <id>tag:blog.lqd.jp,2011://3.175</id>

    <published>2011-10-17T02:20:00Z</published>
    <updated>2011-10-17T02:25:29Z</updated>

    <summary>スマートフォン対応サイトで、ユーザーによる表示モード（PC用表示・スマートフォン用表示）の切り替えを実装するPHPを紹介します。 レスポンシブWebデザインで、スマートフォンもPCも同一URLになるサ...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[スマートフォン対応サイトで、ユーザーによる表示モード（PC用表示・スマートフォン用表示）の切り替えを実装するPHPを紹介します。<br />
レスポンシブWebデザインで、スマートフォンもPCも同一URLになるサイトに対応しています。<br />
jQueryを利用した方法は、前回の<a href="/webdesign/000173.html">スマートフォン対応のためのレスポンシブWebデザイン実用TIPS</a>をご覧ください。

<img alt="resp_foot.gif" src="http://blog.lqd.jp/img/resp_foot.gif" width="330" height="330" class="mt-image-none" style="" />

<h2>PHPサンプル</h2>
ユーザーが選んだ表示方法をCookieに記録することで、サイト内の表示方法を統一することができます。<br />
下記は、ユーザーエージェント判定＆スマートフォン用はCSSを「追加」＆スマートフォン用表示をデフォルトとする場合のサンプルです。

<pre>&#60;?php
// 初期化
$sp = "";
$sp_head = "";
$sp_foot = "";
$mode = $_GET['mode'];

// ユーザーエージェント取得
$ua = $_SERVER['HTTP_USER_AGENT'];

// iPhoneかAndroidでフラグ立て
if (preg_match("/iPhone|Android/i", $ua)) {
	$sp = 1;
}

// iPhoneかAndroidでPC表示を選択した場合
if ($sp && $mode == 'pc') {
	setcookie('mode', 'pc', time()+1209600); // Cookieを2週間保存
	$sp_foot = '表示モード：&#60;a href="?mode=sp"&#62;スマートフォン&#60;/a&#62;'; //スマホ表示へのリンク
}

// iPhoneかAndroidでスマホ表示を選択した場合
if ($sp && $mode == 'sp') {
	setcookie('mode', 'sp', time()+1209600); // Cookieを2週間保存
}

// iPhoneかAndroidでPC表示を選択していない場合
if ($sp && !$_COOKIE['mode'] == 'pc') {
    $sp_head = '&#60;link rel="stylesheet" type="text/css" href="mobile.css" /&#62;'; // スマホ用CSS
    $sp_foot = '表示モード：&#60;a href="?mode=pc"&#62;PC&#60;/a&#62;'; // PC表示へのリンク
}

// HTMLヘッダー
echo $sp_head;

// フッター
echo $sp_foot;
?&#62;</pre>
]]>
        
    </content>
</entry>

<entry>
    <title>iPhone版SafariでCookieがセットされない？</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/smartphone/000174.html" />
    <id>tag:blog.lqd.jp,2011://3.174</id>

    <published>2011-10-12T03:00:00Z</published>
    <updated>2011-10-12T03:01:32Z</updated>

    <summary>iPhone版Safariで、Cookieがうまく保存されないときにチェックした項目をまとめました。 デスクトップ版Safariではうまく保存されても、iPhone版Safariでは保存されない場合が...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cookie" label="cookie" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[iPhone版Safariで、Cookieがうまく保存されないときにチェックした項目をまとめました。<br />
デスクトップ版Safariではうまく保存されても、iPhone版Safariでは保存されない場合があるようです。

<h2>スクリプト</h2>
<ul>
	<li>path、domainを確認する</li>
	<li>値が文字化けしていないか確認する</li>
</ul>

<h2>iPhone</h2>
<ul>
	<li>Safariの設定で、「Cookieを受け入れる」、「常に」にする</li>
	<li>Safariの設定で、「デバッグコンソール」を「オン」にして、サイトでCookieを保存する処理でエラーがでていないか確認する</li>
	<li>脱獄しているとCookieが保存できない場合がある（脱獄をやめる）</li>
</ul>

ただ、保存されてもすぐに消えてしまうことがあるようなので、
もうそういう仕様なのかもしれません・・。
<br /><br />
なお、Cookieの代替策としてSafariのローカルストレージを利用する方法もあるようです。<br />
via <a href="http://suin.asia/2009/09/13/iphone_local_strage_for_email_password_remainder" target="_blank">ローカルストレージを使ってiPhoneのcookie健忘症対策: ウェブアプリ開発者の立場から</a>
]]>
        
    </content>
</entry>

<entry>
    <title>スマートフォン対応のためのレスポンシブWebデザイン実用TIPS</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/webdesign/000173.html" />
    <id>tag:blog.lqd.jp,2011://3.173</id>

    <published>2011-10-11T01:00:00Z</published>
    <updated>2011-10-17T12:06:22Z</updated>

    <summary>スマートフォン対応サイト制作の手法として注目されている、 レスポンシブWebデザイン（Responsive Web Design）の実用TIPSを紹介します。 PC用表示・スマートフォン用表示の切り替...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="jquery" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[スマートフォン対応サイト制作の手法として注目されている、
<strong>レスポンシブWebデザイン</strong>（Responsive Web Design）の実用TIPSを紹介します。<br />
PC用表示・スマートフォン用表示の切り替え方法、お役立ちアプリなども紹介します。

<h2>レスポンシブWebデザインとは</h2>
レスポンシブWebデザインでは、CSSを利用し、ウインドウサイズに応じてデザインを変更します。
そのため、PC用とスマートフォン用に複数のHTMLを作成する必要がないなど様々なメリットがあります。
<br /><br />
レスポンシブWebデザインについては下記サイトが非常に詳しく、参考にさせていただいています。
<ul>
	<li><a href="http://ascii.jp/elem/000/000/613/613028/" target="_blank">ASCII.jp：スマホ対応の新潮流「レスポンシブWebデザイン」とは？</a></li>
	<li><a href="http://design-spice.com/2011/09/22/responsive-web-desig/" target="_blank">Design Spice - レスポンシブwebデザインで制作する時のポイント</a></li>
</ul>

<h2>レスポンシブWebデザイン実践</h2>
下記は、CMSの「Movable Type」と、オープンソースSNSの「OpenPNE」をCSSでスマートフォン対応したものです（拙作）。<br />
CSSを利用したレスポンシブWebデザインなので、システムには一切手を加える必要がありません。
このような、CMSを利用したサイトでもフロントエンドの開発によって
スマートフォン対応が可能になる点がレスポンシブWebデザインの大きなメリットだと思います。<br />
<img alt="resp_mt.gif" src="http://blog.lqd.jp/img/resp_mt.gif" width="330" height="330" class="mt-image-none" style="" />
<a href="http://lqd.jp/csstouch_mt.html" target="_blank">cssTouch for MT(Movable Type) </a>
<br /><br />
<img alt="resp_pne.gif" src="http://blog.lqd.jp/img/resp_pne.gif" width="330" height="330" class="mt-image-none" style="" />
<a href="http://lqd.jp/csstouch_openpne.html" target="_blank">cssTouch for OpenPNE</a>


<h2>デバイス判定</h2>
<h3>CSS Media Queries</h3>
一般的な方法は、CSS3のMedia Queriesで、ウインドウサイズによってスマートフォン用CSSを読み込む方法です。<br />
iPhoneの最大サイズは横にしたときの480pxなので、それを指定します。@importなどでも指定可能です。<br />
詳しくは上記サイトなどをご覧ください。
<xmp><link rel="stylesheet" media="screen and (min-width:480px)" href="mobile.css" /></xmp>

<h3>JavaScript</h3>
上記の方法たけでは、Androidのように様々なウインドウサイズが存在するデバイスには対応することができません。
そこで、ユーザーエージェント（userAgent）を確認することで、Androidなどにも対応することができます。
<xmp><script type="text/javascript">
if (navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPad') > 0 || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
	document.write('<link rel="stylesheet" type="text/css" href="mobile.css" />');
}
</script></xmp>

<h3>jQuery</h3>
上記の方法とjQueryを利用して、固有のclassを付ける方法もあります。<br />
下記ではデバイスを判定して、bodyにiPhoneまたはAndroidというclassを追加します。
これで、簡単にCSSでデバイスごとに異なるデザインを指定できるようになります（CSSシグネチャ）。
<xmp><script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	if (navigator.userAgent.indexOf('iPhone') > 0) {
		$('body').addClass('iPhone');
	} else if (navigator.userAgent.indexOf('Android') > 0) {
		$('body').addClass('Android');
	}
});
</script></xmp>


<h2>Viewport</h2>
Viewportはmeta要素のひとつで、iPhone版Safariの可視領域、ユーザーによるピンチイン・ピンチアウトの可否
などを指定することができます。<br />
詳しくは上記サイトなどをご覧ください。
<xmp><meta name="viewport" content="width=device-width,user-scalable=yes" /></xmp>
なお、Androidはデバイスによっては対応している場合があります。
うまく効かない場合は「target-densitydpi」プロパティが有効なようです。<br />
via <a href="http://blog.webcreativepark.net/2011/01/31-121759.html" target="_blank">Androidの「target-densitydpi」でviewportの調整</a>

<h2>デザインの最適化</h2>
スマートフォン用サイトは、PC用サイトとはウインドウサイズの違い、デバイス操作方法の違いなどがあるため、
スマートフォン用のユーザビリティを考えて最適化を行う必要があります。
<br /><br />
様々なスマートフォンサイトのキャプチャ、リンクを集めたサイトもあり、参考になります。
<ul>
	<li><a href="http://ascii.jp/elem/000/000/590/590502/" target="_blank">ASCII.jp：絶対見ておきたい有名企業のスマホサイトまとめ</a></li>
	<li><a href="http://sp-web.jp/" target="_blank">スマートフォンサイト集めました</a></li>
</ul>

スマートフォン用サイト制作でWebデザイナーにとってうれしいのは、
Webデザイナーを悩ませ続けるIEに対応しなくてよい！
という点があります（Windows Phone はIEですが・・・それでもIE6は無視できる）。
iPhoneのSafariも、Androidの標準ブラウザも、
どちらもWebKitベースで、CSS3に進んで対応しているため、
CSSによる角丸やシャドウ、グラデーション、アニメーションなど多彩な表現が可能です。

<h3>レイアウト</h3>
カラム数の変更などは、floatを利用している場合、簡単に対応可能です。<br />
PC用CSS（例）。
<xmp>#main {
	float: left;
	width: 600px;
}
#sub {
	float: left;
	width: 300px;
}</xmp>
スマートフォン用CSS（例）。
<xmp>#main, #sub {
	float: none;
	width: 100%;
}</xmp>

<h3>テキスト</h3>
フォントサイズは、スマートフォンの小さいディスプレイを考慮して、
大きめに指定するほうが見やすくなります。12～14pxでは小さく感じる場合があります。<br />
フォントサイズや行間を調整します（大雑把な例）。<br />
<xmp>body {
	font-size: 18px;
	line-height: 1.5em;
}</xmp>
また、URLなど半角英数字の長い文字列がある場合、
改行されず、レイアウトが崩れる問題があります。<br />
下記のようなCSSで、テキストの折返し表示を指定します（IEが採用しているものですが、iPhone版Safari、Androidブラウザでも反映されました）。
<xmp>td, th, p, h1, h2, h3, h4, h5, h6, label {
	word-break: break-all;
	word-wrap: break-word;
}</xmp>

<h3>DIV全体をリンク</h3>
jQueryを利用して、リンクを指定したアンカー部分だけでなく、
それを囲んでいるDIV全体をクリック（タップ）できるようにすることができます。<br />
スマートフォン用サイトでは、タップしやすくすることでユーザビリティの向上につながります。<br />
vis <a href="http://www.webcreatorbox.com/tech/jquery-tips20/#jq4" target="_blank">少しのコードで実装可能な20のjQuery小技集 | Webクリエイターボックス</a>

<h3>Web Clip</h3>
iPhone版Safariでサイトを「ホーム画面に追加」したときのアイコン画像を設定することができます。
57×57(または129×129)ピクセルのPNG画像を用意して、
ファイル名を「apple-touch-icon.png」としてサイトのルートパスにアップすればOKです。
角を丸くしたりする必要はありません。<br />
また、下記のように指定することもできます。
<xmp><link rel="apple-touch-icon" href="icon.png" /></xmp>


<h2>画像・動画の最適化</h2>
下記のようなCSSで、画像や埋め込んだ動画などをウインドウサイズにあわせて可変表示にします。<br />
HTMLでサイズが指定されいる場合に備えて、!important（優先）を指定しています。
<xmp>img, object, embed {
	max-width: 100% !important;
	height: auto !important;
}</xmp>
スマートフォン閲覧では、古いIEを気にする必要はありませんが、
下記IE用CSSで、古いIEでも縮小画像を綺麗に表示することができます。
<xmp>img {
	-ms-interpolation-mode: bicubic;
}</xmp>


<h2>背景画像の最適化</h2>
下記のようなCSSで、指定した背景をウインドウサイズにあわせて可変表示にします。<br />
パターンなどで敷き詰めて表示（repeat）する場合は不要です。
<xmp>.box {
	background: url("bg.gif") no-repeat scroll 0 0 transparent;
	background-size: 100% auto;
}</xmp>


<h2>Flashの最適化</h2>
<h3>可変表示設定</h3>
Flashは、パブリッシュ設定で、サイズ「パーセント」、幅「100」、高さ「100」に設定することで、可変表示にします。<br />
objectタグの属性が width="100%" height="100%" となります。<br />
ただし、ウインドウサイズが変わると、ステージの基準点が変わるため、
別途ActionScriptの設定が必要な場合があります。詳しくは下記サイトなどをご覧ください。<br />
<a href="http://allabout.co.jp/gm/gc/66816/" target="_blank">All About - Flashでリキッドデザイン</a>

<h3>代替コンテンツ</h3>
iPhoneは、Flashに対応していないため、代替コンテンツが必須となります。<br />
下記、Flash埋め込み用JavaScriptライブラリ「swfobject」では、簡単に代替コンテンツの指定ができます。
また、Flash Playerのバージョン判定、背景色の透過なども行うことができます。<br />
<a href="http://code.google.com/p/swfobject/" target="_blank">swfobject</a>
<br /><br />
swfobjectでは、下記のように記述することで、objectを自動生成します。<br />
指定したIDの要素にFlashを表示します。その要素の中身は、Flash非対応の場合の代替コンテンツとなります。
<xmp><script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
// swfのパス, 埋め込み先ID, 幅, 高さ, Flash Playerのバージョン, 背景色
var so = new SWFObject("bg.swf", "flashcontent", "100%", "100%", "6", "#ffffff");
so.addParam("wmode", "transparent"); // 透過
so.addParam("scale", "noscale"); // 拡大縮小なし
</script>

<div id="flashcontent">
<p>代替コンテンツ</p>
<div></xmp>
また、念のためCSSでDIVに対して下記のように指定します。
<xmp>#flashcontent {
	height: 100%;
	overflow: hidden;
}</xmp>


<h2>表示・非表示エリアの作成</h2>
PCでは非表示、スマートフォンでは表示、またはその逆などの要素を作る場合、
非表示用のclassを作成しておくと便利です。<br />
下記の例では、「PCでは非表示 = hidden_pc」、<br />
「スマートフォンでは非表示 = hidden_sp」としています。
<br /><br />
PC用CSS（例）。
<xmp>.hidden_pc {
	display: none;
}
.hidden_sp {
	display: block;
}</xmp>
スマートフォン用CSS（例）。
<xmp>.hidden_pc {
	display: block;
}
.hidden_sp {
	display: none;
}</xmp>


<h2>PC用表示・スマートフォン用表示の切り替え</h2>
ユーザーによるPC用表示・スマートフォン用表示の切り替えを可能にするには、
HTMLをそれぞれに用意している場合はそれぞれにリンクを貼るだけでよいですが、
レスポンシブWebデザインの場合は少し工夫が必要になります。<br />
下記ではjQueryとjquery-cookieを利用して実装する方法を紹介します。<br />
<a href="http://jquery.com/" target="_blank">jQuery</a><br />
<a href="https://github.com/carhartl/jquery-cookie" target="_blank">jquery-cookie</a>
<img alt="resp_foot.gif" src="http://blog.lqd.jp/img/resp_foot.gif" width="330" height="330" class="mt-image-none" style="" />
ユーザーが選んだ表示方法をCookieに記録することで、サイト内の表示方法を統一することができます。<br />
下記は、CSS Media Queries利用＆スマートフォン用はCSSを「追加」＆スマートフォン用表示をデフォルトとする場合のサンプルです。<br />
ちょっと横着している部分もあるので・・適宜修正してください。
<br /><br />
ヘッダーに記述。
<xmp><!-- CSS -->
<link rel="stylesheet" media="all" href="pc.css" type="text/css" id="styles_pc" />
<link rel="stylesheet" media="screen and (min-width:480px)" href="mobile.css" id="styles_sp" />

<!-- Viewport -->
<meta name="viewport" content="width=device-width,user-scalable=yes" />

<!-- jQuery -->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 if($.cookie("mode")=="pc"){ // PC用表示とCookieに記録されていたら
  $("#styles_sp").attr("media","speech"); // スマホ用CSSを無効にする（横着）
  $("meta[name=viewport]").attr("content","width=980,user-scalable=yes"); // ViewportをPC用に最適化
  $(".button_sp").removeClass("hidden_pc"); // スマホ閲覧なのでPC非表示classは削除
 }
 $("#button_pc").click(function(){ // PC用表示リンクがクリックされたら
  $("#styles_sp").attr("media","speech");
  $("meta[name=viewport]").attr("content","width=980,user-scalable=yes");
  $(".button_sp").removeClass("hidden_pc");
  $.cookie("mode","pc",{path:'/'}); // PC用表示とCookieに記録
 });
 $("#button_sp").click(function(){ // スマホ用表示リンクがクリックされたら
  $("#styles_sp").attr("media","all"); // スマホ用CSSを有効にする
  $("meta[name=viewport]").attr("content","width=device-width,user-scalable=yes");
  $.cookie("mode","sp",{path:'/'}); // スマホ用表示とCookieに記録
 });
});
</script></xmp>

下記、表示切り替えリンクのHTMLです。先の表示・非表示classも利用して、リンクの有無も切り替えています。
<xmp><div class="button_sp hidden_pc">
表示モード：<strong class="hidden_pc">スマートフォン</strong><a href="#" id="button_sp" class="hidden_sp">スマートフォン</a> | <strong class="hidden_sp">PC</strong><a href="#" id="button_pc" class="hidden_pc">PC</a>
</div></xmp>


<h2>ライブラリ</h2>
HTMLの最適化も必要なため、レスポンシブWebデザインとは少し異なるかもしれませんが、
スマートフォンサイト開発用ライブラリを利用することで、さらにリッチなサイトを制作することもできます。
<h3>jQuery Mobile</h3>
jQueryのモバイル版です。様々なデバイスに対応可能です。<br />
jQueryのプラグインとして動作します。他のプラグインと同様、簡単に導入することができます。<br />
<a href="http://jquerymobile.com/" target="_blank">jQuery Mobile</a>
<h3>jQTouch</h3>
iPhone（iOS）向けのWebアプリケーション開発用ライブラリです。<br />
アプリのようなインターフェース、アニメーションなどが可能になります。<br />
<a href="http://jqtouch.com/" target="_blank">jQTouch</a>


<h2>アプリ紹介</h2>
<h3>ScriptBrowser</h3>
ScriptBrowserは、iPhoneでサイトのHTML、CSS、JavaScriptなどを閲覧できるブラウザアプリです（無料）。
ソースコード閲覧、ソースコードテストモードなどがあります。
<img alt="resp_app.png" src="http://blog.lqd.jp/img/resp_app.png" width="330" height="220" class="mt-image-none" style="" />
<a href="http://itunes.apple.com/jp/app/id434558975?mt=8" target="_blank">App Store - ScriptBrowser - ソースコード閲覧&テスト</a>

<h3>Angel Browser</h3>
Angel Browser（旧Galapagos Browser）は、Android向け国産ブラウザアプリです（無料）。
「ページ情報」から「ページのソースを表示」でサイトのソースコード閲覧が可能です（ときどきフリーズします・・）。
また、ユーザーエージェントの設定が可能で、i-modeなどの携帯サイトの閲覧などもできます。<br />
<a href="https://market.android.com/details?id=net.adgjm.angel&feature=search_result" target="_blank">Angel Browser - Android マーケット</a>
]]>
        
    </content>
</entry>

<entry>
    <title>Twitter 公式APIで、プロフィール写真を簡単に取得する方法</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/api/000172.html" />
    <id>tag:blog.lqd.jp,2011://3.172</id>

    <published>2011-09-14T02:11:11Z</published>
    <updated>2011-09-14T02:23:07Z</updated>

    <summary>Twitter 公式APIで、プロフィール写真を簡単に取得する方法を紹介します。 Twitterのプロフィール写真、サムネイル画像は、規則性がなく、取得するためには別途、取得用のコードを書いたり、専用...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="api" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="social" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="twitter" label="twitter" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[Twitter 公式APIで、プロフィール写真を簡単に取得する方法を紹介します。

<img alt="dev-bird.gif" src="http://blog.lqd.jp/img/dev-bird.gif" width="338" height="271" class="mt-image-none" style="" />

Twitterのプロフィール写真、サムネイル画像は、規則性がなく、取得するためには別途、取得用のコードを書いたり、専用の非公式APIを使っていました。<br />
しかし、APIサイトが落ちることもしばしばありました。<br />
APIサイト：<a href="http://img.tweetimag.es/" target="_blank">tweetimag.es</a>
<br /><br />

公式APIは、リクエスト数によりAPI制限がかかりますが、
スクリーンネームからGETで簡単にプロフィール写真が取得できます。<br />
ドキュメント：<a href="https://dev.twitter.com/docs/api/1/get/users/profile_image/%3Ascreen_name">GET users/profile_image/:screen_name</a>

<xmp><img src="http://api.twitter.com/1/users/profile_image?screen_name={screen_name}&size=bigger" /></xmp>

サイズは3種類あります。<br />

<img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=mini" />24px
<xmp><img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=mini" /></xmp>

<img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=normal" />48px
<xmp><img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=normal" /></xmp>

<img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=bigger" />73px
<xmp><img src="http://api.twitter.com/1/users/profile_image?screen_name=lqd_jp&size=bigger" /></xmp>

via：<a href="http://nr0561.blog.fc2.com/blog-entry-21.html" target="_blank">WEBっこ  [雑記] twitterの画像取得方法</a>

]]>
        
    </content>
</entry>

<entry>
    <title>OpenPNE をスマートフォンで使うための設定</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/openpne/000105.html" />
    <id>tag:blog.lqd.jp,2011://3.105</id>

    <published>2011-08-31T01:00:00Z</published>
    <updated>2011-11-04T04:18:59Z</updated>

    <summary>OpenPNE をスマートフォンで使うための設定について紹介します。 デフォルト設定 OpenPNE 2、OpenPNE 3 とも、デフォルトの設定では、 スマートフォン（iPhone、Android...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="openpne" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="sns" label="sns" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[OpenPNE をスマートフォンで使うための設定について紹介します。

<img alt="openpne_sp_cfg.png" src="http://blog.lqd.jp/img/openpne_sp_cfg.png" width="330" height="330" class="mt-image-none" style="" />

<h2>デフォルト設定</h2>
OpenPNE 2、OpenPNE 3 とも、デフォルトの設定では、
スマートフォン（iPhone、Android）で閲覧した場合、パソコン版のテンプレートが表示されます。<br />
しかし、スマートフォンでの閲覧は想定されていない（2011年8月現在）ため、いくつかの問題が生じます。そのため、スマートフォンで閲覧できるようにするための設定を紹介します。


<h2>パソコン版を使用する設定</h2>
デフォルト設定のままパソコン版を使用する場合、
OpenPNEでは<strong>携帯メールのドメイン名</strong>が定義されているため、
スマートフォンで携帯メールアドレス（@docomo.ne.jpなど）を使用している場合には、
チェックに引っかかり新規登録などができません。

<h3>ドメイン設定</h3>
下記ファイルでドメイン名がリストされているため、リストを削除（コメントアウト）することで、
チェックが無効になります（この設定を参照するもの全てに影響が出ます）。
<br /><br />
OpenPNE 2： webapp/init.inc<br />
OpenPNE 3： lib/config/config/mobile_mail_domain.yml

<h3>テンプレート</h3>
<a href="/smartphone/000018.html">OpenPNE をCSSで簡単にiPhone(スマートフォン)対応化する方法</a>
をご覧ください。



<h2>携帯版を使用する設定</h2>
スマートフォンで、携帯版のテンプレートが表示されるようにするには、下記設定が必要です。<br />
パソコン版テンプレートの場合、iPhoneでは写真のアップロードができない（iPhoneの仕様。androidは可能。）ため、携帯版テンプレートにすることで、メール投稿により写真のアップを可能にすることができます。

<h3>ユーザーエージェント（User-Agent、UA）</h3>
OpenPNEでは<strong>ユーザーエージェント</strong>で携帯端末かどうかを判別しています。<br />
スマートフォンのブラウザでは携帯と判別されないため、下記チェックをfalse（無効）にします。
<br /><br />
OpenPNE 2： config.php<br />
// 携帯版でUser-Agentのチェックをするかどうか<br />
define('CHECK_KTAI_UA', false);<br /><br />
OpenPNE 3： ？？

<h3>IPアドレス帯域</h3>
また、OpenPNEでは<strong>IPアドレス帯域</strong>でも携帯かどうかを判別しています。<br />
スマートフォンが使用するIPアドレス帯域は、携帯とは異なる場合があるため、携帯と判別されません。
下記ファイルに、各キャリアのスマートフォン用IPアドレス帯域を追加することで、携帯と判別されるようになります。
<br /><br />
OpenPNE 2： webapp/lib/ktaiIP.php<br />
OpenPNE 3： lib/config/config/mobile_ip_address.yml
<br /><br />
NTTドコモ： <a href="http://www.nttdocomo.co.jp/service/developer/smart_phone/technical_info/etc/index.html" target="_blank">spモードサービスで利用するIPアドレス帯域</a><br />
ソフトバンク： <a href="https://www.support.softbankmobile.co.jp/partner/home_tech1/index.cfm" target="_blank">SoftBank スマートフォンからインターネット経由でウェブサーバにアクセスする際、ウェブサーバ側に通知される送信元のIPアドレス</a><br />
au： ？？
<br /><br />
参考： <a href="http://www.openpne.jp/pne-downloads/mobile_ip_list/" target="_blank">OpenPNE 携帯電話 IP アドレス帯域リスト</a><br />
※各キャリアのIPアドレス帯域は不定期に変更されます。<br />
※IPアドレス帯域チェック自体をOFFにすることも可能ですが、セキュリティ上推奨されません。<br />
※Wi-Fi接続では携帯と判別されません。

]]>
        
    </content>
</entry>

<entry>
    <title>Twitter ウィジェットを、CSSだけでティッカー風1行表示にカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/css/000103.html" />
    <id>tag:blog.lqd.jp,2011://3.103</id>

    <published>2011-08-30T04:30:35Z</published>
    <updated>2011-08-30T05:10:48Z</updated>

    <summary>公式のTwitter ウィジェットを、CSSだけでティッカー風1行表示にカスタマイズする方法を紹介します。 Twitter ウィジェット：http://twitter.com/about/resour...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="social" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="twitter" label="twitter" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[公式のTwitter ウィジェットを、CSSだけでティッカー風1行表示にカスタマイズする方法を紹介します。

<img alt="twitter_ticker.png" src="http://blog.lqd.jp/img/twitter_ticker.png" width="330" height="100" class="mt-image-none" style="" />

Twitter ウィジェット：<a href="http://twitter.com/about/resources/widgets" target="_blank">http://twitter.com/about/resources/widgets</a>
<br /><br />

CSSだけで、超シンプルな1行表示にカスタマイズすることができます。<br />
今回はプロフィールウィジェットを例に紹介します。
<br /><br />
ウィジェット作成画面で、「一定間隔で更新」にチェック、エンドレス表示にしますか「はい」に設定することで、
指定した件数でくるくると更新表示されるようにします。<br />
横幅は自動（auto）、高さは1行分くらいの<strong>25</strong>に設定します。

<h2>HTMLの解説</h2>
作成したウィジェットのコードをそのまま使用します。コードの改変は一切行いません。<br />
管理しやすいように、idを<strong>twitter_ticker</strong>としたdivで囲みます。
<xmp><div id="twitter_ticker">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 5,
  interval: 30000,
  width: 'auto',
  height: 25,
  theme: {
    shell: {
      background: '#ffffff',
      color: '#333333'
    },
    tweets: {
      background: '#ffffff',
      color: '#333333',
      links: '#0000ff'
    }
  },
  features: {
    scrollbar: false,
    loop: true,
    live: true,
    hashtags: false,
    timestamp: false,
    avatars: false,
    behavior: 'default'
  }
}).render().setUser('lqd_jp').start();
</script>
</div></xmp>


<h2>CSSの解説</h2>
非表示にしたい部分は、<strong>display: none</strong>で指定しています。
サイズを0にしたり、しつこく指定しているのは、IEで一瞬チラ見えするのを防ぐためです。<br />
また、デフォルトCSSが優先されないよう<strong>!important</strong>を指定します。<br />
そして<strong>height</strong>で表示エリアを1行の高さに限定します。<br />
あとは<strong>:before擬似要素</strong>で「Twitter:」というラベルが表示されるようにしてみました。
<xmp>#twitter_ticker {
	border: 1px dashed #CCCCCC;
	padding: 10px;
}
#twitter_ticker .twtr-hd {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twitter_ticker .twtr-widget a img {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twitter_ticker .twtr-bd p:before {
	content: "Twitter: ";
}
#twitter_ticker .twtr-widget .twtr-tweet-wrap {
	padding: 0 !important;
}
#twitter_ticker .twtr-timeline {
	height: 12px !important;
	margin: 0 !important;
}
#twitter_ticker .twtr-ft {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twtr-widget-1 .twtr-bd, #twtr-widget-1 .twtr-timeline i a, #twtr-widget-1 .twtr-bd p {
	color: #333333 !important;
	font-size: 12px !important;
	height: 12px !important;
	line-height: 1 !important;
	overflow: hidden !important;
}</xmp>


<h2>実際のサンプル</h2>
一定の間隔で更新されます。<br />
ここは横幅が狭いのでTweetが長いと途切れて表示されます。
<div id="twitter_ticker">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 5,
  interval: 30000,
  width: 'auto',
  height: 25,
  theme: {
    shell: {
      background: '#ffffff',
      color: '#333333'
    },
    tweets: {
      background: '#ffffff',
      color: '#333333',
      links: '#0000ff'
    }
  },
  features: {
    scrollbar: false,
    loop: true,
    live: true,
    hashtags: false,
    timestamp: false,
    avatars: false,
    behavior: 'default'
  }
}).render().setUser('lqd_jp').start();
</script>
</div>
<style>
#twitter_ticker {
	border: 1px dashed #CCCCCC;
	padding: 10px;
}
#twitter_ticker .twtr-hd {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twitter_ticker .twtr-widget a img {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twitter_ticker .twtr-bd p:before {
	content: "Twitter: ";
}
#twitter_ticker .twtr-widget .twtr-tweet-wrap {
	padding: 0 !important;
}
#twitter_ticker .twtr-timeline {
	height: 12px !important;
	margin: 0 !important;
}
#twitter_ticker .twtr-ft {
	height: 0 !important;
	width: 0 !important;
	display: none !important;
}
#twtr-widget-1 .twtr-bd, #twtr-widget-1 .twtr-timeline i a, #twtr-widget-1 .twtr-bd p {
	color: #333333 !important;
	font-size: 12px !important;
	height: 12px !important;
	line-height: 1 !important;
	overflow: hidden !important;
}
</style>

<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Twitter ウィジェットを、CSSだけでデザインカスタマイズする方法</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/css/000104.html" />
    <id>tag:blog.lqd.jp,2011://3.104</id>

    <published>2011-08-29T04:00:00Z</published>
    <updated>2011-10-12T02:36:55Z</updated>

    <summary>公式のTwitter ウィジェットを、CSSだけでデザインカスタマイズする方法を紹介します。 Twitter ウィジェット：http://twitter.com/about/resources/wid...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="social" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="twitter" label="twitter" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[公式のTwitter ウィジェットを、CSSだけでデザインカスタマイズする方法を紹介します。

<img alt="twitter_css.png" src="http://blog.lqd.jp/img/twitter_css.png" width="280" height="280" class="mt-image-none" style="" />

Twitter ウィジェット：<a href="http://twitter.com/about/resources/widgets" target="_blank">http://twitter.com/about/resources/widgets</a>
<br /><br />

上記のような公式プロフィールウィジェットについて、
CSSを追加するだけでいろいろなデザインカスタマイズをすることができます。

<h2>HTMLの解説</h2>
作成したウィジェットのコードをそのまま使用します。コードの改変は一切行いません。<br />
管理しやすいように、idを<strong>twitter_ticker</strong>としたdivで囲みます。
<xmp><div id="twitter_ticker">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 4,
  interval: 30000,
  width: 'auto',
  height: 300,
  theme: {
    shell: {
      background: '#cccccc',
      color: '#333333'
    },
    tweets: {
      background: '#ffffff',
      color: '#333333',
      links: '#4aed05'
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: 'all'
  }
}).render().setUser('lqd_jp').start();
</script>
</div></xmp>


<h2>CSSの解説</h2>
ストライプ背景を使用したデザインにしてみます。<br />
デフォルトCSSが優先されないよう<strong>!important</strong>を指定します。<br />
<strong>border-radius</strong>を0にして、丸角をなくします。
そして全体を囲むdiv、<strong>twtr-doc</strong>に対して、ストライプの背景画像を指定します。
名前の<strong>h3</strong>、ユーザー名の<strong>h4</strong>は、デフォルト背景が効かないように透明にします。<br />
プロフィール画像<strong>twtr-profile-img</strong>は、31pxでしたが、
実際には48pxの画像を読み込んでいますので、48pxにしてみました。<br />
そのほか、微調整を行い、下記サンプルのようになりました。
<xmp>#twitter_ticker {
	border: 1px solid #CCCCCC;
}
#twitter_ticker .twtr-doc {
	border-radius: 0 0 0 0;
	-moz-border-radius: 0 0 0 0;
	-webkit-border-radius: 0 0 0 0;
}
#twitter_ticker .twtr-bd {
	border: 1px solid #CCCCCC;
	margin: 0 10px;
}
#twitter_ticker .twtr-timeline {
	border-radius: 0 0 0 0;
	-moz-border-radius: 0 0 0 0;
	-webkit-border-radius: 0 0 0 0;
}
#twitter_ticker .twtr-widget-profile img.twtr-profile-img {
	border: 2px solid #FFFFFF !important;
	display: block;
	float: left;
	height: 48px;
	width: 48px;
}
#twitter_ticker .twtr-widget-profile h3, #twitter_ticker .twtr-widget-profile h4 {
	margin: 0 0 0 60px !important;
}
#twitter_ticker .twtr-widget h4 {
	font-size: 32px !important;
	font-weight: bold;
}
#twitter_ticker #twtr-widget-1 .twtr-doc {
	background: url("http://lqd.jp/img/bg.png") repeat scroll 0 0 #FFFFFF;
}
#twitter_ticker #twtr-widget-1 h3, #twitter_ticker #twtr-widget-1 h4, #twtr-widget-1 .twtr-hd a {
	background-color: transparent !important;
}</xmp>


<h2>実際のサンプル</h2>
<div id="twitter_ticker">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 4,
  interval: 30000,
  width: 'auto',
  height: 300,
  theme: {
    shell: {
      background: '#cccccc',
      color: '#333333'
    },
    tweets: {
      background: '#ffffff',
      color: '#333333',
      links: '#4aed05'
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: 'all'
  }
}).render().setUser('lqd_jp').start();
</script>
</div>

<style>
#twitter_ticker {
	border: 1px solid #CCCCCC;
}
#twitter_ticker .twtr-doc {
	border-radius: 0 0 0 0;
	-moz-border-radius: 0 0 0 0;
	-webkit-border-radius: 0 0 0 0;
}
#twitter_ticker .twtr-bd {
	border: 1px solid #CCCCCC;
	margin: 0 10px;
}
#twitter_ticker .twtr-timeline {
	border-radius: 0 0 0 0;
	-moz-border-radius: 0 0 0 0;
	-webkit-border-radius: 0 0 0 0;
}
#twitter_ticker .twtr-widget-profile img.twtr-profile-img {
	border: 2px solid #FFFFFF !important;
	display: block;
	float: left;
	height: 48px;
	width: 48px;
}
#twitter_ticker .twtr-widget-profile h3, #twitter_ticker .twtr-widget-profile h4 {
	margin: 0 0 0 60px !important;
}
#twitter_ticker .twtr-widget h4 {
	font-size: 32px !important;
	font-weight: bold;
}
#twitter_ticker #twtr-widget-1 .twtr-doc {
	background: url("http://lqd.jp/img/bg.png") repeat scroll 0 0 #FFFFFF;
}
#twitter_ticker #twtr-widget-1 h3, #twitter_ticker #twtr-widget-1 h4, #twtr-widget-1 .twtr-hd a {
	background-color: transparent !important;
}
</style>

<br />
次回は、<a href="/css/000103.html">ティッカー風に1行で表示するCSSカスタマイズ</a>を紹介します。
]]>
        
    </content>
</entry>

<entry>
    <title>Google カスタム検索の検索ボックスを、CSSだけでデザイン変更する方法</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/webdesign/000100.html" />
    <id>tag:blog.lqd.jp,2011://3.100</id>

    <published>2011-08-24T01:07:00Z</published>
    <updated>2011-08-24T07:56:19Z</updated>

    <summary>サイトなどに設置した、Google カスタム検索の検索窓について、 CSSだけでデザインをカスタマイズする方法を紹介します。 公式サイト：Google カスタム検索 カスタマイズについて デザインはC...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[サイトなどに設置した、Google カスタム検索の検索窓について、
CSSだけでデザインをカスタマイズする方法を紹介します。
<br /><br />

<img alt="gcs.png" src="http://blog.lqd.jp/img/gcs.png" width="220" height="150" class="mt-image-none" style="" />

公式サイト：<a href="http://www.google.com/cse/?hl=ja" target="_blank">Google カスタム検索</a>

<h2>カスタマイズについて</h2>
デザインはCSSだけで行うため、Google カスタム検索のHTMLタグやJavaScriptを改変することはありません。
<br /><br />
Google カスタム検索の設定は、レイアウトの選択は「Google がホスト」、
スタイルの選択/カスタマイズは「デフォルト」を選択した場合のコードをベースにしています。<br />
検索ボックスを囲むdivのidは<strong>#cse-search-form</strong>となっていますが、
これはレイアウトやGoogle Adsenseの有無によって変ります。
<br /><br />
ちなみに、利用規約では下記のように明記されているため、
テキストボックスの「Google カスタム検索」という背景は削除できません。<br />
<em>検索ボックスには、本件サービスが Google によって提供されていることを示す画像を明瞭に表示するものとします。</em>

<h2>当ブログ版CSS</h2>
当ブログの右サイドにある検索ボックスのCSSを紹介します。
<pre>#cse-search-form {
	width: 200px !important;
}
#cse-search-form table.gsc-search-box td.gsc-input {
	padding: 0 !important;
}
#cse-search-form input[type="text"] {
	padding: 0 !important;
	height: 25px;
	width: 136px;
	border-radius: 5px 0 0 5px;
	-moz-border-radius: 5px 0 0 5px;
	-webkit-border-radius: 5px 0 0 5px;
	-webkit-appearance: none;
}
#cse-search-form input[type="submit"] {
	margin-left: 0 !important;
	background-color: #333333;
	border: 1px solid #333333;
	color: #FFFFFF;
	height: 27px;
	width: 40px;
	border-radius: 0 5px 5px 0;
	-moz-border-radius: 0 5px 5px 0;
	-webkit-border-radius: 0 5px 5px 0;
	-webkit-appearance: none;
}</pre>

<img alt="gcsa.png" src="http://blog.lqd.jp/img/gcsa.png" width="220" height="50" class="mt-image-none" style="" />

<h3>解説</h3>
幅は200pxで、各フォーム部品のサイズも指定しています。<br />
クラス名が変わっても問題のないよう、CSS属性セレクタを使用しています。<br />
デフォルトCSSが優先される場合は、!important を指定します。
<br /><br />
丸角は、CSS3と各ブラウザ用を使用。<strong>-webkit-appearance: none;</strong>では、
Safariのデフォルトスタイルを無効にしています。<br />
Internet Explorerには、CSS PIE を使用すれば対応できます。<br />
<a href="http://phpspot.org/blog/archives/2010/07/ie68css3css3_pi.html" target="_blank">IE6-8でもCSS3が使えるようになる「CSS3 PIE」</a>

<h2>検索ボタンアイコン版CSS</h2>
検索ボタンをアイコン画像にするCSSを紹介します。
<pre>#cse-search-form {
	width: 200px !important;
}
#cse-search-form td {
	padding: 0 !important;
}
#cse-search-form input[type="text"] {
	height: 25px;
	padding: 0 !important;
	width: 175px;
	border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	-webkit-border-radius: 5px 5px 5px 5px;
	box-shadow: 0 0 5px #DDDDDD;
	-moz-box-shadow: 0 0 5px #DDDDDD;
	-webkit-box-shadow: 0 0 5px #DDDDDD;
}
#cse-search-form input[type="submit"] {
	background: url("http://blog.lqd.jp/img/icon_search.gif") no-repeat scroll 50% 50% #FFFFFF;
	border: 0 none;
	color: #FFFFFF;
	height: 25px;
	margin-left: -22px;
	overflow: hidden;
	text-indent: -50px;
	width: 20px;
	-webkit-appearance: none;
}</pre>

<img alt="gcsb.png" src="http://blog.lqd.jp/img/gcsb.png" width="220" height="50" class="mt-image-none" style="" />

<h3>解説</h3>
基本的な部分は上記版と同じですが、検索ボタンをアイコンにして、テキストボックスの中に入れています。
それだけではさびしいので、若干シャドウをつけてみました。<br />
アイコン画像は、下記サイトで配布されているものを使用させていただきました。<br />
<a href="http://www.famfamfam.com/" target="_blank">famfamfam.com</a>]]>
        
    </content>
</entry>

<entry>
    <title>スマートフォンアプリ紹介ツール、iTunes App Store、Android Market対応</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/webservice/000099.html" />
    <id>tag:blog.lqd.jp,2011://3.99</id>

    <published>2011-08-23T01:48:00Z</published>
    <updated>2011-08-25T16:22:31Z</updated>

    <summary>サイトで簡単にスマートフォンアプリを紹介できる、アプリ紹介ツールを紹介します。 iTunes App Store、Android Market に対応しています。 サイト：http://spsns.n...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="smartphone" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="webservice" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="アプリ" label="アプリ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[サイトで簡単にスマートフォンアプリを紹介できる、アプリ紹介ツールを紹介します。<br />
iTunes App Store、Android Market に対応しています。

<img alt="apptools.png" src="http://blog.lqd.jp/img/apptools.png" width="330" height="394" class="mt-image-none" style="" />

サイト：<a href="http://spsns.net/" target="_blank">http://spsns.net/</a><br />
アプリ紹介ツール：<a href="http://spsns.net/tools/" target="_blank">http://spsns.net/tools/</a>
<br /><br />

使い方は簡単で、紹介したいアプリのページをブラウザで開き、
URLをコピーして、指定のアドレスに入れ、iframeで表示すればOKです。<br />
アプリ名、アイコン、価格、スクリーンショット（1枚）などが自動的に表示されます。 

<pre>&#60;iframe src="http://spsns.net/tools/app.php?url=アプリのURL" width="450" height="520" frameborder="0"&#62;&#60;/iframe&#62;</pre>

オプションでリンクシェアにも対応できます。
]]>
        
    </content>
</entry>

<entry>
    <title>OpenPNE2拡張モジュール、つぶやき機能などがセットに</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/openpne/000043.html" />
    <id>tag:blog.lqd.jp,2011://3.43</id>

    <published>2011-08-19T01:38:00Z</published>
    <updated>2011-08-19T01:39:07Z</updated>

    <summary>つぶやき機能などがセットになった、OpenPNE2拡張モジュールを紹介します。 実用的な拡張モジュールを多数開発されているoneoctaveさんで配布されています。 拡張モジュール：OpenPNE 拡...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="openpne" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="sns" label="sns" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[つぶやき機能などがセットになった、OpenPNE2拡張モジュールを紹介します。<br />
実用的な拡張モジュールを多数開発されているoneoctaveさんで配布されています。
<br /><br />

拡張モジュール：<a href="http://hiro.oneoctave.jp/?page_id=1067" target="_blank">OpenPNE 拡張モジュール All in ONE Package</a>

<img alt="ashiato.jpg" src="http://blog.lqd.jp/img/ashiato.jpg" width="330" height="330" class="mt-image-none" style="" />

<h2>モジュール</h2>
<ul>
	<li>天気予報（livedoor）＋今日の運勢（jugemKey）</li>
	<li>テレビ番組表(goo)</li>
	<li>ショートメッセンジャー</li>
	<li>「あしあと」カスタムテンプレート（グラフ対応版）</li>
</ul>

<h2>ショートメッセンジャー</h2>
ショートメッセンジャーは、mixiエコーを見て試験的に作られたという、
返信や削除も可能なつぶやき機能です。<br />
マイホームに設置するとメンバーでチャットのような交流ができます。

<h2>「あしあと」カスタムテンプレート</h2>
あしあとページをかっこよくカスタマイズできるテンプレートです。
Google Analytics のようなクールなグラフで、あしあとの推移を表示できます。<br />
また、あしあとを残したメンバーのサムネイルを表示することもできます。]]>
        
    </content>
</entry>

<entry>
    <title>XOOPSで使えるテンプレート変数を利用したナビゲーションデザイン</title>
    <link rel="alternate" type="text/html" href="http://blog.lqd.jp/xoops/000045.html" />
    <id>tag:blog.lqd.jp,2011://3.45</id>

    <published>2011-08-18T01:38:00Z</published>
    <updated>2011-10-17T12:05:28Z</updated>

    <summary>XOOPSで使えるテンプレート変数を利用した、サイトナビゲーションのデザインについて紹介します。 モジュール固有のidを追加 まず、モジュール固有のidをbodyなどに追加します。 下記のようなテンプ...</summary>
    <author>
        <name>admin</name>
        
    </author>
    
        <category term="webdesign" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="xoops" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ナビゲーション" label="ナビゲーション" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.lqd.jp/">
        <![CDATA[XOOPSで使えるテンプレート変数を利用した、サイトナビゲーションのデザインについて紹介します。

<h2>モジュール固有のidを追加</h2>
まず、モジュール固有のidをbodyなどに追加します。<br />
下記のようなテンプレート変数を利用することで、idを追加することができます。
基本的には、モジュール内の全てのページに適用されます。<br />
これだけで、簡単にCSSでモジュールごとに異なるデザインを適用できるようになります（CSSシグネチャ）。
<br /><br />
下記は、モジュールの、myAlbum-Pを「マイアルバム」、Xoops Yomi-Searchを「リンク集」という名前で
利用している場合のサンプルです。
<xmp><body
<{if $xoops_pagetitle eq ""}> id="index"<{/if}>
<{if $xoops_modulename eq "マイアルバム"}> id="myalbum"<{/if}>
<{if $xoops_modulename eq "リンク集"}> id="yomi"<{/if}>
></xmp>

<h2>ナビゲーションをCSSでデザイン</h2>
例えば、サイトナビゲーションのモジュールリンク部分を、
モジュール内のページでは常に選択状態のようなデザインにすることも簡単にできます。

<img alt="xoopsnavi.jpg" src="http://blog.lqd.jp/img/xoopsnavi.jpg" width="330" height="330" class="mt-image-none" style="" />

ナビゲーション部分のHTMLサンプル。
<xmp><ul id="navi">
<li id="n_top">TOP</li>
<li id="n_myalbum">アルバム</li>
<li id="n_yomi">リンク集</li>
</ul></xmp>

デザインのCSSサンプル（抜粋）。
<xmp>#navi li {background-color:#EEEEEE;}
#index #navi li#n_top {background-color:#FFFFFF;}
#myalbum #navi li#n_myalbum {background-color:#FFFFFF;}
#yomi #navi li#n_yomi {background-color:#FFFFFF;}</xmp>

<br />
上記のように、CSSだけで、モジュール単位のデザイン変更ができるようになります。]]>
        
    </content>
</entry>

</feed>

