今までvertical-alignをtextの方に宣言していました。
が、「どうもうまく画像と文字の上下バランスを調整できないなあ。。。」と思っていて、
ふと調べたら、
imgの方に割り当てることが書かれていました。
(「スタイルシート上級テクニック」河内正紀著P140)
すると、けっこううまく調整できました。。
よかった。
2009年10月28日水曜日
2009年10月27日火曜日
改行の恐怖。。
IE6以外のブラウザだと隙間があかないのに、
なぜかIE6だと、ブロックとブロックの間に隙間が出ている、という現象に少し悩まされました。
いろいろやってわかったのは、
二つの画像を横並びに配置しているレイアウトで、
その二つのimgタグを二行に分けて書いていたことが原因となっていました。
いろいろやっていて、ふと改行を加えず、二つのimgタグを一行にまとめてやると、marginが消えました。。
どうやら、改行が半角スペースとしてレンダリングされたことにより、
指定したwidthの範囲を超えたので、
下にmarginができた様子です。
改行(+IE6)、気をつけねば。。。
なぜかIE6だと、ブロックとブロックの間に隙間が出ている、という現象に少し悩まされました。
いろいろやってわかったのは、
二つの画像を横並びに配置しているレイアウトで、
その二つのimgタグを二行に分けて書いていたことが原因となっていました。
いろいろやっていて、ふと改行を加えず、二つのimgタグを一行にまとめてやると、marginが消えました。。
どうやら、改行が半角スペースとしてレンダリングされたことにより、
指定したwidthの範囲を超えたので、
下にmarginができた様子です。
改行(+IE6)、気をつけねば。。。
2009年10月26日月曜日
cssでロールオーバー
かつてロールオーバーって、javascriptでしか実現できないかと思っていました。
しかし、CSSでかなり簡単に実現できると知って、
実際使ってみて、かなり幸せになりました(笑)。
ロールオーバー前と後の画像を一枚でまとめるて遷移させる手法が、自分の好みです。
縦30pxのボタンなら、上下に30px+30px=60pxの一枚続きの画像に仕立て、
それを配置して、a:hoverにてbackground-positionを-30pxとかしてやるという手法で。
最初の頃、javascriptを各ページのヘッダーに自動生成して書いてくれる某ソフトを使っていたのですが、
ソースがぐちゃぐちゃになってしまい、弱っていました。
ですので、スタイルシートでロールオーバーをこんなにシンプルに実現できるのが、うれしい限りです。素晴らしや。
(もちろんjsでも外部にソースをもっていってリンクはれば見すくなりますが、その当時は知る由もなく。。)
しかし、CSSでかなり簡単に実現できると知って、
実際使ってみて、かなり幸せになりました(笑)。
ロールオーバー前と後の画像を一枚でまとめるて遷移させる手法が、自分の好みです。
縦30pxのボタンなら、上下に30px+30px=60pxの一枚続きの画像に仕立て、
それを配置して、a:hoverにてbackground-positionを-30pxとかしてやるという手法で。
最初の頃、javascriptを各ページのヘッダーに自動生成して書いてくれる某ソフトを使っていたのですが、
ソースがぐちゃぐちゃになってしまい、弱っていました。
ですので、スタイルシートでロールオーバーをこんなにシンプルに実現できるのが、うれしい限りです。素晴らしや。
(もちろんjsでも外部にソースをもっていってリンクはれば見すくなりますが、その当時は知る由もなく。。)
2009年10月25日日曜日
display:inline でつくる幸せナビ
一般に、HTMLの各構成要素(ブロック)は、ドンドコと縦に積み重ねられていきます。
が、display:inlineを使うと、横に並べていけます。
これ、自分はとても嬉しくて好きです。
ul(=unordered list=連番などが振られていないリスト)タグに、 このdisplay:inlineをスタイルシートで宣言してやると、
li(=list)タグの要素君たちが横並びになってくれます。
よくある画面上部のナビ(グローバルナビとかヘッダーナビとか言われるようですね)が、 けっこう簡単に作れて、「いい仕事するなあ、display:inline !」とか思ったりします(笑)。
お粗末m(_ _)m
■追記
HTMLがそもそも横文字環境で作られた代物なので、デフォルト(初期設定)は縦に積み上げられる、という設計になってるのでしょうね。
日本語や他の縦書きアジア系言語なら、横(左)に置いていくようなものになるのかな。
将来的には、webでもっと縦書きがサポートされれば、その時はinline配置がデフォルトなのかもしれない、なんて夢想しました。。
が、display:inlineを使うと、横に並べていけます。
これ、自分はとても嬉しくて好きです。
ul(=unordered list=連番などが振られていないリスト)タグに、 このdisplay:inlineをスタイルシートで宣言してやると、
li(=list)タグの要素君たちが横並びになってくれます。
よくある画面上部のナビ(グローバルナビとかヘッダーナビとか言われるようですね)が、 けっこう簡単に作れて、「いい仕事するなあ、display:inline !」とか思ったりします(笑)。
お粗末m(_ _)m
■追記
HTMLがそもそも横文字環境で作られた代物なので、デフォルト(初期設定)は縦に積み上げられる、という設計になってるのでしょうね。
日本語や他の縦書きアジア系言語なら、横(左)に置いていくようなものになるのかな。
将来的には、webでもっと縦書きがサポートされれば、その時はinline配置がデフォルトなのかもしれない、なんて夢想しました。。
いつかはbloggerテンプレも。
bloggerを多用しているのですが、
そのうち力入れて、bloggerのテンプレを、
オリジナルで作りこみたいところです。
今はデフォルトで選べるもののままで失礼しております。。
そのうち力入れて、bloggerのテンプレを、
オリジナルで作りこみたいところです。
今はデフォルトで選べるもののままで失礼しております。。
スタイルシートと付き合って。
「HTMLって楽しいなあ。便利だなあ。」と思ってこの数年。
CSSの存在は知っていたものの、HTMLを少し装飾するに留めていました。
しかしこのところ思い立って、「本格的にCSSを使いこなせるようになろう」と決意し、
かなりのペースで学習してきました。
基礎はそれなりに分かってきて、
フルCSSサイトも作れるようになったものの、
まだまだ応用に甘さがあります。
あ、基礎もか(^^;
HTMLは、シンプルで、その気になればほとんどの人がそれなりに使いこなせるようになる代物でしょう。
しかし、CSSはなかなかそうもいかない。
ブラウザ間で挙動が違ったり、
たとえば横並びの段組みという基礎レイアウトすら、
floatやpositionといった代物でかなり試行錯誤して実現しなくてはならなかったり等々、
基本を身につけるためにかなりの学習の必要が多々あります。
また、基礎が身についても、細かいところでその先も学ぶことは多々です。
それも楽しいのですが。
webという世界は、財力があまりなくても発信できる、という素晴らしい可能性をもったツールですね。
しかし、CSS(スタイルシート)という、
「素晴らしい手法だけれども、学習コストがかかるもの」の登場で、
「使いこなせればいいんだろうけど、難しいなあ」と思う(思った)のは、
僕だけではないと思います。
実際このところ、基礎学習のためにかなりの気合を入れ、無い金はたいて本も買い込んで学習しました。
(もっとスマートに身につける方もおられるでしょうが、自分は無理なんで。)
そんなわけで、このブログでは自分の備忘録を兼ねて、スタイルシートの覚書を残してゆきます。
それがもしも、どなたかの参考になるなら幸いです。
またもし、間違いやもっといい方法などがありましたら、ご教示いただけると幸いですm(_ _)m
なにぶん、常に学習の途上ですので、お手柔らかに。
(もちろん、できるだけ気をつけて、自分で確認したことを書こうと思います。
どこかで知らなかったこと、いいことを聞き知って、未実践の覚書を残すこともあるかもしれませんが。)
では、失礼します。。
登録:
投稿 (Atom)