Category Archives: XHTML+CSS

HTMLとCSS入門者にオススメできる本

0
Filed under XHTML+CSS

htmlとかCSSってどこで勉強すればいいんだよ-スチーム速報という記事を読んだ。

上のエントリーはwebでの勉強が中心なんですが、やはり本で勉強したい人もいると思うのです。(コメントにある「本よりネットの方がリソースの質が良い」っていうのは、HTMLとCSSの良し悪しが理解できる人の意見だと思うし)

なのでガチガチで混み混みのテーブルレイアウトを作った事が無く、最初からweb標準とValidを意識してHTMLとCSSを学び始めた僕が読んだ本の一部を紹介することで、これから勉強しようとする本が好き派の人へ参考になればと思います。(と偉そうに言ってもこのブログはValidじゃないんだけど)

まず一番最初は必ずしも本は必要ではないと思います。HTMLやタグリファレンスで検索して出てくるサイトを見ながら、メモ帳でHTMLを書いてみましょう。

とりあえずやってみないことには何ともいえないので、古いと言われている「とほほ」でも“最初は”問題ないです。ただ1つ頭の何処かに「デザインはCSSで行うものだ」という言葉を置いておいてください。意味はそのうちすぐに理解できます。

個人的にはHTMLクイックリファレンスがオススメ。本を買っても途中で投げ出しちゃっいそうなら最初はこれで。サイトをプリントアウトしちゃえば勉強しやすいかも。
とほほのwww入門
HTMLクイックリファレンス

入門本を買う場合は(これは全部的に言える事なんだけど)あまり古い本は買わないように。作ってみるのが第一目標ではありますが、HTMLとCSSも他言語と同じくここ数年でブラウザの変化や、作る人たちの技術の向上により変化が著しいです。内容が古いと、後々また新しいルールを勉強するはめになりますので注意を。(個人的には3年以上前の本は読まない)

では、よく使うHTMLタグをそこそこ理解しCSSで遊んだ後で「もっとHTMLとCSSを詳しく知りたい」と思ったならば、大きめな本屋に行ってみましょう。最近はW3Cの仕様(HTMLを書くうえでのルール)やweb標準を説明した入門書も多く良著も増えてきています。基礎や考え方を学ぶなら、内容の詰まった本でみっちりお勉強した方が無駄な試行錯誤と検索が減って効率よく勉強できるのではないかと思います。

さてやっと本題にたどりついたので、僕が読んだ中でオススメな本を紹介していきます。

実践 Web Standards Design ~Web標準の基本とCSSレイアウト&Tips~

著者/訳者:市瀬 裕哉 福島 英児 望月 真琴

出版社:技術評論社( 2008-11-29 )

定価:¥ 3,360

Amazon価格:¥ 3,360

大型本 ( 448 ページ )

ISBN-10 : 4774136840

ISBN-13 : 9784774136844


web標準とCSSレイアウトについて書かれている本。通称ホップ本。HTML+CSS初心者がステップアップしたい頃に読むと最適。本書は発売当初より評判が高かったのだが、出版社が倒産し一時は絶版状態になる。中古品が(記憶が確かならAmazonで)9000円前後で売りに出されていた頃もあった、ある意味で伝説の本。現在は出版社が変わり定価で購入できます。web標準の基本はこれで身に付ける事ができると思います。

ここからMdnのターン。

プロとして恥ずかしくないWEBデザインの大原則 改訂版 (インプレスムック)

出版社:MdN( 2007-01-30 )

定価:¥ 1,890

大型本 ( 160 ページ )

ISBN-10 : 4844359002

ISBN-13 : 9784844359005


タイトルのとおりwebサイトを作る為に必要な基礎を書いてある本。レイアウト見本や配色・CSSレイアウト・ユーザビリティ・web2.0・サイト構造・SEOなどwebサイトを作るうえで必要な知識を広くまとめた本。プロとして恥ずかしくないシリーズは基礎から教えてくれて、全体的にハズレはないと思います。(同じような内容が載ってる場合は多いけど)

