Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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
为什么HTML子菜单位于错误位置?_Html_Css_Menu - Fatal编程技术网

为什么HTML子菜单位于错误位置?

为什么HTML子菜单位于错误位置?,html,css,menu,Html,Css,Menu,我有一个HTML,CSS菜单 我想将子菜单中心切换到主菜单(ul.菜单) 为什么左边有一个空格 ul.menu li:hover ul已经定义了左:0,他最近的父母是ul.menu,不知道这些空间从何而来 .menu主容器{填充底部:52px;页边距顶部:-60px;页边距:10px自动;} 菜单{z-index:597;文本对齐:中心;位置:相对;背景:灰色;宽度:960px;边距:自动!重要;} ul.menu li{显示:内联块;线高度:2.1米;垂直对齐:中间;缩放:1;} 菜单a{显

我有一个HTML,CSS菜单

我想将子菜单中心切换到主菜单(ul.菜单)

为什么左边有一个空格

ul.menu li:hover ul已经定义了左:0,他最近的父母是ul.menu,不知道这些空间从何而来

.menu主容器{填充底部:52px;页边距顶部:-60px;页边距:10px自动;}
菜单{z-index:597;文本对齐:中心;位置:相对;背景:灰色;宽度:960px;边距:自动!重要;}
ul.menu li{显示:内联块;线高度:2.1米;垂直对齐:中间;缩放:1;}
菜单a{显示:块;字母间距:2px;颜色:#333;字体大小:13px;文本装饰:无;填充:0 35px;文本转换:大写;字体重量:正常!重要;}
菜单a:悬停{背景:#EFEFEF;颜色:#ad7f12}
ul.menu,ul.menu li,ul.menu ul{列表样式:无;边距:0;填充:0;颜色:#333;}
ul.menu li:hover{position:relative;z-index:599;文本装饰:无;背景:#EFEFEF;}
ul.menu li:悬停ul{}
ul.menu ul{显示:无;}
ul.menu ul li{float:none;行高:34px;边距:0;填充:0;显示:内联块;}
ul.menu ul li a:悬停{}
ul.menu ul li{顶部:-2px;左侧:100%;}
ul.menu li:悬停ul{显示:内联块;位置:绝对;顶部:100%;左侧:0;z索引:598;宽度:1020px;背景:红色;}


最近的父项不是ul.menu,而是ul.menu li。这就是为什么它没有居中。这是基于它的位置离ul菜单李。更改父元素也不会起作用,您必须结合css使用另一种方法才能起作用。在我看来,jQuery或Javascript是这里最好的解决方案。

最近的父项不是ul.menu,而是ul.menu li。这就是为什么它没有居中。这是基于它的位置离ul菜单李。更改父元素也不会起作用,您必须结合css使用另一种方法才能起作用。在我看来,jQuery或Javascript是这里最好的解决方案。

它是从空白开始的,因为它是从它的父级定位的。删除此项:

position: relative;

它是从那个空白开始的,因为它是从它的父对象定位的。删除此项:

position: relative;

你能添加一张描述你想要实现什么的图片吗?您是否试图将红色子菜单相对于灰色主菜单居中?实际上,您正在设置
left:100%
此处:
ul.menu ul li{top:-2px;left:100%;}
,尝试摆脱它。我删除了“左:100%”仍然不起作用。你能添加一张描述你想要实现什么的图片吗?您是否试图将红色子菜单相对于灰色主菜单居中?实际上,您正在设置
left:100%
此处:
ul.menu ul li{top:-2px;left:100%;}
,尝试摆脱它。我删除了“左:100%”仍然不起作用。对不起,我没有说清楚。我是说最近的父母。正如我所知,子菜单(ul.menu li:hover ul)的位置应该相对于最近的父菜单ul.menuRight,但在这种情况下,它都依赖于父元素。它不会使定位的父对象向上移动两层。这不是它的工作原理,它将采取直接父母的立场。实际上,请参见下面的答案。我测试了一下,它似乎达到了你的要求。谢谢你向我解释。对不起,我没说清楚。我是说最近的父母。正如我所知,子菜单(ul.menu li:hover ul)的位置应该相对于最近的父菜单ul.menuRight,但在这种情况下,它都依赖于父元素。它不会使定位的父对象向上移动两层。这不是它的工作原理,它将采取直接父母的立场。实际上,请参见下面的答案。我测试了它,它似乎完成了你需要的。谢谢你向我解释。酷,不知道为什么,但已修复。非常感谢。很酷,不知道为什么,但已修复。非常感谢你。