さまざまなjqueryまたは他の同様のパッケージを使用してカスタムDropDownメニューを作成する多くの簡単な方法があることは知っています。 これらを脇に置いて..私はPinterestの人々がどのように深みが変更されていない非常に反応の良いメニューを作成するために管理しているかについてより興味があります..そしてCSSのプロパティは変更されません(ええ.. dropmenuコンテナはcss "表示されていても表示されません!!!)Pinterest DropDownメニューの仕組みは?
これまでのところ、すべての表示要素はハードコードされており、ドロップダウンブロックはルールの下で基底CSSに隠されていました.HeaderContainer li ul {...;表示:なし; ...}
私の心を揺さぶっていることは、メニューが表示されてもこのプロパティが変更されないことです。私は、いくつかのjavascript関数が表示要素をキャンセルする要素にスタイル属性を追加することを期待していたでしょう:none;
誰も私にPinterestがこれをやっている方法を説明することはできますか? ここにそのナビがあります。
<ul id="Navigation">
<li><a onclick="Modal.show('Add'); return false" class="nav" href="#">Add<span class="PlusIcon"></span></a></li>
<li>
<a class="nav" href="/about/">About<span></span></a>
<ul>
<li><a href="/about/help/">Help</a></li>
<li><a href="/about/goodies/">Pin It Button</a></li>
<li class="beforeDivider"><a href="/about/copyright/">Copyright</a></li>
<li class="divider"><a href="/about/careers/">Careers</a></li>
<li><a href="/about/team/">Team</a></li>
<li><a href="http://blog.pinterest.com/">Blog</a></li>
</ul>
</li>
<li id="UserNav">
<a class="nav" href="/guacamoly/"><img alt="img" src="http://media-cdn.pinterest.com/avatars/guacamoly-72.jpg">Amol<span></span></a>
<ul>
<li><a href="/invites/">Invite Friends</a></li>
<li class="beforeDivider"><a href="/invites/facebook/">Find Friends</a></li>
<li class="divider"><a href="/guacamoly/">Boards</a></li>
<li><a href="/guacamoly/pins/">Pins</a></li>
<li><a href="/guacamoly/pins/?filter=likes">Likes</a></li>
<li class="divider"><a href="/settings/">Settings</a></li>
<li><a href="/logout/">Logout</a></li>
</ul>
</li>
</ul>
ありがとう..私は過去数日にわたってCSSとjavascript地獄にいて、非常に簡単なことを見落としました。うん..それは単純なCSSのメニューだけです...私は火かき棒とWebkitのデバッガーにすべての単一の事に頼らないことを覚えておく必要があります。 – guacamoly
ようこそ。私が言ったように、デバッガでは、あなたがあなたが点検した時にマウスの上に置かれた要素を残しているため、:ホバーCSSを表示しません。 – BiAiB
しかし、ここではトリックがあります:(1)ページ内にデバッガをドッキング(ポップアップなし)(2)右クリックするとコンテキストメニューが表示されますか?あなたの要素を右クリックするとコンテキストメニューの項目 'inspect element'がページ上ではなく、オーバーヘッドのデバッガになるようにウィンドウのサイズを変更することができます(トリッキーな部分)。 (3)正常に実行された場合、 "inspect element"をクリックすると、メニューが消え、マウスはページ上ではなくdebbuger上に置かれます。これによりマウスイベントが発生することはないため、ページ上でマウスを動かさない限り、ブラウザはその要素がまだホバリングされていると見なします。今すぐ自由に検査: – BiAiB