プロとして恥ずかしくないWEBレイアウトの大原則 (エムディエヌ・ムック―インプレスムック)

著者/訳者:MdN編集部

出版社:MdN( 2005-07-19 )

定価:¥ 1,890

大型本 ( 143 ページ )

ISBN-10 : 4844358146

ISBN-13 : 9784844358145


ちょっと古くなるけど、純粋にデザイン面を求めるならこっち。レイアウト見本・CSSテクニック・配色・web標準と内容も絞られている。だけどもうAmazonでは(中古しか)売ってません。

いま流行のWEB制作ルール&テクニック総学習 (インプレスムック エムディエヌ・ムック)

出版社:MdN( 2008-03-18 )

定価:¥ 1,890

Amazon価格:¥ 1,890

大型本 ( 144 ページ )

ISBN-10 : 4844359754

ISBN-13 : 9784844359753


これもデザインの大原則とおなじような内容もあるがワークフローなどのページがある。前者が文章で読ませるが中心なら、こちらはCSSの使い方を画像とソースを見て学ぶ本。またテクニックも小回りのきくものが中心で、サイト作りのアクセントとして取り入れやすい。

はい、白状すると私は紙のデザインをやってる頃からMdn系が好きでした。さて上のホップ本とムックを1~2冊読めばだいたい思い通りにHTMLとCSSが書けて、サイトを作るうえでの基礎知識は学べると思います。よりCSSを知りたい人に対して今オススメな本は

Webデザイン プロフェッショナルワークフロー・バイブル (Web Designing BOOKS)

著者/訳者:Andy Clarke

出版社:毎日コミュニケーションズ( 2009-02-24 )

定価:¥ 3,360

Amazon価格:¥ 3,360

単行本(ソフトカバー) ( 376 ページ )

ISBN-10 : 4839923167

ISBN-13 : 9784839923167


原題は「Transcending CSS」。内容も素晴らしいが、訳と監訳のおかげでストレスなく読める。Transcending CSSは卓越したCSSという意味で、これからのCSSのスタンダードとなる可能性を秘めている。簡単に説明すると古いブラウザに合わせてCSSハックやフィルタを使うのではなく、これからは新しいブラウザ基準でCSS3やCSSセレクタを使ってデザインしていこうという内容。昨年末くらいだろうか、一部のブログで「IE6にはアップデートを催促するメッセージを出そう」という話題が持ち上がっている頃、著者のAndy Clarke氏のwebサイトが何度か引き合いに出されたことがあった。彼のサイトはIE6で見ると、サイト全体がモノクロになってしまう。
Stuff and Nonsense

#Transcending CSSはMOSeと呼ばれる事もあります。個人的には積極的にブラウザの独自拡張を使用するのがMOSeだと思っているのだけど、どうなんでしょう。

番外編

Dreamweaver プロフェッショナル・スタイル [CS3対応]

著者/訳者:鷹野 雅弘 植木 真 益子 貴寛 神森 勉 茂木 葉子 境 祐司 たにぐち まこと 中村 享介 こもり まさあき

出版社:毎日コミュニケーションズ( 2007-09-20 )

定価:¥ 2,625

Amazon価格:¥ 2,625

単行本(ソフトカバー) ( 304 ページ )

ISBN-10 : 4839924341

ISBN-13 : 9784839924348


Dreamweaverを使い慣れたら是非とも読みたい一冊。HTMLやCSSの本ではないが、Dreamweaverの効率の良い使い方を学ぶ事で作業効率が上がります。「独学で使ってます」という人は必ず得るものがあるはず。Dreamweaverを使わない人には必要ないものなのでご注意を。

このまま行くと怒涛のアソシエイト地獄になりそうなので自重。きになる本があった方はまず、本屋で手にとって内容を確認してみてください。とりあえずまとめると、

1.まずはタグの使い方を知るためにリファレンスを見ながらサイトを作ってみる
2.HTMLとCSSが楽しいと感じたらホップ本なりweb標準の本を読んでみる。
3.その後はwebやムック本中心でデザインやCSSを掘り下げてみる。

