通常の状態:
ホバー状態:
皆さん、これは些細なことかもしれませんが、この「些細さ」の源を見つけることができませんでした。画像リンクからわかるように、そこにドロップダウンメニューを作成しようとしました。悲しいことに、トリガーをドロップダウン メニューに合わせると、ドロップダウンではなく、メニューが水平に表示され、メイン メニューに統合されます。
これは私の単純化された html です (私はホーム、アバウト、およびベンチマークのみを使用します。アバウトのドロップダウン トリガー)
<div class="header">
<div id="navbar">
<ul id="nav" >
<li class="rhombus"><a class="Home" href="#"><span><p>Home</p></span></a></li>
<li class="rhombus"><a class="About" href="#"><span><p>About</p></span></a>
<ul>
<li><a class="History" href="#"><span><p>History</p></span></a></li>
<li><a class="Board" href="#"><span><p>Board</p></span></a></li>
<li><a class="Vision" href="#"><span><p>Vision & Mission</p></span></a></li>
</ul>
</li>
<li class="rhombus"><a class="Benchmark" href="#"><span><p>Benchmark & Market</p></span></a></li>
</ul>
</div></div>
これは単純化されたCSSです
/* centering container */
.outerwrap {width:100%; height:100%; margin:0px; padding:0px; display:table; position:absolute; top:0px; left:0px;}
.innerwrap {margin:0px; padding:0px; display:table-cell; vertical-align:middle;}
/* header */
.header {height:27.82738095238095%; width:100%; position:absolute; top:0%; left:0%; z-index:100;}
/* navigation bar */
#navbar {position:relative; top:60.2%; left:5%; z-index:100;}
#nav, #nav ul{margin:0px; padding:0px; list-style-type:none; list-style-position:outside;}
#nav a:link, #nav a:active, #nav a:visited{height:31px; display:block; text-decoration:none; background:yellow}
#nav a:hover{background:red;}
#nav li ul {position:relative; display:none;}
#nav li ul li a:link, #nav li ul li a:visited {height:31px; background:green;}
#nav li ul li a:hover {background:blue}
.History{width:50px;float:left;}
.Board{width:50px;float:left;}
.Vision{width:50px;float:left;}
li.rhombus
{
position: relative;
transform: skew(-35deg);
-webkit-transform: skew(-35deg);
-moz-transform: skew(-35deg);
-ms-transform: skew(-35deg);
-o-transform: skew(-35deg);
width:96.1%;
}
a.Home {width:50px;float:left;}
a.About {width:50px;float:left;}
a.Benchmark {width:50px;float:left;}
li.rhombus span
{
transform: skew(35deg);
-webkit-transform: skew(35deg);
-moz-transform: skew(35deg);
-ms-transform: skew(35deg);
-o-transform: skew(35deg);
display:block;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{display:none;}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{display:block;}
.test{}
<a></a>
ドロップダウン メニューのプロパティの 1 つとして "float:left" を使用しているからですか? そのプロパティを削除すると、次のようになります。
そして、私のドロップダウンには何か奇妙なことがあります..クラス、ID、または何も付けずに、css に {CSS ブロック} が必要です。
.unusedclass{CSS}
.unusedid{CSS}
{}
これらのいずれかを指定しないと、「ドロップダウン」は移動せず、代わりにホバー状態が表示されます。(画像 2)。
ここに簡略化されたフィドルがあります: fiddle
助けてください