アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんんちは。
cssでホームページ作成中なのですが、独習では解決できない点があり
ご教授いただけたら幸いです!

下記サイトのテンプレートをもとに、カーソルを合わせるとドロップダウンで
階層メニューが表示されるサイドメニューをつくりました。
http://www.webdlab.com/template/dropdownmenu2/

カーソルオンで反転+階層メニューの表示はクリアできたのですが。。

各ページを開いたときに、現在表示されているページにあたる箇所は、
カーソルが離れても文字を反転させたまま、またその階層メニューも常に表示の状態にしたいのです。

テンプレートCSSにうまく加筆できればと思ったのですが、うまくいきません。

何か方法はないでしょうか。

どうぞよろしくお願いします!

A 回答 (3件)

リンク先のHTMLもCSSもあまりに酷いので・・


javascriptで、カレントディレクトリ、カレントファイルを取得してHTMLを書き直します。
カレントディレクトリにはclass名をcurentDir,ファイルにはcurentFileを追加します。
ウェブ標準でのHTMLとCSS・・どちらもとってもシンプルです。--ウェブ標準ですから当然ですが・・
★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint. … )
★The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input )
★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
で検証済み。
下記ソースは、タブインデントを__に置換してアルルので戻して。
CSSは、下記を参考に「ウェブ標準なのでCSSもわかりやすいはず」
カスケーディングスタイルシートですから、カスケーディング機能を使うべきです。
一切無駄なclass名やidは使われていませんからHTMLもCSSも簡単でメンテナンスも容易

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
__<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
__<title>サンプル</title>
__<meta name="author" content="ORUKA1951">
__<meta http-equiv="Content-Style-Type" content="text/css">
__<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
__<link rel="START" href="../index.html">
__<style type="text/css">
<!--
/* div.header内のdiv.nav内のol,liについて */
div.header div.nav ol,
div.header div.nav li{
__display:block;list-style:none;
__padding:0;margin:0;
__line-height:30px;
}
/* 枠線をつける */
div.header div.nav li{
__border:solid 1px blue;
}
div.header div.nav ol{
__width:200px;
}
/* 下位のliは枠線を消す */
div.header div.nav ol li ol li{
__border:none;
}
div.header div.nav li a{
__display:block;margin:0;
__background-color:white;
__padding-left:0.5em;
__text-decoration:none;
/* 子孫セレクタで下位のliを消す */
/* 詳細度[25]
div.header div.nav ol li ol{
__width:178px;
__display:none;
__margin-left:20px;
}
/* liにhoverするとdisplayを変える */
/* 詳細度[35]が高いので優先 */
div.header div.nav ol li:hover ol,
div.header div.nav ol li.curentDir ol{
__display:block;
}
}/* おまけ */
div.header div.nav li.curentFile a{color:red;}
div.header div.nav li.curentFile a:after{content:" (現在地)";}
div.header div.nav li a:visited{background-color:gray;}
div.header div.nav li a:hover,
div.header div.nav li a:focus{background-color:green;}
div.header div.nav li a:active{background-color:lime;}
div.header div.nav li a:visited:after{content:" (済み)";}
-->
__</style>
</head>
<body>
__<div class="header">
____<h1>サンプル</h1>
____<div class="nav">
______<ol>
________<li><a href="./abc/index.html">あいうえお</a>
__________<ol>
____________<li><a href="./abc/efg.html">かきくけこ</a></li>
____________<li><a href="./abc/hij_2.html">さしすせそ</a></li>
____________<li><a href="./abc/klmn.html">たちつてと</a></li>
__________</ol>
________</li>
________<li class="curentDir"><a href="./efg/index.html">なにぬねの</a>
__________<ol>
____________<li><a href="./efg/abc.html">はひふへほ</a></li>
____________<li class="curentFile"><a href="./efg/efg.html">まみむめも</a></li>
__________</ol>
________</li>
________<li><a href="./hij/index.html">やゆよ</a>
__________<ol>
____________<li><a href="./hij/abc.html">らりるれろ</a></li>
____________<li><a href="./hij/efg.html">わゐうゑを</a></li>
__________</ol>
________</li>
______</ol>
____</div>
__</div>
</body>
</html>
    • good
    • 0

各ページで開かれているリストは異なるものですから、まったく同じソースでは無理です。


javascriptだとカレントを取得してHTMLを書き直すことになります。
CSSなら、各リストを変えておきます。

<ol>
__<li><a href=""></a>
____<ol>
______<li><a href=""></a></li>
______<li><a href=""></a></li>
______<li><a href=""></a></li>
____</ol></li>
__</li>
__<li class="curentDir"><a href=""></a>
____<ol>
______<li><a href=""></a></li>
______<li class="curentFile"><a href=""></a></li>
____</ol></li>
__</li>
__<li><a href=""></a>
____<ol>
______<li><a href=""></a></li>
______<li><a href=""></a></li>
____</ol>
__</li>
</ol>

あとは通常の:hover,:visited,:active,:focusなどの擬似クラスで・・
    • good
    • 0

ドロップダウンメニュー(縦)を見てやりました。


あっていますかね?w

まず
>カーソルが離れても文字を反転させたまま

各HTMLページのaタグを外し
CSSに

#ddR1 li {
display: block;
width: 100px;
height: 25px;
text-align: center;
background: url(img/gnavi_bg_on.gif) no-repeat top left;
}

があるので

line-height: 2.1;
color: #f0f0f0;

を追加


>またその階層メニューも常に表示の状態にしたいのです。

すいませんがこちらのこちらのやり方はわかりません…
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!