てな感じでどうでしょうか。「昔とあんまり変わらねーよ」と言われるかもしれませんね。

習うより慣れろが気軽にできるのがHTMLとCSSのいい所だと思うので、最初から「W3Cが」とか「DTDは」とかではじまるより、リファレンスだけでやりたい放題ヘンチクリンなやつを作って挫折してみて、まず楽しいと感じる事が一番かなと思います。

と今でもヘンチクリンなサイトばかり作ってる俺が言ってました。

CSSで簡単に画像をリキッドな表現に

0
Filed under Web Design, XHTML+CSS

リキッドデザインをするならやっぱり画像も伸び縮みしたほうが良いよね。文字だけフレキシブルだとスペースをもて余したりすることもあるし、何より横幅が広がるほど文字が読みにくくなるしね。

って事で足りない頭を使ってCSSで考えてみた。

.fximgcow {
background: #fff url(test1.jpg) no-repeat center;
height: 250px;
text-align: center;
}

<div class="fximgcow"></div>

よし!これで画像もリキッドだ!・・・divの中身が無いけどね・・・
htmlだけじゃ画像かどうか解らないし、さすがにこれはちょっとなぁ。
そうだ!こうしたら空タグじゃなくなる!

.fximgcow {
background: #fff url(test1.jpg) no-repeat center;
height: 250px;
text-align: center;
}

<div class="fximgcow"><img src="test2.jpg" alt="牛さんですよ" width="460" height="250" /></div>

demo
うん、なんとかやりたかった事は表現できた。なんか不必要なdivがあるような気がするがきっと気のせいだ。でも1つの画像の為に2種類の画像を読み込んでるってのは重さが心配。しかもよくよく考えたら、画像を使ったサイト全体のフレキシブルな背景を作る方法とまったく同じだった。

でもこれワンポイントでならサイズ次第で使えるような気がしたりしなかったり。画像が少ないページならアリかな。ただいま当ブログでは[これはひどい]をお待ちしております。

[XHTML+CSS]CSS Spriteで表現する角丸2

0
Filed under XHTML+CSS, 日記

今回の記事は2008-12-07CSS Spriteで表現する角丸 | Commit Labの続きです。

これはCSS Spriteというテクニックを利用して作った角丸boxです。従来通りならば複雑になりがちな角丸のマークアップを、CSS Spriteで作る事ことによりシンプルで無駄なタグのない記述のhtml+CSSで角丸を表現しています。(IE5,5に対応するときはどうしてもdivが1つ増えますが)

文字の拡大にあわせてboxの縦が伸縮しますので、すぐにフレキシブルな角丸を表現出来ます。またデザインにおいても、htmlとcssのみで作られているので思いのままに装飾する事ができます。

今回は前回の問題点を修正しました。h2のheightをpxで固定していたのはやめて、line-heightのみで高さを調整しました。これで文字を拡大しても、H2から文字がはみ出す事はありません。

またH2にbackground-colorを与え、どれだけ拡大しても背景が途中で途切れないようになりました。

それに伴いCSS Spriteの画像を変更してます。横幅が1.5倍になりましたが、サイズは10バイト少々増えた程度です。またそれに合わせてCSSのbackgroundを変更しました。

今回使用している画像
sample(1色のみのサンプル)
sample2(5色のバリエーション)
Download:kadomaru.zip
動作確認:IE5.5 IE6 IE7 Firefox2 Firefox3 Opera9.62 Safari3 chrome0.4

body, div, address, p, h2 {
margin: 0;
padding: 0;
}
body {
font:100%/1.231 Arial, Helvetica, sans-serif;
padding-top: 30px;
text-align: center;
}

.contentbox {
width: 350px;
padding-bottom: 10px;
margin: 0 auto;
background: url(scbb.png) right bottom;
}

h2 {
width: 350px;
color: #fff;
font: bold 108%/1.9 'メイリオ',Meiryo,;
text-align: left;
text-indent: 1em;
background: #2C6EBD url(scbb.png) no-repeat left top;
}

* html h2 {
padding-top: 3px;
line-height: 1.8;
}

