原文: CSS: Responsive Navigation Menu

翻訳: CSS: Responsive Navigation Menu

翻訳者: dwqs

以前、レスポンシブなドロップダウンメニューの作り方について書きました: Responsive Drop-down menu

以前、Aレスポンシブなモバイル ナビゲーションを作成する方法に関するチュートリアル。さて、JavaScript を使用せずに、HTML 5 の明確なセマンティック マークアップを使用して、レスポンシブ メニューを実装する新しいトリックを発見しました。

このメニューは、クリックして表示と非表示を切り替える必要がある前の記事で説明したメニューとは異なり、左、中央、右に揃えることができます。また、アクティブ/現在のメニュー項目を示すマーカーもあり、すべてのモバイル プラットフォームと IE を含むすべてのデスクトップ ブラウザーで動作します。

まず、デモの効果を見てみましょう: デモ

1. 目的

このチュートリアルの目的は、通常のリスト メニューを小さな表示ドロップダウン メニューに変える方法を示すことです。

このトリックは、以下のスクリーンショットのように、多くのリンクで構成されるナビゲーションで、すべてのボタンを 1 つのエレガントなドロップダウンに凝縮するのに非常に役立ちます。

2. HTML タグのナビゲーション

<nav class="nav">    <ul>        <li class="current"><a href="#">Portfolio</a></li>        <li><a href="#">Illustration</a></li>        <li><a href="#">Web Design</a></li>        <li><a href="#">Print Media</a></li>        <li><a href="#">Graphic Design</a></li>    </ul></nav>
ログイン後にコピー

3. CSS

/* nav */.nav {    position: relative;    margin: 20px 0;}.nav ul {    margin: 0;    padding: 0;}.nav li {    margin: 0 5px 10px 0;    padding: 0;    list-style: none;    display: inline-block;}.nav a {    padding: 3px 12px;    text-decoration: none;    color: #999;    line-height: 100%;}.nav a:hover {    color: #000;}.nav .current a {    background: #999;    color: #fff;    border-radius: 5px;}
ログイン後にコピー

4. 中央揃えと右揃え

前に述べたように、text-align プロパティの変更を使用できます。アライメント。

/* right nav */.nav.right ul {    text-align: right;}/* center nav */.nav.center ul {    text-align: center;}
ログイン後にコピー

5. IE サポート

IE 8 以前のバージョンでは、HTML5 の nav タグとメディア クエリはサポートされていません。 css3-mediaqueries.js (またはresponse.js) と html5shim.js を導入して、フォールバック互換性処理を提供します。 html5shim.js を使用したくない場合は、nav の代わりに div を使用できます

<!--[if lt IE 9]>    <script src="http://css3-mediaqueries-js.googlecode.com/files/css3-mediaqueries.js"></script>    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]?>
ログイン後にコピー

6. 応答性

次に、メディア クエリ メニューの応答性について説明します。レスポンシブ デザインに詳しくない場合は、レスポンシブ デザイン (後続翻訳) とメディア クエリに関する私の以前の記事を読んでください。

600 ピクセルのブレークポイントで、nav 要素を相対位置に設定して、ul 要素を絶対的に配置できるようにします。 display:none を使用すると、すべての li 要素が非表示になりますが、現在の li 要素はブロック要素として表示されたままになります。次に、マウスが nav 要素上にあるときに、display:block をすべての li 要素に追加して、現在の li 要素をマークします。アイコンを追加します。中央揃えと右揃えの場合は、配置された ul 要素の left 属性と right 属性を使用します。最終的なデモ効果をご覧ください:

@media screen and (max-width: 600px) {    .nav {        position: relative;        min-height: 40px;    }        .nav ul {        width: 180px;        padding: 5px 0;        position: absolute;        top: 0;        left: 0;        border: solid 1px #aaa;        background: #fff url(images/icon-menu.png) no-repeat 10px 11px;        border-radius: 5px;        box-shadow: 0 1px 2px rgba(0,0,0,.3);    }    .nav li {        display: none; /* hide all <li> items */        margin: 0;    }    .nav .current {        display: block; /* show only current <li> item */    }    .nav a {        display: block;        padding: 5px 5px 5px 32px;        text-align: left;    }    .nav .current a {        background: none;        color: #666;    }    /* on nav hover */    .nav ul:hover {        background-image: none;    }    .nav ul:hover li {        display: block;        margin: 0 0 5px;    }    .nav ul:hover .current {        background: url(images/icon-check.png) no-repeat 10px 7px;    }    /* right nav */    .nav.right ul {        left: auto;        right: 0;    }    /* center nav */    .nav.center ul {        left: 50%;        margin-left: -90px;    }    }
ログイン後にコピー

推奨される関連ブログ投稿:

10 のレスポンシブ デザイン ナビゲーション メニューのソース コード: http://www.shejidaren.com/10-sensitive-navigation-tutorials.html

CSS3 レスポンシブ メニューの作成: http://www.onextrapixel.com/2012/08/27/creating-a-css3-sensitive-menu/

Animenu レスポンシブ ナビゲーション デザイン チュートリアル: http://red-team-design.com /animenu-a-sensitive-dropdown-navigation-made-with-sass/

デモ: http://red-team-design.com/wp-content/uploads/2013/02/animenu-demo.html


初公開記事:


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

See all articles