下記のサイトのようなナビゲーションをつくりたいと考えています。
http://www.art-shinbi.com/
(メインのメニューにロールオーバーすると、サブメニューが透明度を持って表示される)
他に参考になりそうなサイトや、解説ページ、jQueryプラグイン?などがあれば教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No.2,No.3です。
CSS部分だけを少し手を加えてみました。IE8以降、および他のモダンブラウザは問題なく表示できるはずです。
・ロールオーバー
・サブメニューは半透明
[追加]
・右側のものは左にサブメニュー
・サブサブメニューがあるものは>が表示される。
・リキッドなのでスマホのような小さな画面でも横スクロールがいらない
・HTMLには極力デザイン要素がないようにしてあるので、将来木が変わってもデザインは全く変更できる。
このまま、コピーペーストして使えると思います。
・・・省略・・・・
_<style type="text/css">
<!--
html,body{
margin:0;padding:0;
background-color:gray;
}
h1,h2,p{margin:0 auto;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{
width:100%;min-width:480px;max-width:1100px;
margin:0 auto;
background-color:white;
}
div.header div.nav{
width:100%;z-index:100;margin-left:2%;
}
div.header div.nav:after{content:"";clear:left;display:block;}
div.header div.nav ul,div.header div.nav ul{
list-style:none;
margin:0;padding:0;
line-height:1.8em;
}
div.header div.nav ul li{
text-align:center;
position:relative;
}
div.header div.nav ul li{
width:16%;
float:left;
}
div.header div.nav ul li ul li{
width:100%;
float:none;
/*border:ridge 2px gray;*/
background-color:rgba(0,0,0,0.4);
/* for oldIE */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#64000000', endColorstr='#64000000');
}
div.header div.nav ul li ul{
position:absolute;
top:1.8em;
width:100%;
}
div.header div.nav ul li ul li ul{
position:absolute;top:0;left:99.5%;
}
div.header div.nav ul li+li+li+li+li ul li ul,
div.header div.nav ul li.backward ul li ul{
top:0;left:-99.5%;
}
div.header div.nav ul li ul li ul li{
left:-1px;top:-1px;
}
div.header div.nav ul li+li+li+li+li ul li ul li,
div.header div.nav ul li.backward ul li ul li/* for oldIE */{
left:1px;
}
div.header div.nav ul li ul{
display:none;
}
div.header div.nav ul li:hover ul{
display:block;
}
div.header div.nav ul li:hover ul li ul{
display:none;
}
div.header div.nav ul li:hover ul li:hover ul{
display:block;
}
div.header div.nav ul li:hover ul li:hover a:before{
content:">";
position:absolute;
left:-1.5em;top:0;
font-weight:bold;
color:yellow;
}
div.header div.nav ul li+li+li+li+li:hover ul li:hover a:before{content:"";}
div.header div.nav ul li+li+li+li+li:hover ul li:hover a:after{
content:"<";
position:absolute;
right:-1.5em;top:0;
font-weight:bold;
color:yellow;
}
div.nav ul li a{display:block;width:100%;height:100%;text-decoration:none;}
div.nav ul li ul li a:link{color:aqua;}
div.nav ul li ul li a:visited{color:blue;}
div.nav ul li ul li a:hover,div.nav ul li ul li a:focus{color:white;background-color:black;}
div.nav ul li ul li a:active{color:red;}
a[href="/"]{background-color:rgb(255,160,160);}
a[href="/1"]{background-color:rgb(255,255,80);}
a[href="/2"]{background-color:rgb(160,255,160);}
a[href="/3"]{background-color:rgb(80,255,255);}
a[href="/4"]{background-color:rgb(160,160,255);}
a[href="/5"]{background-color:rgb(255,80,255);}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<div class="nav">
___<ul>
____<li><a href="/">Home</a></li>
____<li><a href="/1">第一章</a>
_____<ul>
______<li><a href="/1/1">第一章(1)</a></li>
______<li><a href="/1/2">・・・【略】・・・</a></li>
_____</ul>
____</li>
____<li><a href="/2">第二章</a>
_____<ul>
______<li><a href="/2/1">第二章(1)</a></li>
______<li><a href="/2/2">・・・【略】・・・</a>
_______<ul>
________<li><a href="/2/2/1">第二章(2)-1</a></li>
_______</ul>
______</li>
______<li><a href="/2/3">第二章(3)</a></li>
_____</ul>
____</li>
____<li><a href="/3">第三章</a>
_____<ul>
______<li><a href="/3/1">第三章(1)</a></li>
______<li><a href="/3/2">第三章(2)</a></li>
_____</ul>
____</li>
____<li class="backward"><a href="/4">第四章</a><!-- これ以降はbackward -->
_____<ul>
______<li><a href="/4/1">第四章(1)</a>
_______<ul>
________<li><a href="/4/1/1">第四章(1)-1</a></li>
________<li><a href="/4/1/2">第四章(1)-2</a></li>
_______</ul>
______</li>
______<li><a href="/4/2">第四章(2)</a></li>
______<li><a href="/4/3">第四章(3)</a></li>
_____</ul>
____</li>
____<li class="backward"><a href="/5">終章</a></li>
___</ul>
__</div>
_</div>
以下、省略
詳細なCSSまでいただきまして、ありがとうございます。
いろいろなやり方をみて、現在制作しているサイトに一番適切な方法を模索しています。
大いに参考にさせていただきます。
No.3
- 回答日時:
HTMLには文書構造しか書いてないので、このように自在にデザインできますし、また将来どのようにデザインをしようとスタイルシートだけ書き直せばよいです。
[参考]
⇒ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
ご回答いただき、ありがとうございます。
完成されているものから、どの部分をHTMLで、どの部分をCSSで対応すればよいのか、というようなことが、読解できないようです。
きちんと学習したいと思います。
No.2
- 回答日時:
時間が取れたので、とりあえず語句簡単な例です。
★IE8以前に対応させるためには、rgba()の代替手段を使う必要があります。
★480px~1000pxリキッドですからスマホも幅広ディスプレイもOK
★Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html# )
のDATAでチェック済みのHTML4.01+CSS3(rgbaのみ)です。
★タブは_に置換してあるので戻すこと。
仕組みはとても簡単です。分からないところは仕様書を調べること。
<!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">
<!--
html,body{margin:0;padding:0;background-color:gray;}
div.header,div.section,div.footer{width:100%;min-width:480px;max-width:1000px;background-color:white;}
div.header div.nav{width:100%;z-index:100;}
div.header div.nav:after{content:"";clear:left;display:block;}
div.header div.nav ul,div.header div.nav ul{
list-style:none;
margin:0;padding:0;
line-height:1.8em;
}
div.header div.nav ul li{
text-align:center;
position:relative;
}
div.header div.nav ul li{
width:15%;
float:left;
}
div.header div.nav ul li ul li{
width:100%;
float:none;
border:ridge 2px gray;
background-color:rgba(0,0,0,0.6);
}
div.header div.nav ul li ul{
position:absolute;
top:1.6em;
width:100%;
}
div.header div.nav ul li ul li ul{
position:absolute;top:0;left:100%;
}
div.header div.nav ul li ul{
display:none;
}
div.header div.nav ul li:hover ul{
display:block;
}
div.header div.nav ul li:hover ul li ul li{
display:none;
}
div.header div.nav ul li:hover ul li:hover ul li{
display:block;
}
div.header div.nav ul li:hover ul li ul:before{
content:">";
position:absolute;
left:-1.5em;
}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<div class="nav">
___<ul>
____<li><a href="/">Home</a></li>
____<li><a href="/1">第一章</a>
_____<ul>
______<li><a href="/1/1">第一章(1)</a></li>
______<li><a href="/1/2">第一章(2)</a></li>
______<li><a href="/1/3">第一章(3)</a></li>
_____</ul>
____</li>
____<li><a href="/2">第二章</a>
_____<ul>
______<li><a href="/2/1">第二章(1)</a></li>
______<li><a href="/2/2">第二章(2)</a>
_______<ul>
________<li><a href="/2/2/1">第二章(2)-1</a></li>
________<li><a href="/2/2/2">第二章(2)-2</a></li>
________<li><a href="/2/2/3">第二章(2)-3</a></li>
_______</ul>
______</li>
______<li><a href="/2/3">第二章(3)</a></li>
_____</ul>
____</li>
____<li><a href="/3">第三章</a>
_____<ul>
______<li><a href="/3/1">第三章(1)</a></li>
______<li><a href="/3/2">第三章(2)</a></li>
______<li><a href="/3/3">第三章(3)</a></li>
_____</ul>
____</li>
____<li><a href="/4">第四章</a>
_____<ul>
______<li><a href="/4/1">第四章(1)</a></li>
______<li><a href="/4/2">第四章(2)</a></li>
______<li><a href="/4/3">第四章(3)</a></li>
_____</ul>
____</li>
____<li><a href="/5">終章</a></li>
___</ul>
__</div>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>ここに・・・・・・・・・・・・・・・・・・・・・・・本文記事が入る。</p>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-07-16</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
No.1
- 回答日時:
現在は単純にスタイルシートで指定するほうが良いでしょう。
rgba(0,0,0,0.5)に対応していれば単純ですし、IE7,IE8にも対応させる方法もあります。
HTMLは単純に
<div class="nav">
<ul>
<li><a href=""></a></li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
</ul>
</div>
HTML5でしたら
<nav>
<ul>
<li><a href=""></a></li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
<li><a href=""></a>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</li>
</ul>
</nav>
でしょう。
ご回答いただき、ありがとうございます。
知識が不足し過ぎているせいか、とても難易度が高そうな印象を持ってしまいますが、チャレンジしてみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooブログ ブログの記事を書きだしのみに表示したい 1 2022/06/25 19:11
- 筋トレ・加圧トレーニング 筋トレ系の動画やサイトを見ると、例えば腕の筋トレだと、「腕立て10回×3セット、アームカール10回× 1 2022/08/12 22:54
- WordPress(ワードプレス) Wordpress テーマを編集 の編集する枠が表示されない 2 2022/11/19 11:07
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- その他(IT・Webサービス) メニューについて 3 2022/07/12 16:06
- その他(就職・転職・働き方) マクドナルド面接して採用されましたが注文された物の 製造、レジなどではメニュー通りの名前表示されずア 4 2022/11/05 13:45
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- WordPress(ワードプレス) ワードプレス。プラグイン有効後に固定ページに表示させる方法を教えてください 1 2022/04/21 12:40
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- その他(IT・Webサービス) 無料ドメイン無料サーバでHP作りたい。 知り合いの飲食店のHPを作ってあげたいのですが、その店主には 3 2022/06/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントサイズの変更
-
戻ってきた時ツリーメニューが...
-
多階層ドロップダウンのスマホ...
-
pythonのDjangoでHTML内で変数...
-
jqueryのsortableで一部ソート...
-
文字と数字が混在する要素のsor...
-
jqueryアコーディオンのマウス...
-
jQueryセレクタ/複数要素の指...
-
プルダウンメニュー連動後の処...
-
ツリーメニューについて
-
jqueryプルダウンメニュー個別着色
-
javascript テキストエリアを1...
-
MAX関数を使ってからLEFT JOIN...
-
c++std::string型をTCHARに変換...
-
htmlの記述で link rel=styles...
-
JQueryで画像の上で文字を動かす
-
ロールオーバー効果にならない。
-
jspでcssが読み込めない
-
スライダーを実装した場合、ペ...
-
離れた場所にマウスオーバーで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
javascriptでEnterキーをtabキ...
-
クリックした<a>タグのみにClas...
-
チェックボックスに入っている...
-
【javascript で動的に a タグ...
-
jquery ドロップダウンメニュー...
-
「jQuery」アコーディオンメニ...
-
jQueryで、リンクURLの一致を確...
-
jQueryのeqで最後からn番目以降...
-
ネストされたチェックボックス...
-
javascriptで、クリックしたら...
-
onmouseoverの表示切り替えが上...
-
文字と数字が混在する要素のsor...
-
jQueryでネスト構造の<li>がク...
-
タブメニューを上下に設置
-
<li></li>の数を制限
-
jQuery多層式アコーディオンメ...
-
どの<li><a> が押されたか判別...
-
CSSとJavaScriptを使ってドロッ...
-
複数の画像をランダム(シャッ...
おすすめ情報