.IE55 {
width: 350px;
background: url(scbb.png) repeat-y center top;
}

p {
letter-spacing: 0.1em;
line-height: 1.5;
font-size: 83%;
padding: 7px 15px 0px;
text-align: left;
}

img {
float: left;
margin: 10px 15px 0px 10px;
}

.justify {
text-align: justify;
text-justify:inter-ideograph; /* IE独自 */
}
<div class="contentbox">
<h2>ipod nanoのアイコン</h2>
<div class="IE55">
<p class="justify">テキスト段落1</p>
<p class="justify">テキスト段落2</p>

</div>
</div>

IE5.5に対応しない場合はdiv=”IE55″ごと削除が可能。しかしその場合はDIV=”IE55″のbackgroundをPに設定(コピペ)する必要がある。

[XHTML+CSS]CSS Spriteで表現する角丸

3
Filed under Web Design, XHTML+CSS

このエントリーはリライトされています。そちらも併せてご覧ください。
XHTML+CSS – CSS Spriteで表現する角丸2

ネタ元は有名所コリスさんのこれ
コリス CSS 一枚の画像で、四隅が角丸のパネルを実装するスタイルシート
そのネタ元はコリスさんの方から見れる。

私は最近DesignWalkerさんのエントリーを読んでからCSS Spriteに興味がありまして、自分の仕事の中で可能であればコッソリしこんでます。これ系のテクニックってよく使いながらも、総称のようなものを知らなかったので、知って目からうろこというかなんというか。でもこれ複数人でコーディングする場合は混乱を招く可能性があるんでそこは注意を。

これも有名所DesignWalkerさん。CSS Spriteの簡単な説明と利点。
DesignWalker CSS Spriteを活用しよう

でまぁ今回のネタについてはコリスさんを読んでいただくとして、これをテストしてみました。まず、Demo2をダウンロードして試した感想としては「こりゃ凄い!」という驚き。無駄なタグがない!。ありそうでなかった発想に脱帽。僕のようにjavascriotがまったく使えない人間でも、スライスしてDivをテーブルレイアウトの様に配置しなくても簡単に実現できる所が良いです。(他にもやり方ありますけどね)とりあえず日本語向けにCSSをカスタマイズしてみた。


Demo

こんな感じです。何処かで見たことがあるというか、はてな丸パクリですが、まぁお遊びということでお許しください。fontは僕の好みでh2のみメイリオです。で、これに使ってる画像はこれ一枚です。


実サイズの画像(448バイト)
画像次第でサイズを落とすことも可能でしょう。

で、ここで「やったー出来た出来た」と喜んでいたんですが、コリスさんのコメントを見るとどうやらIE5.5では崩れるらしい。まぁぶっちゃけ「Ie5.5は無視しよっかな・・・」と思ったんですが、とりあえず問題はPを背景として使うから生じるんだから、pのwrapを作って背景を指定すれば崩れないなと。(wrapper+inner否定派の方ごめんなさい)

で、Pを包んだ結果がこれ。

Demo2 ついでに画像も入れてみた。

Demo2の主なCSS

body, div, address, p, h2 { margin: 0; padding: 0;}

body { font: 100%/1.231 Arial, Helvetica, sans-serif;}

.contentbox {
width: 350px;
background: url(画像) no-repeat left bottom;
padding-bottom: 15px;
margin: 0 auto;
}

.contentbox h2 {
width: 320px;
background: url(画像) no-repeat left top;
padding: 0 15px;
font-family:"メイリオ";
color: #fff;
font-size:108%;
font-weight:bold;
line-height: 2;
height: 35px;
}

.contentbox p {
width: 318px;
background: url(画像) repeat-y right top;
padding: 10px 16px 0 16px;
letter-spacing: 0.1em;
line-height: 1.5;
font-size: 85%;
}

Demo2のhtml

<div class="contentbox">
<h2>タイトル</h2>
<div class="IE55"><img alt="" />

文章

</div>
</div>

IE5.5用にdivが一つ増えてる。もっと良い方法があるかも。

