Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带子菜单的汉堡菜单_Javascript_Html_Css - Fatal编程技术网

Javascript 带子菜单的汉堡菜单

Javascript 带子菜单的汉堡菜单,javascript,html,css,Javascript,Html,Css,我正在尝试用一个子菜单实现汉堡包菜单。到目前为止,似乎相当丑陋,特别是关于最后一项。由于它是obvoius,我对悬停在Dropdown1上有一个问题。看起来将鼠标悬停在Dropdown1项目上是不正确的,汉堡包的背景报道也不正确 函数myFunction(){ var x=document.getElementById(“myTopnav”); 如果(x.className==“topnav”){ x、 类名+=“响应”; }否则{ x、 className=“topnav”; } } .t

我正在尝试用一个子菜单实现汉堡包菜单。到目前为止,似乎相当丑陋,特别是关于最后一项。由于它是obvoius,我对悬停在Dropdown1上有一个问题。看起来将鼠标悬停在Dropdown1项目上是不正确的,汉堡包的背景报道也不正确

函数myFunction(){
var x=document.getElementById(“myTopnav”);
如果(x.className==“topnav”){
x、 类名+=“响应”;
}否则{
x、 className=“topnav”;
}
}
.topnav{
背景色:#333;
溢出:可见;
}
.topnav a{
浮动:左;
显示:块;
颜色:#F2F2;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
梅努特姆斯先生{
浮动:左;
显示:块;
颜色:#F2F2;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
梅努特姆斯·李a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#808080;
颜色:白色;
}
.topnav.icon{
显示:无;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav a:not(:第一个子项){display:none;}
.topnav a.icon{
浮动:对;
显示:块;
}
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav li:第一个孩子>a{
显示:无;
}
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav.responsive{位置:相对;}
.topnav.a.图标{
位置:绝对位置;
右:0;
排名:0;
}
.topnav.a{
浮动:无;
显示:块;
文本对齐:左对齐;
}
.topnav.li>a{
浮动:无;
显示:块;
文本对齐:左对齐;
}
}


背景问题似乎是因为
.topnav a
上没有清除您的浮动。我为您创建了一个工作示例来比较您的代码,并对您的代码进行了一些调整

我将浮动切换到
显示:flex
,并调整了下拉导航。有时浮动更难跟踪,因此显示:flex可以稍微简化这一点。我唯一没有做的就是在手机上设置悬停。显然,您不能在移动设备上悬停,因此需要使用单击事件来调整
.menuitems
,以触发显示/隐藏

函数myFunction(){
var x=document.getElementById(“myTopnav”);
如果(x.className==“topnav”){
x、 类名+=“响应”;
}否则{
x、 className=“topnav”;
}
}
.topnav{
背景色:#333;
溢出:可见;
}
.topnav a{
填充:14px 16px;
文字装饰:无;
颜色:#fff;
}
托普纳夫{
保证金:0;
填充:0;
显示器:flex;
}
李托普纳夫先生{
垂直对齐:顶部;
列表样式类型:无;
字号:17px;
位置:相对位置;
宽度:自动;
}
.topnav li>a{
文本对齐:居中;
颜色:#F2F2;
文字装饰:无;
字号:17px;
显示:块;
}
.topnav li>a:悬停{
背景色:#ddd;
颜色:黑色;
}
托普纳夫·李·乌尔{
显示:无;
位置:绝对位置;
背景色:#333;
}
.topnav li:悬停>ul{
显示:块;
}
.topnav li.menuitems li a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#808080;
颜色:白色;
}
.topnav.icon{
显示:无;
}
@媒体屏幕和屏幕(最大宽度:600px){
托普纳夫{
弯曲方向:立柱;
文本对齐:右对齐;
}
李托普纳夫先生{
显示:无;
}
.topnav.icon{
显示:块;
文本对齐:右对齐;
}
.topnav.li{
显示:块;
}
.topnav.responsive>li>ul>li{
显示:块;
}
.topnav.li>a{
文本对齐:右对齐;
}
.topnav.liul{
宽度:100%;
右:0;
文本对齐:右对齐;
}
}


背景问题似乎是因为
.topnav a
上没有清除您的浮动。我为您创建了一个工作示例来比较您的代码,并对您的代码进行了一些调整

我将浮动切换到
显示:flex
,并调整了下拉导航。有时浮动更难跟踪,因此显示:flex可以稍微简化这一点。我唯一没有做的就是在手机上设置悬停。显然,您不能在移动设备上悬停,因此需要使用单击事件来调整
.menuitems
,以触发显示/隐藏

函数myFunction(){
var x=document.getElementById(“myTopnav”);
如果(x.className==“topnav”){
x、 类名+=“响应”;
}否则{
x、 className=“topnav”;
}
}
.topnav{
背景色:#333;
溢出:可见;
}
.topnav a{
填充:14px 16px;
文字装饰:无;
颜色:#fff;
}
托普纳夫{
保证金:0;
填充:0;
显示器:flex;
}
李托普纳夫先生{
垂直对齐:顶部;
列表样式类型:无;
字号:17px;
位置:相对位置;
宽度:自动;
}
.topnav li>a{
文本对齐:居中;
颜色:#F2F2;
文字装饰:无;
字号:17px;
显示:块;
}
.topnav li>a:悬停{
背景色:#ddd;
颜色:黑色;
}
托普纳夫·李·乌尔{
显示:无;
位置:绝对位置;
背景色:#333;
}
.topnav li:悬停>ul{
显示:块;
}
.topnav li.menuitems li a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#808080;
颜色