搜尋
首頁web前端css教學web網頁導航練習

web網頁導航練習

Apr 04, 2017 am 11:20 AM
web網頁

我在做導航練習時,是查看​​那些已經成功的網站的原始碼進行練習,希望透過這些成功的程式碼可以學習到程式碼背後前端工程師們的程式思路。
在查看原始程式碼中我也學習了很多以前忽略的細節,覺得受益匪淺啊。

當我打開拉勾網的css檔案時,第一部分是用註解的方式標記了文件的時間,作者以及樣式表內部方便查看的某些元素的顏色及寬高。
第二部分是一些初始化的元素樣式,及初始化的公共類別。
第三部分是網頁各部分的樣式。

  • 我做的第一個導航練習是拉勾網的導航。

    web網頁導航練習

    web網頁導航練習

    #觀察與思考
    1、這個導覽需要寫幾層巢狀呢?
    2、要不要設定寬度,還是使用100%?
    3、如何居中啊?
    4、登入與註冊中間的那個細線怎麼實現。
    這些是我發現的問題,肯定隨著做的過程還會有問題。

    • 設定包圍元素樣式

        #header{
            background: #fafafa;
            height: 60px;
            min-width: 1024px;
            border-top: 3px solid #00B38A;
        }
        #header .wrapper{
            width: 1024px;
            margin: 0 auto;
        }

      1、最外圍#header設定了導航的高度,以及導航的背景色,增添了border-top的風格。
      2、內部.wrapper設定了寬度,外部#header設定了最小寬度,二者屬性值一樣。當然顯示器的寬度肯定大於1024px,這樣在加上在.wrapper裡進行margin: 0 auto;可以實現寬度為1024的內容居中。

    • 對導航元素進行基本佈局

      web網頁導航練習

      #web網頁導航練習

        .wrapper .logo{
            float: left;
            margin-top: 7px;
            width: 229px;
            height: 43px;
            background: url(image/logo.png) no-repeat;
        }
        .wrapper .navheader{
            float: left;
            margin-left: 30px;
        }
        .navheader li{
            float: left;
        }
        .wrapper .loginTop{
            float: right;
        }
        .loginTop li{
            float: left;
        }

      1、設定logo時,圖片原來的尺寸就是229×43,所以這樣設定並不會拉伸圖片。
      2、logo與導覽選單皆左浮動,登入註冊按鈕向右浮。

    • 對導航選單進行基本樣式修飾
      注意:當滑鼠經過a時,需要有一個3px的border-bottom,但是這個3px不能超過#header,需要做的就是讓li的高度為60px,讓a的高度為57px,這樣當滑鼠經過時,顯示底邊,不會突出。

      web網頁導航練習

      web網頁導航練習

        .navheader li{
            height: 60px;
            padding: 0px 20px;                
        }
        .navheader li a{
            display: block;
            line-height: 57px;
            text-decoration: none;
            color: #999;
            font-size: 20px;
        }
        .navheader li a:hover{
            color: #333;
            border-bottom: 3px solid #00B38A;
        }
        .loginTop li{
            height: 30px;
            line-height: 30px;
            color: #FFF;
            background: #00B38A;
        }
        .loginTop li a{
            display: block;
            line-height: 30px;
            padding: 0px 10px;
            color: #fff;
            text-decoration:none ;
        }
        .loginTop li a:hover{
            color: #CCEAE3;
        }

      1、a為行內元素需要將他轉換為區塊級元素,這樣才能夠設定高度。行內元素如果不設定為區塊級,直接設定行高,雖然也可以改變高度,並且佔據文檔流,但是行高所佔據的空白並不會是屬於a的。
      2、細心的可以發現,我為每一個a只設定了行高,並沒有設定高度,因為在IE6、7版本的瀏覽器,我發現未設定高度時,我發現a並沒有具備真正的區塊級元素具備的那樣,寬度充斥父元素。但是設定了高度後,發現他們一下子就具備了塊級元素的特性。但是我們不想讓他那樣,所以我就不寫高度了。這樣效果均相容。如果寫了呢,也很簡單只要為a補上一個float<a href="http://www.php.cn/wiki/974.html" target="_blank">:left</a>
      #3、ie6,並不支援png格式的圖片。 。 。 。 。

    • 其實乍一看,似乎具備了長相,但是我發現,我滑鼠經過選單,選單的變化是一個漸變的,而不是突然,。

        .navheader a,.loginTop a{
            transition: all .2s ease-in-out ;
            -webkit-transition: all .2s ease-in-out ;
            -moz-transition: all .2s ease-in-out ;
            -o-transition: all .2s ease-in-out ;
        }

      transition這個屬性可以設置,當某個元素的某個樣式改變時,可以進行漸變的變化。他可以實現更精彩的畫面,需要學習html5的相關知識。會繼續學習的。

    • *{<a href="http://www.php.cn/wiki/938.html" target="_blank">outline</a>:none;}設定所有元素的輪廓預設為無。

    • body,p,a,span,ul,li{margin: 0;padding: 0;}設定所有元素的內外邊距為0。

    • ul.<a href="http://www.php.cn/wiki/1081.html" target="_blank">reset</a>{list-style:none;}去除掉列表的默认样式

    • 首先分出body与footer两个部分。这里面还涉及相应的height与min-height设置,但是这些又涉及一些兼容的问题,所以我就先不写了,回头再另写一篇。

    • 最外层嵌套使用id='header'标记,方便寻找里面子元素,里面就可以用class啦,.wrapper可以用作包围元素做公共类使用。class="navheader"class="loginTop"可以作为查找元素使用。

    • ul>li>a,一般的导航基本上都是这样的结构。

    • ul前的a可以以背景为图片,做链接。

    • 第一步:设计出html结构,并为元素设置相应的id与类

          <p>
              </p><p>
                  </p><p>
                      <a></a>
                      </p>
                            
      • 首页
      •                     
      • 论坛
      •                     
      • 我的简历
      •                     
      • 发布职位
      •                 
                      
                            
      • 登录
      •                     
      • |
      •                     
      • 注册
      •                 
                                                 

          

    • 对网页进行全局的css设置。
      我先写下做导航时我用到的

    • 对导航进行css设置

    以上是web網頁導航練習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

    最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

    自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

    羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

    移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

    我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

    新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

    許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

    將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

    頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

    域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

    關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

    檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

    大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

    Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

    Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解鎖Myrise中的所有內容
    4 週前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    mPDF

    mPDF

    mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript開發工具

    VSCode Windows 64位元 下載

    VSCode Windows 64位元 下載

    微軟推出的免費、功能強大的一款IDE編輯器

    EditPlus 中文破解版

    EditPlus 中文破解版

    體積小,語法高亮,不支援程式碼提示功能

    MantisBT

    MantisBT

    Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。