これならIE5.5でも崩れずに表示可能です。ただしIE Testerの5.5でしか確認してないんで、実機では不明。いけるかな?で、例のごとくソースが殴り書きなんで整理整頓せれてなくて汚いです。これだけの手間で角丸が使えてフレキシブルなら、常用できるテクニックだと思うんだけどどうでしょうか。

[CSS] 教科書には書いていないCSS

0
Filed under Web Design, XHTML+CSS

題名にはあまり意味は無いです。たぶん書いてる本には書いてると思います。なので正確には

僕の持っている 教科書には書いてない か、僕が見落としている XHTMLとCSS」

なのでニュアンス的にはちょっとした小技みたいな感じで受け取ってくれるとこちらも気が楽ですけど、いかがなものでしょうか。さて情けない逃げ口上もすんだことですので、本題に入ります。

テキストリンクのアンダーラインをボーダーで表現する

リンクのアンダーラインを自分色で染めたい(調整・装飾したい)場合ってありますよね。そういうときはボーダーでアンダーラインを表現します。ですのでボーダーの幅やスタイル(実線、ドット、ダッシュ等)等で表現が可能です。(その他手書き風等のオリジナルの”飾り”を指定する場合は背景でやります)

1.が普通に指定したアンダーラインのあるリンク

2.飾りがnoneでボーダーの下が2pxのdotted

2.hoverの飾りがnoneでボーダーの下が2pxのsolid

文字と下のボーダーとの距離はline-heightかheightで調整します。その場合はdisplay: block;にする必要があるので少々クセがあります。

IEデフォルトのツールチップを表示させない

html内に<img>で画像を表示させた場合は必ずaltを指定する必要があります。このブログはaltが適当なんでけしからんです!最近ではもっぱらユーザビリティやSEOの要素として扱われる事が多いですが、純粋にちゃんと書いてた方が後々ソースを見直したときにも理解が早いですよね。

しかし色んな人の思惑や意図が絡み合って、どうしてもaltが長くなってしまいツールチップの表示が邪魔になることがたまーにあります。

そんなときは<img>の中にtitle=”"を入れましょう。そうすることでツールチップが表示されなくなります。ですが、本来の意味で考えると本末転倒になってしまうので積極的にはオススメできません。

DTDによる画像の下に出現する意図しない隙間を埋める

僕がサイトを作る場合、基本的にXHTML 1.0 Strict+XML宣言で作ります作ってました。そうなると右の画像のようにFirefoxでは画像の下に意図しない隙間が出来てしまいます。

右の場合は特に問題ないのですが、装飾要素のある部位だと困ります。なのでそういうときはCSSでimgに対して

vertical-align: bottom;

を指定してあげます。こうすることで画像の下に表示されていた隙間は無くなります。

Fiirefoxの縦スクロールバーを常時表示させる

Firefoxはサイト全体が画面内に収まる場合はスクロールバーを表示しません(IEは縦スクロールバー常時表示)。縦にスクロールの必要がある場合にのみスクロールバーが表示されるので、制作側の大きいモニタでは問題なくても、一度に表示できない小さいモニタとFirefoxを使ってサイトを見ている訪問者は、ページ移動の度にスクロールバーが表示・非表示と切り替わってしまいます。

そうなるとページ移動の度にスクロールバーの幅だけ横にズレてしまうので、見ている人に何とも言い難い不安定感を演出してしまいます。サイトの縦幅が全ページ同じなら気にすることもないのですが、なかなかそういう風にはいきません。ですのでそういうときにはCSSに

html>/**/body { overflow-y:scroll;}

を記述することによってFirefoxでの縦スクロールバーの常時表示が実現します。これはIE7以外のモダンブラウザに適用されるようにCSSハックを利用しています。そしてこのハックはW3CのCSS Validatorには通りませんので注意してください。そもそもoverflow-y自体がCSS2.1に存在しないので最初から通らないんですが。

頑張って作ったサイトは自分の作品ですから、できるだけ色んな人に綺麗な状態で見てもらいたいですよね。

またなんか思いついたら書いてみます。