Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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和CSS定位子菜单_Javascript_Html_Jquery_Css_Jquery Plugins - Fatal编程技术网

使用JavaScript和CSS定位子菜单

使用JavaScript和CSS定位子菜单,javascript,html,jquery,css,jquery-plugins,Javascript,Html,Jquery,Css,Jquery Plugins,我怎样才能使这些盒子具有响应性?例如,最后一个子菜单超出边界。我不知道如何验证盒子在空间中是否可见,以及如何正确移动它们。在这种情况下,我想看看如果第二层不可见,如何移动第二层,或者当第二层和第三层都可见但只有第三层不可见时,如何移动第二层和第三层 document.addEventListener('click',函数(e){ e=e | | window.event; 控制台日志(e); var target=e.target | | e.src元素; 控制台日志(目标); if(targ

我怎样才能使这些盒子具有响应性?例如,最后一个子菜单超出边界。我不知道如何验证盒子在空间中是否可见,以及如何正确移动它们。在这种情况下,我想看看如果第二层不可见,如何移动第二层,或者当第二层和第三层都可见但只有第三层不可见时,如何移动第二层和第三层

document.addEventListener('click',函数(e){
e=e | | window.event;
控制台日志(e);
var target=e.target | | e.src元素;
控制台日志(目标);
if(target.parentElement.className.indexOf('has-submenu')>-1){
e、 target.classList.toggle('open');
}
},假)
#菜单{
背景:#3434;
颜色:#eee;
高度:35px;
边框底部:4倍实心
}
#菜单ul,
#菜单里{
利润率:0;
填充:0;
列表样式:无
}
#菜单ul{
高度:35px
}
#菜单里{
浮动:左;
显示:内联;
位置:相对位置;
字体:粗体12px Arial;
文本阴影:0-1px0#000;
右边框:1px实心#444;
左边框:1px实心#111;
文本转换:大写
}
#菜单李:第一个孩子{
左边框:无
}
#菜单a{
显示:块;
线高:35px;
填充:0 14px;
文字装饰:无;
颜色:#eee;
}
#菜单li:悬停>a,
#菜单a:悬停{
背景:#111
}
#菜单输入{
显示:无;
利润率:0;
填充:0;
宽度:80px;
高度:35px;
不透明度:0;
光标:指针
}
#菜单标签{
字体:粗体30px Arial;
显示:无;
宽度:35px;
高度:36px;
线高:36px;
文本对齐:居中
}
#菜单标签跨度{
字体大小:12px;
位置:绝对位置;
左:35px
}
#菜单{
高度:自动;
宽度:180px;
背景:#111;
位置:绝对位置;
z指数:99;
显示:无;
边界:0;
}
#菜单{
显示:块;
宽度:100%;
字体:12px Arial;
文本转换:无;
}
#菜单li:悬停在ul菜单上{
显示:块
}
#菜单a.主页{
背景:#c00;
}
#菜单{
填充:0 27px 0 14px
}
#菜单a.prett::之后{
内容:“;
宽度:0;
身高:0;
边框宽度:6px 5px;
边框样式:实心;
边框颜色:#eee透明;
位置:绝对位置;
顶部:15px;
右:9px
}
#菜单a.prett.open::after{
内容:“;
宽度:0;
身高:0;
边框宽度:6px 5px;
边框样式:实心;
边框颜色:透明透明#eee透明;
位置:绝对位置;
顶部:9px;
右:9px
}
#菜单ul.a:悬停{
背景:#333;
}
#菜单ul.菜单.子菜单{
显示:无;
位置:绝对位置;
左:180像素;
背景:#111;
排名:0;
宽度:180px;
}
#菜单ul.菜单.子菜单li{
背景:#111;
}
#菜单ul.menus.有子菜单a.打开~.子菜单{
显示:块;
}




  • 使用这里的信息,它是关于@media查询的。 您可以为特定屏幕维度指定属性


    编辑:您可以在浏览器窗口(在Chrome上)中按F12键,然后按ctrl+shift+M键以获得响应的“测试仪”

    使用此处的信息,它是关于@media查询的。 您可以为特定屏幕维度指定属性


    编辑:您可以在浏览器窗口(在Chrome上)中按F12,然后按ctrl+shift+M,以获得响应的“检测仪”

    ,因为框的宽度可能不同,所以实际上无法正常工作,我想用js来判断第二层和第三层是否超出边界,如果需要的话,将它们移到左边。我用截图编辑我的问题你有解决方案吗?你是如何解决的?这里是另一个同样问题的问题,有一个解决方案谢谢你的链接它真的帮助了我事实上这不会正确工作,因为盒子的宽度可能不同,我想用js来判断第二层和第三层是否超出边界,如果需要的话,将它们移到左边。我用截图编辑我的问题你有解决方案吗?你是如何解决的?这里是另一个同样问题的问题,有解决方案谢谢链接它真的帮助了我