MT100本をAmazonで購入!

a要素が2行になった場合に背景下にテキストが来ないように。

05月01日(金)12:30

category
CSSテンプレート, ビジュアル・小技

目新しいネタは全く見つからないとか色々を言い訳に、月1書けばいい方になってる今日この頃・・・うぅ。
そういえば、web creatorsの5月号(たぶん)に参考にしているサイトでウチのサイトの名前があったとかどーとか聞いたんですがマジっすか!?読んでないーorz
あと、7月号(Vol.91)にちょろっと記事書いてるので良ければ買ってくだしあ。

サンプルのキャプチャ
タイトルがa要素になってますが、インライン要素でもいいです。
背景下にとかも書いてますが、リストとかでマーカーの変わりにbackgroundをa要素に指定した時なんかの場合です。

タイトルって難しいですねorz

さて、時間もあまりないので本題に。

---- こっから続き

以前に書いた、ユーザーの動き。にもあるように、リストのマーカー部分をクリックして、クリック出来ない的な人が居たりするってのもありますが、li要素にbackgroundの指定をしてpadding-leftとかで調整するとマーカー部分がクリック出来ないので、a要素に指定するって事があるかと。

でも、a要素に指定するとテキストが長かったり大きくしたりして複数行になると、マーカー部分の下にテキストが来てしまい、デザイン的にちょっと美しくありません。

そこで、それに対応するためには以下のような感じでやるといい具合です。

#main .menuList li a {
	display: inline-block;
	padding-left: 15px;
	background: url(../img/item/mark.gif) no-repeat 0em .4em;
}

display: inline-blockの指定をする感じです。
この方法でも2行になった場合、文字が終わってる空白部分もクリック出来てしまいますが、その辺は見なかったことに!

追記:
zoomいらなかったので、ちょこちょこ修正してます。すみません。
ちゃんと確認してから書かないとダメですねorz
なぜか必要な気がしてたんだけど、何でだろう・・・
各種SBMに追加
  • Hatenaブックマークに追加
  • del.icio.usに追加
  • POOKMARK Airlinesへ追加
  • livedoorクリップへ追加
  • ニフティクリップへ追加
  • newsingへ投稿
  • Redditへ追加

comment [4]

1 - nanto_vi さん

zoom: 1; は何のために指定しているのでしょうか?
display プロパティの値 inline-block と zoom プロパティとはいずれも IE 5.5 からのサポートなので、この場合 zoom プロパティの指定は不要だと思います。

URL|2009年5月 1日 15:49

2 - hokaccha さん

どもーおひさしぶりです。
これdisplay: blockじゃなくてinline-blockにしてる理由ってなんですか?
inline-blockだとFirefox2が対応してないから特に理由無ければblockにしたほうがいい気がしたりしなかったり。

URL|2009年5月 3日 23:21

3 - えど さん

zoom の指定は、多分
inline-block をブロック要素に指定したときに
IE でそれっぽく表示させるときのテクニックの勘違いではないかと。

IE は確か、インライン要素に対しては inline-block の指定が有効なくせに、
ブロック要素に対しては効かない、というよく分からない仕様があるので・・。

URL|2009年5月 3日 23:42

4 - hirasawa さん

>hokacchaさん
ども。
blockだと、極端に短いテキストでも横幅分クリック出来てしまうのがイヤだったので、その辺を回避しつつ~って部分す。

URL|2009年5月 6日 11:31

コメント投稿フォーム

post your comment

※コメントが認証されるまで、コメントは反映されません。ご了承くださいませ。

ブログパーツ

フィードメーター - CSS HappyLife

Feeds購読数

あわせて読みたい

change color or layout
  • デフォルトカラー
  • 薄い青
  • 青緑
  • 緑
  • 青
  • 薄い紫
  • ピンク
  • 黄金
  • 茶
  • 赤
  • 黒
  • 白
  • シルバー
  • 2カラム(カラーはデフォルト)
  • リキッドレイアウト(カラーはデフォルト)

ページトップへ