Javascript 使用JS使navbar崩溃
目前,我的导航栏使用@media screen随页面大小而缩小。这很好,但当页面非常小时,我希望导航栏折叠成一个垂直下拉列表,需要单击打开 由于我的情况,我不能使用引导,只有html/css和js 榜样 试试这些……并根据您的要求进行修改 试试这些……并根据您的要求进行修改Javascript 使用JS使navbar崩溃,javascript,html,css,Javascript,Html,Css,目前,我的导航栏使用@media screen随页面大小而缩小。这很好,但当页面非常小时,我希望导航栏折叠成一个垂直下拉列表,需要单击打开 由于我的情况,我不能使用引导,只有html/css和js 榜样 试试这些……并根据您的要求进行修改 试试这些……并根据您的要求进行修改 因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文: 基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们 要使菜单下拉切换正常工
因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文: 基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们 要使菜单下拉切换正常工作,您需要javascript。Rest由CSS处理 如果您有任何疑问,可以将其放入注释中 /*当用户单击图标时,在向topnav添加和删除响应类之间切换*/ 函数myFunction{ var x=document.getElementByIdmyTopnav; 如果x.className==topnav{ x、 className+=响应性; }否则{ x、 className=topnav; } } /*向顶部导航添加黑色背景色*/ 托普纳夫先生{ 背景色:333; 溢出:隐藏; } /*设置导航栏内链接的样式*/ .topnav a{ 浮动:左; 显示:块; 颜色:F2F2; 文本对齐:居中; 填充:14px 16px; 文字装饰:无; 字号:17px; } /*更改悬停时链接的颜色*/ .topnav a:悬停{ 背景色:ddd; 颜色:黑色; } /*隐藏应在小屏幕上打开和关闭topnav的链接*/ .topnav.icon{ 显示:无; } /*当屏幕宽度小于600像素时,隐藏除第一个主页外的所有链接。显示包含打开和关闭topnav.图标的链接*/ @媒体屏幕和最大宽度:600px{ .topnav a:not:first child{display:none;} .topnav a.icon{ 浮动:对; 显示:块; } } /*当用户单击图标时,响应类将使用JavaScript添加到topnav中。这个类使topnav在小屏幕上看起来很好,垂直显示链接而不是水平显示链接*/ @媒体屏幕和最大宽度:600px{ .topnav.responsive{位置:相对;} .topnav.a.图标{ 位置:绝对位置; 右:0; 排名:0; } .topnav.a{ 浮动:无; 显示:块; 文本对齐:左对齐; } }
因此,您需要一点javascript。这是我从W3学校收到的一个工作示例。您可以在此处阅读全文: 基本上,您要做的是,使用媒体查询隐藏移动视图上的菜单,更改其样式,然后使用javascript显示它们 要使菜单下拉切换正常工作,您需要javascript。Rest由CSS处理 如果您有任何疑问,可以将其放入注释中 /*当用户单击图标时,在向topnav添加和删除响应类之间切换*/ 函数myFunction{ var x=document.getElementByIdmyTopnav; 如果x.className==topnav{ x、 className+=响应性; }否则{ x、 className=topnav; } } /*向顶部导航添加黑色背景色*/ 托普纳夫先生{ 背景色:333; 溢出:隐藏; } /*设置导航栏内链接的样式*/ .topnav a{ 浮动:左; 显示:块; 颜色:F2F2; 文本对齐:居中; 填充:14px 16px; 文字装饰:无; 字号:17px; } /*更改悬停时链接的颜色*/ .topnav a:悬停{ 背景色:ddd; 颜色:黑色; } /*隐藏应在小屏幕上打开和关闭topnav的链接*/ .topnav.icon{ 显示:无; } /*当屏幕宽度小于600像素时,隐藏除第一个主页外的所有链接。显示包含打开和关闭topnav.图标的链接*/ @媒体屏幕和最大宽度:600px{ .topnav a:not:first child{display:none;} .topnav a.icon{ 浮动:对; 显示:块; } } /*当用户单击图标时,响应类将使用JavaScript添加到topnav中。这个类使topnav在小屏幕上看起来很好,垂直显示链接而不是水平显示链接*/ @媒体屏幕和最大宽度:600px{ .topnav.responsive{位置:相对;} .topnav.a.图标{ 位置:绝对位置; 右:0; 排名:0; } .topnav.a{ 浮动:无; 显示:块; 文本对齐:左对齐; } }
首先使用@media隐藏导航栏元素,并将元素更改为列表视图 @媒体屏幕和最大宽度:850px{ //将“最大宽度”替换为您的宽度 ulli{ 显示:块; } 保险商实验室{ 显示:无; } } Showmenu功能切换导航栏元素的可见性 还可以添加一个按钮来触发该功能 希望这对你有所帮助 使用@media取消导航栏元素,并将元素更改为列表视图 @媒体屏幕和最大宽度:850px{ //将“最大宽度”替换为您的宽度 ulli{ 显示:块; } 保险商实验室{ 显示:无; } } Showmenu功能切换导航栏元素的可见性 还可以添加一个按钮来触发该功能
希望这有帮助嗨,查理。这不是一个完整的问题。关于您尝试或实现的内容,没有足够的细节。我会要求你做一个基础研究,并尝试首先实施一些东西。当您无法实施任何事情时,请向我们提供您所面临问题的详细信息。这将使我们能够更好地帮助你。请参见帮助澄清此问题的页面。我已经尝试过,我能找到的每一个示例都使用bootstrap,显然是因为它更容易,但由于我的情况,我无法使用bootstrap。拥有这样一条线索,以及如何在没有引导的情况下完成这项任务的答案,对我这种情况下的很多人都非常有用。这不是一个完整的问题。关于您尝试或实现的内容,没有足够的细节。我会要求你做一个基础研究,并尝试首先实施一些东西。当您无法实施任何事情时,请向我们提供您所面临问题的详细信息。这将使我们能够更好地帮助你。请参见帮助澄清此问题的页面。我已经尝试过,我能找到的每一个示例都使用bootstrap,显然是因为它更容易,但由于我的情况,我无法使用bootstrap。有这样一条线索,并回答如何在没有引导的情况下完成这项任务,对我这种情况下的很多人都非常有用谢谢,但不幸的是,我需要一个不使用引导的解决方案,但不幸的是,我需要一个不使用引导的解决方案
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a, .dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover, .dropdown:hover .dropbtn {
background-color: red;
}
li.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li class="dropdown">
<a href="javascript:void(0)" class="dropbtn">Dropdown</a>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</li>
</ul>
<h3>Dropdown Menu inside a Navigation Bar</h3>
</body>
</html>
function showmenu()
{
var x = document.getElementById('myUL');
if (x.style.display == 'none') {
x.style.display = 'block';
} else {
x.style.display = 'none';
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<button onclick = 'showmenu();'>click me to see menu</button>
<ul id='myUL'>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
</head>
</html>