主頁 > 企業開發 > 典型電商網站的站點導航的布局結構實作,及運用三種方式實作下拉效果

典型電商網站的站點導航的布局結構實作,及運用三種方式實作下拉效果

2020-09-18 08:01:08 企業開發

由于jquery2.0及以下不再支持IE6/7/8,因此選擇jquery1.x版本中較新的一個

推薦一個各種插件URL地址的公共庫:https://www.bootcdn.cn/

 

 

CDN加載jquery的優點:

1、減輕服務器壓力

2、速度快

3、可以快取

缺點:

不穩定(取決于別人的服務器,因此需要做防范措施)

措施:

短路操作判斷cdn方式是否加載成功

    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script>
        //短路操作,如果cdn的jquery沒有參考成功,則會執行后面一句,引入本地jquery
        //括號中的<\/script>標簽會被當做當前標簽的結束標簽,因此需要轉義
        window.jQuery || document.write('<script src="https://www.cnblogs.com/chenyingying0/p/js/jquery.js"><\/script>');
    </script>

base.css 是一般通用的樣式重置代碼,直接引入即可

/*css reset*/
    /*清除內外邊距*/
    body, h1, h2, h3, h4, h5, h6, p, hr, /*結構元素*/
    ul, ol, li, dl, dt, dd, /*串列元素*/
    form, fieldset, legend, input, button, select, textarea, /*表單元素*/
    th, td, /*表格元素*/
    pre {
        padding: 0;
        margin: 0;
    }

    /*重置默認樣式*/
    body, button, input, select, textarea {
        /*font: 12px/1 微軟雅黑, Tahoma, Helvetica, Arial, 宋體, sans-serif;*/
        color: #333;
        font: 12px/1 "Microsoft YaHei", Tahoma, Helvetica, Arial, SimSun, sans-serif;
    }
    h1, h2, h3, h4, h5, h6 {
        font-size: 100%;
        font-weight: normal;
    }
    em, i {
        font-style: normal;
    }

    a {
        text-decoration: none;
    }
    li {
        list-style-type: none;
        vertical-align: top;
    }
    img {
        border: none;
        /*display: block;*/
        vertical-align: top;
    }
    textarea {
        overflow: auto;
        resize: none;
    }
    table {
        border-spacing: 0;
        border-collapse: collapse;
    }

/*常用公共樣式*/
    .fl {
        float: left;
        display: inline;
    }
    .fr {
        float: right;
        display: inline;
    }
    .cf:before,
    .cf:after {
        content: " ";
        display: table;
        
    }
    .cf:after {
        clear: both;
    }
    .cf {
        *zoom: 1;
    }

查看PSD設計圖:

資訊面板(選框工具框選目標查看尺寸)

 

 

歷史記錄面板

圖層面板

視圖-標尺


 

站點導航撰寫

 推薦一個插件:Pixel Perfect

能夠匯入網頁設計圖,可以改變透明度,與撰寫的頁面進行實時對比

工具介紹:

 

 下載網址:https://www.chromedownloads.net/extensions/938.html

注意如果.crx的插件谷歌瀏覽器無法安裝,就改為.rar或者.zip,然后在擴展程式中安裝

 

 然后在打開的網頁中,右上角,添加設計圖

 

 可以調整透明度什么的,

滑鼠滾輪左右滾動也可以實時調整透明度

 

 

我的目前是沒辦法重合了,因此筆記本設定了顯示150%,emmm……

index.html

<!DOCTYPE html>
<html lang="zh-CN"><!-- 設定簡體中文 -->
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <link rel="stylesheet" href="css/base.css">
    <link rel="stylesheet" href="css/index.css">
    <link rel="stylesheet" href="css/common.css">
    <!-- css一般放在DOM加載前,防止DOM裸奔 -->
</head>
<body>
    <!-- 導航 -->
    <div class="nav-site">
        <div class="container">
            <ul class="fl">
                <li class="fl"><a href="javascript:;" class="nav-site-login">親,請登錄</a></li>
                <li class="fl"><a href="javascript:;" class="nav-site-reg link">免費注冊</a></li>
                <li class="fl"><a href="#" class="nav-site-shop link">手機逛慕淘</a></li>
            </ul>
            <ul class="fr">
                <li class="fl dropdown">
                    <a href="javascript:;" class="dropdown-toggle link">我的慕淘<i class="dropdown-arrow"></i></a>
                    <ul class="dropdown-list dropdown-left">
                        <li class="dropdown-item"><a href="#">已買到的寶貝</a></li>
                        <li class="dropdown-item"><a href="#">我的足跡</a></li>
                    </ul>
                </li>
                <li class="fl dropdown">
                    <a href="javascript:;" class="dropdown-toggle link">收藏夾<i class="dropdown-arrow"></i></a>
                    <ul class="dropdown-list dropdown-left">
                        <li class="dropdown-item"><a href="#">收藏的寶貝</a></li>
                        <li class="dropdown-item"><a href="#">收藏的店鋪</a></li>
                    </ul>
                </li>
                <li class="fl dropdown">
                    <a href="javascript:;" class="nav-site-cat link">商品分類</i></a>
                </li>
                <li class="fl dropdown">
                    <a href="javascript:;" class="dropdown-toggle link">賣家中心<i class="dropdown-arrow"></i></a>
                    <ul class="dropdown-list dropdown-left">
                        <li class="dropdown-item"><a href="#">免費開店</a></li>
                        <li class="dropdown-item"><a href="#">已賣出的寶貝</a></li>
                        <li class="dropdown-item"><a href="#">出售中的寶貝</a></li>
                        <li class="dropdown-item"><a href="#">賣家服務市場</a></li>
                        <li class="dropdown-item"><a href="#">賣家培訓中心</a></li>
                        <li class="dropdown-item"><a href="#">體驗中心</a></li>
                    </ul>
                </li>
                <li class="nav-site-service fl dropdown">
                    <a href="javascript:;" class="dropdown-toggle link">聯系客服<i class="dropdown-arrow"></i></a>
                    <ul class="dropdown-list dropdown-right">
                        <li class="dropdown-item"><a href="#">已買到的寶貝</a></li>
                        <li class="dropdown-item"><a href="#">我的足跡</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script>
        //短路操作,如果cdn的jquery沒有參考成功,則會執行后面一句,引入本地jquery
        //括號中的<\/script>標簽會被當做當前標簽的結束標簽,因此需要轉義
        window.jQuery || document.write('<script src="https://www.cnblogs.com/chenyingying0/p/js/jquery.js"><\/script>');
    </script>
    <script src="js/index.js"></script>;
