- ベストアンサー
CSSで各ページのメニューボタンをアクティブにしておく方法
http://www.family.co.jp/index.htmlのヘッダーメニュー部分のように 各ページのメニューがアクティブなままになるものをCSSでやりたいのですが どのように作ったらよろしいでしょうか。 メニューはアクティブ/非アクティブの物2つの画像でやろうと考えています。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
よく使う方法ですが・・・、自動的にしてるわけじゃなくて。 CSSの継承(カスケード)をそのまま使うだけです。 たとえば、トップページでは、 <link rel="stylesheet" type="text/css" media="screen" href="/css/General.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/css/content.css" /> /ABC配下のページなら <link rel="stylesheet" type="text/css" media="screen" href="/css/General.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/css/content.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/css/ABC.css" /> /CDE配下なら <link rel="stylesheet" type="text/css" media="screen" href="/css/General.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/css/content.css" /> <link rel="stylesheet" type="text/css" media="screen" href="/css/CDE.css" /> 要は、あるテーマないしディレクトリなどで、必要な部分のみ上書きすればよい。 上の例の場合、 サイト全体で共通なのは、General.css p{ text-indent:1em;}とか、メニューの配置とか、 記事一般は、content.cssにて mainArticle{ width:640px;}とか・・ そして、そのグループでは、CDE.cssにて ul.Link a.here{ background:****;}とか
その他の回答 (4)
- mohumohu23
- ベストアンサー率37% (438/1176)
上にもあるようなアプローチいろいろな手法があるんですが。 このファミリーマートのページでは、ヘッダーの一塊のグループを <DIV id=HEADER>でひとつくくってますが。 たとえばファミマTカードであったばあい。 そのDIVにさらにクラス指定し class=headerFt これをつけ判別することで、その配下の特定部分に違ったプロパティーが反映されるようにしてます。 で、このボタンの反転は、ちょっと調べてみますと3種の違った画像がたてにならんだ1枚の絵です。 これをメニューボタンバックグラウンド表示位置をマイナス方向にいじることで1枚の絵からそれぞれのアップ画像を見せるようにしています。 http://www.family.co.jp/common/images/header_menu_navi_05.gif
- mohumohu23
- ベストアンサー率37% (438/1176)
その画像二つで処理するとなると、このファミマの方式とは違うけど。それでいいの?
- singlecat
- ベストアンサー率33% (139/418)
ここまでできたら、後は簡単な応用なんですが.... 選択されたメニューに識別のIDを付け、背景画像を返れば良いと....
- singlecat
- ベストアンサー率33% (139/418)
▼このサイト参考にしてください。
- 参考URL:
- http://www.cssmenumaker.com/
補足
ありがとうございます。 これだとメニューのオン/オフだけで各ページと連動してないです。。。 ファミマのWEBのように商品情報に入ったら商品情報のボタンがハイライト のままにしておく方法が知りたいのです。
お礼
みなさんへ Jqueryを使用するとこにいたしました。 いろいろ教えていただき参考になりました。 ありがとうございました。