NEW ENTRY
小技の効いたサイトを発見しました。
このサイトで、左のメニューにカーソルを合わせると英語表記のところがゆっくりと色が変化していくのがわかると思います。トランジション効果と言えばよいのでしょうか、アニメーション処理がしてあります。
このサイトの場合は、画像のロールオーバー時に、JavaScriptでアニメーション処理をしていると思うのですが、今回画像なしで似たような動作をやってみます。CSS3とそれに対応しているブラウザを使用します。残念ながら現在はSafari4.0とGoogle Chomeしか動作しないようです。
サンプル
動作確認
Google Chrome 4.0、Safari 4.0.4 for Windows XPです。
CSS3はまだ正式勧告されていないので、使用する場合にはプロパティの前にベンダープリフィックスと呼ばれる接頭辞をつける必要があります。SafariおよびChomeは「-webkit-」です。
(X)HTMLコード
<ul>
<li><a href="concept.html">コンセプト<span><br />CONCEPT</span></a></li>
<li><a href="menu1.html">メニュー<span><br />MENU</span></a></li>
<li><a href="">新着・お得情報<br /><span>NEW&EVENTS</span></a></li>
<li><a href="">お問合せ・ご予約<br /><span>CONTACT</span></a></li>
<li><a href="info.html">店舗情報・地図<br /><span>INFORMATION</span></a></li>
</ul>
CSSコード
ul {
width:200px;
background:#735D4A;
margin:0;
padding:0 10px;
}
li {
list-style:none;
border-bottom:#524139 1px solid;
}
li:last-child {
border-bottom:none;
}
li a {
display:block;
padding:15px 0 15px 30px;
font-family:"MS 明朝",serif;
color:#F7F3EF;
font-size:14px;
text-shadow:2px 2px 2px rgba(0,0,0,0.6);
-moz-text-shadow:2px 2px 2px rgba(0,0,0,0.6);
-webkit-text-shadow:2px 2px 2px rgba(0,0,0,0.6);
line-height:1.4;
letter-spacing:1px;
background:url("bg_list.gif") 10px 50% no-repeat;
text-decoration:none;
outline: none;
}
li a span {
color:#080808;
font-family: "arial",sans-serif;
font-size:10px;
text-shadow:none;
-moz-text-shadow:none;
-webkit-text-shadow:none;
-webkit-transition-duration:0.4s;
}
li a:hover span {
color:#F79239;
}
「-webkit-transition-duration:0.4s」というのがアニメーション部分の指定になります。メニューをマウスオーバーしたときに、英語表記の部分だけが0.4秒かけて色がゆっくりと変わります。
また、CSS3のテキストにシャドーをつけれる「text-shadow」、親子関係の最後の子要素だけに適用する「:last-child」も併せて使用しています。
INDEX
CSSの基本
- CSSを記述する際フォーマットルールを作る
- プロパティの指定順序を固定する
- DOCTYPEスイッチの3つのモードについて
- 各ブラウザの独自プロパティの実装状況
- CSS3対応のCSSセレクタ一覧
- コーディングガイドラインを作成する
- ショートハンドプロパティを使いこなす
- id名やclass名に命名規則をつける
- YUI Reset CSSを使ってデフォルトスタイルシートをリセットする
- id名、class名は意味のある名前をつける
- 各ブラウザのCSSの実装状況
- Firefoxのデフォルトスタイルシートの見方
- ボックスモデルを理解する
- セレクタを理解する
- UIのデフォルトスタイルシートの初期化方法
- スタイル適用の優先順位を理解する
CSSの小技
- CSS3のアニメーション機能を利用してメニューを彩る
- コンテンツ量が少なくてもデザインくずれを起こさないようにフッターを固定する
- カーソルを合わせたメニューを強調する
- 基本的な縦型リストの作り方
- アクセシビリティの高いCSSロールオーバーメニュー
- IE6でもposition:fixedと同じ動作をさせる(改訂版)
- 横並びにした画像にテキストが回りこまないようにする方法
- 余白のあるメニューの特定の余白を消す方法
- first-childあるいはlast-childを使用しないでリストの罫線を消す方法
- IE6でもposition:fixedと同じ動作をさせる
- CSSでドロップダウンメニュー
- IE6でも子セレクタを使う
- ちらつきのないCSSロールオーバーメニューを作る
- floatしたボックスの親要素の内容物を表示する方法
- floatしたボックスの回り込みを解除する方法
- floatで並べたリストを中央揃えする
- 横罫線hrに画像を使用してブラウザの差異を無くす
- 画像を利用して高さの違うボックスの下辺を揃える
- 2段カラムの作り方(float編)
- 垂直marginは相殺(折りたたみ)することを考えてボックスに余白をつける
- CSSのみでロールオーバー効果のメニューを作る
- 引用部分ということがわかりやすいデザインにする
- 定義リストを横並びにする
- 基準となる文字サイズを最初に決めておく
- リンクをブロック構造にする
- テキストが含まれる要素にはline-heightを指定する
- 擬似フレームを作る
- テンプレートの背景画像は固定化する
- 外部リンクか内部リンクかを視覚的にわかるようにする
- リンクをクリックしたときに表示される破線をCSSを使って消す
- リスト(liタグ)で作ったメニューを横並びにする
- リストマークを好きな画像にする
- 行間を空けてテキストを読みやすくする
- 文字サイズの異なるテキストをかぶらないようにする
- テンプレートを左右中央寄せにする
- ドロップキャップでテキストを目立たせる
- FirefoxでもOperaでもスクロールバーを出す
- Firefoxで常にスクロールバーを出す
- テンプレートをセンタリング(中央寄せ)
- ※(注釈)をつける際はぶら下げインデントを使う
- 字下げをして可読性を上げる
ヘルプ
- IEでimgにpaddingが効かない
- CSSファイル内で日本語が文字化けする
- formタグの上や下に隙間(空白)が空いてしまう
- imgタグで指定した画像の下にわずかな隙間(空白)が空いてしまう
- letter-spacingを使用したら改行がうまくいかなくなった

