gpt4 book ai didi

html - Mega Menu Responsive Nav Help(无 Bootstrap )

转载 作者:行者123 更新时间:2023-11-27 23:34:40 25 4
gpt4 key购买 nike

我正在尝试使用纯 html/css 创建一个非常通用的大型菜单,而不使用 Bootstrap (由于某种原因,没有在线教程,所以我自己制作了一个)。我已经设法正确地设计了我的导航样式并且它可以响应地工作,但是我无法弄清楚如何让移动版本给我一个菜单选项而不是提供它们当前的所有链接。我将在下面发布代码,如果有人可以告诉我要添加什么以实现它,那就太棒了!

<div class="menu style">
<ul class="menu">
<!-- Mega Menu start. copy section between comments to create new heading-->
<li><a href="#">Option 1</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 4</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
</div>
<li><a href="#">Option 2</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
</div>
<li><a href="#">Option 3</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
<li><a href="#">Content</a></li>
</ol>
</div>
</div></ul></div>

这是CSS

    @font-face {
font-family: 'raleway';
src: url(fonts/raleway/raleway.ttf) format('truetype');
src: url(fonts/raleway/raleway.otf) format('opentype');
src: url(fonts/raleway/raleway.woff) format('woff');
}

.menu{
display:block;
position:relative;
}
.menu,.menu ul{
margin:0;padding:0;
list-style:none;
position:relative
}
.menu ul a{float:left}

.menu .mega-menu a{
float:none;
padding:0
}

.menu .mega-menu,.menu .mega-menu ol li{
opacity:0;
visibility:hidden;
display:none ! important/9;
}

.menu li:hover>.mega-menu,.menu li:hover>.mega-menu ol li{
opacity:1;
visibility:visible;
display:block ! important/9
}

.menu ul:after{
content:"";
clear:both;
display:block}

.menu ul li{
float:left;
}
/*Main heading css*/
.menu ul li a{
display:block;
padding:14px 20px 15px 20px;
font-family:'raleway',arial,sans-serif;
color:#fff;
font-size:1.1em;
font-weight:bold;
text-decoration:none
}
/*dropdown section css*/
.mega-menu{
position:absolute;
top:100%;
padding:18px 11px;
background-color:rgba(0,0,0,.8)
}

.mega-menu ol{
list-style:none;
padding:0
}

.mega-menu ol li{width:100%;}
/*dropdown section text css*/
.mega-menu ol li a{
font-size:.9em;
line-height:18px;
}
.mega-menu ol li:hover,.mega-menu ol li a{
color:#fff;
padding:0;
background-image:none
}

/*sub header css*/
.mega-menu div h4{
font-family:'raleway',arial,sans-serif;
font-size:1.15em;
font-weight:bold;
color:#f7b50d;
border-bottom:1px solid #e4e4e4;
padding:0 0 8px 0;
margin:0 0 10px 0
}

.mega-menu .col-1{width:135px}

.mega-menu .col-1{
float:left;
margin:0 9px
}


@media only screen and (max-width: 767px){

.menu ul li{
width:100%;
}

.menu ul li{position:relative}

.menu .mega-menu ol li{height:0}

.menu li:hover>.mega-menu ol li{height:auto}

.mega-menu,.menu ul ul{z-index:100}

.mega-menu{padding:18px 0}

.mega-menu ol li:last-child{margin:0 0 10px 0}

.menu .col-1{
float:left;
margin:0 0 0 5%;width:90%
}
}

/*Also main heading css*/
.style.menu, .style-1.menu ul li {
background-color: #333;
border-top:1px solid #f7b50d;
border-bottom:1px solid #f7b50d;
}
.style.menu ul li a:hover {
color:#f7b50d;
}

这是我用它制作的代码笔的链接。 Code Pen Link

最佳答案

用移动屏幕下的汉堡包菜单更新了您的代码,使下拉菜单成为static定位,因为它不会与其他菜单重叠。

查看此代码段。运行这个是大屏幕和小屏幕。我想这就是您要找的。