</body>
</html>

common.css 公共樣式

/*公共樣式 */
.container{
    width:1200px;
    margin:0 auto;
}
.link{
    color:#4d555d;
}
.link:hover{
    color:#f01414;
}
.fl{
    float:left;
}
.fr{
    float:right;
}

index.css

/*nav-site */
.nav-site{
    width:100%;
    background-color: #f3f5f7;
}
.nav-site .container{
    height:44px;
    line-height: 44px;
    border-bottom:1px solid #cdd0d4;
}
.nav-site-login{
    color:#f01414;
    margin-left:15px;
}
.nav-site-reg{
    margin-left:10px;
}
.nav-site-shop{
    margin-left:10px;
}
.dropdown{

}
.dropdown-toggle{
    display: block;
    padding:0 16px 0 12px;
    border-right:1px solid #f3f5f7;
    border-left:1px solid #f3f5f7;
    position: relative;
    z-index:2;
}
.dropdown-arrow{
    display: inline-block;
    width:8px;
    height:6px;
    background:url(../img/dropdown-arrow.png) left center no-repeat;
    margin-left:8px;
    vertical-align: middle;
}
.dropdown-list{
    display: none;
    border:1px solid #cdd0d4;
    background-color: #fff;
    position: absolute;
    z-index:1;
    top:43px;
}
.dropdown-left{

}
.dropdown-item{
    height:30px;
    line-height:30px;
    padding:0 12px;
}
.dropdown-item:hover{
    background-color: #f3f5f7;
}
.nav-site-cat{
    margin:0 10px;
}
.nav-site-service{
    margin-right:15px;
}
/*# sourceMappingURL=index.css.map */

/*# sourceMappingURL=index.css.map */

index.js

$(".dropdown-toggle").hover(function(){
    //滑鼠移入
    var ui=$(this);
    //背景色和邊框改變
    ui.css({
        "background-color":"#fff",
        "border-color":"#cdd0d4"
    });
    //箭頭切換
    ui.find(".dropdown-arrow").css({
        "background-image":"url(img/dropdown-arrow-active.png)"
    })
    //下拉串列顯示
    ui.next(".dropdown-list").show();
},function(){
    //滑鼠移出
    var ui=$(this);
    //背景色和邊框改變
    ui.css({
        "background-color":"",
        "border-color":"#f3f5f7"
    });
    //箭頭切換
    ui.find(".dropdown-arrow").css({
        "background-image":"url(img/dropdown-arrow.png)"
    })
    //下拉串列隱藏
    ui.next(".dropdown-list").hide();
});

在js中直接修改css,存在瀏覽器的重繪(背景色等,元素自身)以及回流(寬高等,元素自身及周圍元素),造成性能問題

修改:在js中添加或洗掉類,將樣式寫在css中

index.css中新增:

/*滑鼠懸停樣式*/
.dropdown-toggle:hover{
    background-color:#fff;
    border-color:#cdd0d4;
}
.dropdown-active .dropdown-arrow{
    background-image:url(../img/dropdown-arrow-active.png);
}
.dropdown-active+.dropdown-list{
    display: block;
}

index.js代碼修改為:

$(".dropdown-toggle").hover(function(){
    //滑鼠移入
    $(this).addClass("dropdown-active");
},function(){
    //滑鼠移出
    $(this).removeClass("dropdown-active");
});

還有更簡單的修改方式,全部使用:hover偽類來完成,不使用js

只需要在index.css中新增:

/*滑鼠懸停樣式*/
.dropdown:hover .dropdown-toggle{
    background-color:#fff;
    border-color:#cdd0d4;
}
.dropdown:hover .dropdown-arrow{
    background-image:url(../img/dropdown-arrow-active.png);
}
.dropdown:hover .dropdown-list{
    display: block;
}

不過這種寫法不兼容 IE6 ,因為 IE6 只支持 a 標簽的 hover 偽類

效果圖

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/72076.html

標籤:Html/Css

上一篇:flex布局小結

下一篇:11種常用css樣式之開篇文本字體學習

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more