こんんちは。
cssでホームページ作成中なのですが、独習では解決できない点があり
ご教授いただけたら幸いです!
下記サイトのテンプレートをもとに、カーソルを合わせるとドロップダウンで
階層メニューが表示されるサイドメニューをつくりました。
http://www.webdlab.com/template/dropdownmenu2/
カーソルオンで反転+階層メニューの表示はクリアできたのですが。。
各ページを開いたときに、現在表示されているページにあたる箇所は、
カーソルが離れても文字を反転させたまま、またその階層メニューも常に表示の状態にしたいのです。
テンプレートCSSにうまく加筆できればと思ったのですが、うまくいきません。
何か方法はないでしょうか。
どうぞよろしくお願いします!
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.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>
No.2
- 回答日時:
各ページで開かれているリストは異なるものですから、まったく同じソースでは無理です。
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などの擬似クラスで・・
No.1
- 回答日時:
ドロップダウンメニュー(縦)を見てやりました。
あっていますかね?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;
を追加
>またその階層メニューも常に表示の状態にしたいのです。
すいませんがこちらのこちらのやり方はわかりません…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- WordPress(ワードプレス) Wordpress テーマを編集 の編集する枠が表示されない 2 2022/11/19 11:07
- gooブログ ブログの記事を書きだしのみに表示したい 1 2022/06/25 19:11
- HTML・CSS リストの並べ替え 1 2022/09/13 15:27
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- Chrome(クローム) 最近のGoogle Chromeのデータ読み込みの遅延やエラーって頻発しますか? 2 2023/01/06 22:12
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<!DOCTYPE html>あってますか?...
-
<!DOCTYPE html>あってますか?...
-
htmlの文字が縦書きになる
-
<!DOCTYPE html>あってますか?↑
-
WEBページを強制的に横画面で見...
-
静止画画像をクリックすると音...
-
ワードプレスで太字が反映され...
-
リンクバナーのHTMLタグ。画像...
-
goo は、放置?
-
HPレイアウトが同じページのヘ...
-
テーブルの行を折りたたみたい...
-
パソコンのマイク機能
-
HTMLで表をつくったのですがウ...
-
HTMLタグのあるCSVファイルを利...
-
テーブルタグのセルの幅の一部...
-
Duolingo のソースコードの名前...
-
Webページのリンクの貼り方を教...
-
1つの「ホームページビルダー2...
-
テーブルのセルデータを自動改...
-
コードを書いて下さい( ; ; )...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
テーブルのセルデータを自動改...
-
goo は、放置?
-
htmlソース文の 各行 改行位置...
-
1つの「ホームページビルダー2...
-
HPレイアウトが同じページのヘ...
-
CSS、Bootstrapについて contai...
-
CSSについて教えてください。 ...
-
静止画画像をクリックすると音...
-
、URL化させるにはどうしたらい...
-
テーブルの行を折りたたみたい...
-
css初心者 フレックスボックス...
-
WEBページを強制的に横画面で見...
-
Webページのリンクの貼り方を教...
-
Duolingo のソースコードの名前...
-
メモ帳の段落の揃え方
-
スマホ(android)のタッチパネ...
-
コードを書いて下さい( ; ; )...
-
HTMLで画像をポップアップで表...
-
角丸画像の背景色を透明にした...
おすすめ情報