gpt4 book ai didi

javascript - 移动其他桌面导航栏时显示汉堡菜单

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:08 25 4
gpt4 key购买 nike

我正在做移动优先设计,使用 CSS 和 jQuery 我制作了一个我非常喜欢的下拉汉堡菜单,但我想做的是当页面显示在桌面上时让汉堡消失,并用常规的水平导航栏。我能够使菜单响应,所以至少有一个水平导航栏可以在桌面上下拉(而不是像在移动设备上那样的长菜单列表)但我根本不希望它下拉 - 我希望它完全取代那个汉堡图标。我不知道 Bootstrap(我是新手),但任何使用 html、css 和 jQuery 的建议都会很棒!谢谢!

这是我的代码:

HTML:

<!DOCTYPE html>

<html lang="en">

<head>
<meta charset="utf-8">
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">google.load("jquery", "1.3.2");</script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

<title>hamburgers</title>
</head>

<body>
<header>

<span>Shine Design</span>
<div id="nav-icon4">
<span></span>
<span></span>
<span></span>
</div>

</header>

<div class="menu">
<ul>
<a href="#">
<li>LINK ONE</li>
</a>
<a href="#">
<li>LINK TWO</li>
</a>
<a href="#">
<li>LINK THREE</li>
</a>
<a href="#">
<li>LINK FOUR</li>
</a>
<a href="#">
<li>LINK FIVE</li>
</a>
</ul>
</div>

</body>
</html>

JS:

$(document).ready(function(){
$('#nav-icon4').click(function(){
$(this).toggleClass('open');
});
});

CSS:

 @media only screen and (min-width: 300px) {
#nav-icon4 {
width: 35px;
height: 25px;
float: right;
margin-top: 15px;
margin-right: 30px;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
-o-transition: .5s ease-in-out;
transition: .5s ease-in-out;
cursor: cell;
}

#nav-icon4 span {
display: block;
position: absolute;
height: 5px;
width: 100%;
background: darkred;
border-radius: 7px;
opacity: 2;
left: 0;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .25s ease-in-out;
-moz-transition: .25s ease-in-out;
-o-transition: .25s ease-in-out;
transition: .25s ease-in-out;
}

#nav-icon4 span:nth-child(1) {
top: 0px;
-webkit-transform-origin: left center;
-moz-transform-origin: left center;
-o-transform-origin: left center;
transform-origin: left center;
}

#nav-icon4 span:nth-child(2) {
top: 10px;
-webkit-transform-origin: left center;
-moz-transform-origin: left center;
-o-transform-origin: left center;
transform-origin: left center;
}

#nav-icon4 span:nth-child(3) {
top: 20px;
-webkit-transform-origin: left center;
-moz-transform-origin: left center;
-o-transform-origin: left center;
transform-origin: left center;
}

#nav-icon4.open span:nth-child(1) {
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
top: 0;
left: 6px;
}

#nav-icon4.open span:nth-child(2) {
width: 0%;
opacity: 0;
}

#nav-icon4.open span:nth-child(3) {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
top: 25px;
left: 6px;
}

body {
font-family: 'Noto Sans', sans-serif;
margin: 0;
width: 100%;
height: 100vh;
background: #ffffff;
background-color: black;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

header {
width: 100%;
background: #ffffff;
position: fixed;
height: 60px;
line-height: 60px;
border-bottom: 1px solid #dddddd;
display: inline-block;
font-size: 2.1em;
padding-left: 10px;
}

.menu {
z-index: 1000000;
display: none;
font-weight: bold;
font-size: 1.2em;
width: 100%;
background: #f1f1f1;
position: fixed;
margin-top: 60px;
text-align: center;
color: black;
}

.menu ul {
margin: 0;
padding: 0;
list-style-type: none;
list-style-image: none;
border-top: #dddddd 1px solid;
}

.menu li {
display: block;
padding: 15px 0 15px 0;
border-bottom: #dddddd 1px solid;
}

.menu li:hover {
display: block;
background: #585858;
padding: 15px 0 15px 0;
border-bottom: #dddddd 1px solid;
cursor: crosshair;
}

.menu ul li a {
text-decoration: none;
margin: 0px;
color: black;
}

.menu ul li a:hover {
color: white;
text-decoration: none;
}

.menu a {
text-decoration: none;
color: black;
}

.menu a:hover {
text-decoration: none;
color: white;
}
}


@media only screen and (min-width: 601px) {
header {
font-size: 1.5em;
}

ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}

li {
float: right;
margin-left: 15px;
margin-right: 25px;
}

li a {
display: block;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.menu {
font-size: .8em;
}
}

最佳答案

如果你是新手,请帮自己一个忙,学习 Bootstrap ,它使这类事情变得非常简单,并阻止你重新发明轮子。

从这里开始... https://getbootstrap.com/examples/navbar/在这里:https://getbootstrap.com/components/#navbar

要执行您想要的操作,您需要为正确显示设置 CSS 媒体查询。如果您坚持自己开始学习媒体断点,这正是 Bootstrap 所做的。

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) {

}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {

}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {

}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {

}

关于javascript - 移动其他桌面导航栏时显示汉堡菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43566430/

25 4 0