亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

HTML+Sass實現HambergurMenu(漢堡包式菜單)

2024-08-26 00:14:07
字體:
來源:轉載
供稿:網友

前幾天看了國外一個大佬用HTML+CSS實現HamburgerMenu的視頻,然后最近在看Sass,所以用Sass來實現一下。

最終效果圖如下:

在VS Code中的文件結構(編譯scss文件用的是easy sass):

頁面結構(index.html):

_config.scss:

/*設置顏色及max-width*/$primary-color: rgba(13,110,139,.75);$overlay-color: rgba(24,39,51,.85);$max-width: 980px;/*設置文本顏色,如果背景色淺,則設置為黑色,否則設置為白色*/@function set-text-color($color){  @if(lightness($color)>70){    @return #333;  }@else{    @return #fff;  }}/*混合器,設置背景色及文本顏色*/@mixin set-background($color){  background-color: $color;  color: set-text-color($color);}

style.scss:

@import '_config';*{  margin: 0;  padding: 0;}.container{  max-width: $max-width;  margin: 0 auto;}/*給showcase設置背景顏色,利用偽類再添加一個背景圖,同時將背景圖的z-index設置為-1(這樣圖片會顯示在里面);然后為了讓文字顯示在中間,所以使用flex布局*/.showcase{  position: relative;  height: 100vh;  background-color: $primary-color;  &:before{    content: '';    position: absolute;    left: 0;    top: 0;    width: 100%;    height: 100%;    background: url('../img/pexels-photo-533923.jpeg') no-repeat center center / cover;    z-index: -1;  }  &-inner{    display: flex;    height: 100%;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    color: #fff;    font-weight: 100;    h1{      font-size: 4rem;      padding: 1.2rem 0;    }    p{      white-space: pre-wrap;      font-size: 1.6rem;      padding: 0.85rem 0;    }    .btn{      padding: .65rem 1rem;        /*使用混合器設置背景色及文本顏色*/      @include set-background(lighten($primary-color,30%));      border: none;      border: 1px solid $primary-color;      border-radius: 5px;      text-decoration: none;      outline: none;      transition: all .2s ease .1s;        /*按鈕hover的時候利用css3的scale設置一個縮放效果*/      &:hover{        @include set-background(lighten($overlay-color,30%));        border-color: lighten($overlay-color, 25%);        transform: scale(.98);      }    }  }}/*原理:通過checkbox的點中與否來進行樣式的變化(將checkbox透明度設置為0,z-index設置更高),單擊時,會出現菜單,再次點擊,菜單消失*//*給menu-wrap設置fixed,這樣showcase就會占滿整個屏幕;同時將checkbox的opacity設置為0;另外注意,需要將checkbox的z-index設置為2,因為hamburger的z-index設置為1,不然會點擊不起作用*/.menu-wrap{  position: fixed;  left: 0;  top: 0;  z-index: 1;  .toggle{    position: absolute;    left: 0;    top: 0;    width: 50px;    height: 50px;    opacity: 0;    z-index: 2;    cursor: pointer;      /*當checkbox為checked時,設置hamburger里面的div及偽類的旋轉效果*/    &:checked ~ .hamburger>div{      transform: rotate(135deg);        /*偽類實際上旋轉了225度,需要將top設置為0,不然形成的❌長短不一致*/      &:before,&:after{        transform: rotate(90deg);        top: 0;      }    }      /*當checkbox選中時再hover,也會設置一個旋轉效果*/    &:checked:hover ~ .hamburger>div{      transform: rotate(235deg);    }    &:checked ~ .menu{      visibility: visible;      >div{        transform: scale(1);        >div{          opacity: 1;        }      }    }  }      .hamburger{    position: absolute;    left: 0;    top: 0;    width: 60px;    height: 60px;    padding: 1rem;    background-color: $primary-color;    box-sizing: border-box;    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    z-index: 1;      /*div自身生成中間的橫線,然后設置定位為relative,后面再將其偽類設置為absolute,      相對于div進行偏移*/    >div{      position: relative;      left: 0;      top: 0;      width: 100%;      height: 2px;      background-color: #fff;      transition: all .7s ease;        /*利用偽類生成第一條和第三條橫線*/      &:before,      &:after{        content: '';        position: absolute;        left: 0;        top: -10px;        width: 100%;        height: 2px;        background-color: inherit;      }      &:after{        top: 10px;      }    }  }    /*設置選中后的菜單的樣式*/    /*將menu設置為fixed,同時寬高為100%,然后設置display為flex,否則菜單不會出現在中間*/  .menu{    position: fixed;    left: 0;    top: 0;    width: 100%;    height: 100%;    overflow: hidden;    display: flex;    justify-content: center;    align-items: center;    visibility: hidden;    /*將菜單設置為不可見,然后在checkbox選中時設置為可見*/    transition: all .75s ease;    >div{      @include set-background($overlay-color);      width: 200vw;      height: 200vh;      overflow: hidden;      border-radius: 50%;      display: flex;      justify-content: center;      align-items: center;      text-align: center;      transform: scale(0);      transition: all .4s ease;      >div{        max-width: 90vw;        max-height: 90vh;        opacity: 0;        transition: all .4s ease;        >ul>li{          list-style: none;          font-size: 2rem;          padding: .85rem 0;          text-transform: uppercase;          transform: skew(-5deg,-5deg) rotate(5deg);/*設置文字傾斜*/          a{            color: inherit;            text-decoration: none;            transition: color .4s ease;          }        }      }    }  }}

到此這篇關于HTML+Sass實現HambergurMenu(漢堡包式菜單)的文章就介紹到這了,更多相關HTML+Sass實現HambergurMenu內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区三区| 国产激情综合五月久久| 亚洲自拍偷拍色片视频| 欧美日韩色婷婷| 国产成人激情视频| 久久成人精品一区二区三区| 成人久久一区二区三区| 国产一区香蕉久久| 亚洲成人久久一区| 国产成人久久久精品一区| 欧美高清不卡在线| 久久综合久久88| 国产精品自在线| 91色p视频在线| 成人信息集中地欧美| 亚洲福利视频在线| 欧美第一黄网免费网站| 国产一区二区三区日韩欧美| 美女撒尿一区二区三区| 国产在线拍偷自揄拍精品| 久久久免费观看视频| 国产日产欧美a一级在线| 国产亚洲aⅴaaaaaa毛片| 国产69精品久久久久9999| 欧美精品videossex性护士| 国产午夜精品视频| 亚洲精品国产精品国自产在线| www.亚洲男人天堂| 亚洲第一中文字幕在线观看| 91中文字幕在线观看| 欧美—级高清免费播放| 亚洲精品国产精品国自产观看浪潮| 日韩欧美成人免费视频| 国产亚洲激情在线| 欧美成人精品不卡视频在线观看| 中文字幕精品久久久久| 国产精品久久久久秋霞鲁丝| 久久久久久有精品国产| 国产成人小视频在线观看| 亚洲香蕉av在线一区二区三区| 日韩有码在线视频| 成人国内精品久久久久一区| 亚洲一区二区三区sesese| 久久91精品国产| 一区二区欧美久久| 亚洲精品动漫久久久久| 精品久久久久久亚洲国产300| 亚洲有声小说3d| 欧洲永久精品大片ww免费漫画| 国产一区二区三区在线观看视频| 国产性猛交xxxx免费看久久| 国产精品亚洲一区二区三区| 国产区精品视频| 一区二区中文字幕| 国产精品久久久久77777| 亚洲老司机av| 国产日韩综合一区二区性色av| 久久视频在线免费观看| 在线视频免费一区二区| 91在线免费视频| 隔壁老王国产在线精品| 久久久国产在线视频| 欧美xxxwww| 欧洲成人午夜免费大片| 日韩va亚洲va欧洲va国产| 亚洲综合日韩中文字幕v在线| 欧美日韩国产在线| 波霸ol色综合久久| 91久久综合亚洲鲁鲁五月天| 亚洲黄色www网站| 国产成人精品视频在线观看| 日韩美女视频免费在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲一区二区久久久久久| 亚洲天堂久久av| 久久久www成人免费精品张筱雨| 亚洲欧美色婷婷| 久久男人av资源网站| 亚洲精品videossex少妇| 尤物九九久久国产精品的特点| 91精品国产色综合| 久久亚洲精品一区二区| 日韩一区视频在线| 日韩精品免费一线在线观看| 久久久久久国产三级电影| 俺去了亚洲欧美日韩| 国内精品久久久久久中文字幕| 97香蕉久久夜色精品国产| www.亚洲天堂| 97精品视频在线播放| 91沈先生在线观看| 九九热最新视频//这里只有精品| 日韩在线观看精品| 久久久久国产一区二区三区| 国产欧美日韩免费看aⅴ视频| 久久久精品网站| 国产综合久久久久久| 国内精品视频在线| 成人天堂噜噜噜| 欧美在线观看网站| 中文字幕日韩av| 亚洲剧情一区二区| 欧美激情国内偷拍| 欧美国产精品日韩| 这里只有精品在线播放| 亚洲精品国产精品国产自| 亚洲精品综合精品自拍| 国产精品视频白浆免费视频| 久久久久久久av| 91精品成人久久| 国产69精品99久久久久久宅男| 亚州精品天堂中文字幕| 欧美成aaa人片免费看| 亚洲成人激情在线| 色综合久久88色综合天天看泰| 成人免费福利视频| 动漫精品一区二区| 国产日韩欧美91| 亚洲色图综合网| 97激碰免费视频| 亚洲精品乱码久久久久久按摩观| 欧美成人网在线| 动漫精品一区二区| 国产美女久久精品香蕉69| 日韩av中文字幕在线免费观看| 九九久久久久久久久激情| 欧美多人爱爱视频网站| 欧美日本国产在线| 91视频九色网站| 亚洲性夜色噜噜噜7777| 91精品国产综合久久男男| 黄网动漫久久久| 91在线视频成人| 国产一区二中文字幕在线看| 亚洲影视中文字幕| 国产精品一区二区三区久久久| 午夜精品理论片| 国产欧美一区二区白浆黑人| 日韩激情第一页| 欧美日韩在线视频观看| 久久久精品网站| 日本中文字幕久久看| 国产一区二区久久精品| 91精品国产亚洲| 亚洲精品在线观看www| 日韩精品极品视频免费观看| 日韩精品中文字幕视频在线| 亚洲一区国产精品| 欧美激情喷水视频| 亚洲二区中文字幕| 国产精品美女无圣光视频| 日韩免费不卡av| 青青草原一区二区| 欧美日韩久久久久| 亚洲欧美另类国产| 狠狠色香婷婷久久亚洲精品| 国产精品揄拍500视频| 亚洲福利视频在线| 51精品国产黑色丝袜高跟鞋| 国产日产欧美a一级在线| 热久久免费国产视频| 黑丝美女久久久| 国产精品露脸av在线| 欧美一二三视频|