<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ? ? ? ?春節將至,先祝大家新年快樂。我在這段時間內將會抽出時間由淺入深的發表幾篇CSS3、HTML5最新的技術文章,涉及原理、實現、應用的幾個層面,代表了國外HTML5最新發展的趨勢,希望能給大家帶來新的啟迪。 ??????? 下面的這篇文章非常簡單,是響應式設計的一個具體實現。我希望能帶給剛入門的朋友一些思路和幫助。 ??????? ……………………………………?…………………………………… ??????? 關于使用響應式設計來創建一個手機導航欄,之前我曾經寫過一個[教程](http://webdesignerwall.com/tutorials/mobile-navigation-design-tutorial)。現在我發現了一種新的方式,可以不使用JavaScript來實現響應式菜單。它完全使用整潔和語義化的HTML5標記,而且菜單可以居左、居中和居右對齊。不像前面一個教程中需要點擊來展開,這個菜單可以在hover時展開,對用戶更為友好。它也包含一個指示器來顯示當前激活的菜單項。這種方式可以工作于所有的移動和桌面瀏覽器中,甚至包括IE。 [**![](https://box.kancloud.cn/2016-08-09_57a9aa583578a.jpg) 演示**](http://webdesignerwall.com/demo/responsive-menu/) ??????? **目標** ? ? ???這個教程的目標是向你展示如何把一個傳統的列表菜單在更小的屏幕上轉換為可伸展的菜單。 ![](https://box.kancloud.cn/2016-08-09_57a9aa584d735.jpg) [](http://webdesignerwall.com/demo/responsive-menu/) ? ? ???這種方式對于下圖這種有很多鏈接的導航來說非常有用。你可以把所有的按鈕轉換為一個優雅的伸展條。 ![](https://box.kancloud.cn/2016-08-09_57a9aa5864902.jpg) ? ? ???**HTML代碼** ? ? ???下面是導航的HTML代碼。<nav>標簽用于創建伸展條,包含絕對定位的css屬性。我會在稍后解釋這一點,current類表示當前激活的菜單鏈接。 ~~~ <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> ~~~ ? ? ? ?**CSS** ? ? ???導航的CSS樣式(桌面視圖)非常簡單,所以我不打算介紹細節。請注意我為導航的<li>元素指定了display:inline-block來取代float:left。這樣我們可以通過為<ul>元素設定text-align屬性來控制菜單按鈕居左、居中或者居右對齊。 ~~~ /* 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; } ~~~ ? ? ???**居中與居右對齊** ? ? ???像上面所提到的一樣,你可以使用text-align屬性更改按鈕的對其方式。 ~~~ /* right nav */ .nav.right ul { text-align: right; } /* center nav */ .nav.center ul { text-align: center; } ~~~ ? ? ???**IE支持** ? ? ???IE8或更早的版本不支持HTML5的<nav>標簽和媒介查詢(MediaQuery)。我們需要引用css3-mediaqueries.js(或者respond.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]--> ~~~ ? ? ???**響應式設計** ? ? ???現在是最有意思的部分-使用媒介查詢創建響應式菜單。如果你對響應式設計不了解,可以看看我之前關于[響應式設計](http://webdesignerwall.com/tutorials/responsive-design-in-3-steps)和[媒介查詢](http://webdesignerwall.com/tutorials/css3-media-queries)的文章。 ? ? ???在600像素的節點上,我將導航元素設置為相對定位,所以我能把頂部的`<ul>`菜單列表樣式替換為絕對定位。通過設定display:none我隱藏所有的`<li>`元素,但是保留了當前激活的`<li>`項。然后當鼠標hover在導航欄上時,我將所有的`<li>`元素設置為display:block(這會產生伸展列表)。我添加了一個勾選圖標在當前欄目上來展示激活狀態。對于居中和居右對齊的菜單,使用position的left和right屬性來定位`<ul>`列表。可以根據[演示](http://webdesignerwall.com/demo/responsive-menu/)來查看最終結果。 ~~~ @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 10px11px; 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; } } ~~~ ? ? ? ?譯自:[http://webdesignerwall.com/tutorials/css-responsive-navigation-menu](http://webdesignerwall.com/tutorials/css-responsive-navigation-menu) ? ? ? ?轉載請注明:來自蔣宇捷的博客(http://blog.csdn.net/hfahe) ??????? 相關文章:《[用3個步驟實現響應式網頁設計](http://blog.csdn.net/hfahe/article/details/7082718)》 ??????? 《[HTML5圖像適配介紹](http://blog.csdn.net/hfahe/article/details/7707633)》 ??????? 《[用非響應式設計構建跨端WebApp](http://blog.csdn.net/hfahe/article/details/7581789)》
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看