jQuery(function($) {
$('.menu-btn').click(function() {
$('.menu.style').toggleClass("open");
})
})
@font-face {
font-family: 'raleway';
src: url(fonts/raleway/raleway.ttf) format('truetype');
src: url(fonts/raleway/raleway.otf) format('opentype');
src: url(fonts/raleway/raleway.woff) format('woff');
}
.menu {
display: block;
position: relative;
}
.menu,
.menu ul {
margin: 0;
padding: 0;
list-style: none;
position: relative
}
.menu ul a {
float: left
}
.menu .mega-menu a {
float: none;
padding: 0
}
.menu .mega-menu,
.menu .mega-menu ol li {
opacity: 0;
visibility: hidden;
display: none ! important/9;
}
.menu li:hover>.mega-menu,
.menu li:hover>.mega-menu ol li {
opacity: 1;
visibility: visible;
display: block ! important/9
}
.menu ul:after {
content: "";
clear: both;
display: block
}
.menu ul li {
float: left;
}
/*Main heading css*/

.menu ul li a {
display: block;
padding: 14px 20px 15px 20px;
font-family: 'raleway', arial, sans-serif;
color: #fff;
font-size: 1.1em;
font-weight: bold;
text-decoration: none
}
/*dropdown section css*/

.mega-menu {
position: absolute;
top: 100%;
padding: 18px 11px;
background-color: rgba(0, 0, 0, .8)
}
.mega-menu ol {
list-style: none;
padding: 0
}
.mega-menu ol li {
width: 100%;
}
/*dropdown section text css*/

.mega-menu ol li a {
font-size: .9em;
line-height: 18px;
}
.mega-menu ol li:hover,
.mega-menu ol li a {
color: #fff;
padding: 0;
background-image: none
}
/*sub header css*/

.mega-menu div h4 {
font-family: 'raleway', arial, sans-serif;
font-size: 1.15em;
font-weight: bold;
color: #f7b50d;
border-bottom: 1px solid #e4e4e4;
padding: 0 0 8px 0;
margin: 0 0 10px 0
}
.mega-menu .col-1 {
width: 135px
}
.mega-menu .col-1 {
float: left;
margin: 0 9px
}
@media only screen and (max-width: 767px) {
.menu ul li {
width: 100%;
}
.menu ul li {
position: relative
}
.menu .mega-menu ol li {
height: 0
}
.menu li:hover>.mega-menu ol li {
height: auto
}
.mega-menu,
.menu ul ul {
z-index: 100
}
.mega-menu {
padding: 18px 0
}
.mega-menu ol li:last-child {
margin: 0 0 10px 0
}
.menu .col-1 {
float: left;
margin: 0 0 0 5%;
width: 90%
}
}
/*Also main heading css*/

.style.menu,
.style-1.menu ul li {
background-color: #333;
border-top: 1px solid #f7b50d;
border-bottom: 1px solid #f7b50d;
}
.style.menu ul li a:hover {
color: #f7b50d;
}
/* new css */

.menu-btn {
display: none;
}
@media only screen and (max-width: 768px) {
.menu.style {
padding: 15px 0;
}
.menu-btn {
display: block;
margin-top: 10px;
margin-left: 10px;
}
ul.menu {
display: none;
}
.open ul.menu {
display: block;
}
.menu li:hover > .mega-menu {
position: static;
}
}
.menu-btn div {
position: absolute;
left: 100%;
top: 64%;
padding-right: 8px;
margin-top: -0.50em;
line-height: 1.2;
font-size: 18px;
font-weight: 200;
vertical-align: middle;
z-index: 99;
}
.menu-btn span {
display: block;
width: 19px;
height: 3px;
margin: 4px 0;
background: rgb(0, 0, 0);
z-index: 99;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="menu style">
<div class="mobile-nav">
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
<ul class="menu">
<!-- Mega Menu start. copy section between comments to create new heading-->
<li><a href="#">Option 1</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 4</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
</div>
<li><a href="#">Option 2</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
</div>
<li><a href="#">Option 3</a>
<div class="mega-menu">
<div class="col-1">
<h4>Header 1</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 2</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
<div class="col-1">
<h4>Header 3</h4>
<ol>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
<li><a href="#">Content</a>
</li>
</ol>
</div>
</div>

关于html - Mega Menu Responsive Nav Help(无 Bootstrap ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34389903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com