CSS - 多列子菜单偏移问题

标签 css drop-down-menu

我创建了一个下拉菜单和一个多列子菜单。请查看 https://jsfiddle.net/fyrtpd7r/ 处的代码.如果将鼠标悬停在“元素 A”上,它看起来不错。但是如果你在元素 D 上,你可以看到子菜单中的第二列与顶部菜单不对齐。

body{
    background-color:#ddd;
}
nav{
    background:#eee;
}
.menu a{
    text-decoration:none;
}
ul.menu, ul.sub-menu, .col-menu{
    list-style:none;
}
ul.menu > li{ 
    display: inline-block;
    position:relative;

    box-sizing: border-box;
    padding: 0;
    padding-left: 20px;
    padding-right: 20px;
}
ul.sub-menu{
    display:none;
    position:absolute;
    left: 0px;
    background-color: yellow;
    width: 100%;

    box-sizing: border-box;
    padding: 0;
    padding-left:20px;
    padding-right: 20px;
}
ul.menu > li:hover{
    background-color: red;
}
ul.menu > li:hover ul.sub-menu{
    display:block;
}

/* multi col */ 
ul.multi-col{
    width: 200px;
    background-color: green;
} 

ul.multi-col ul.col-menu{
    float: left;
    padding: 0;
    padding-right: 15px;
}

/* multi col - right align */ 
ul.multi-col.right-align{
    width: 200px;
    background-color: green;
    left: auto;
    right: 0;
} 

ul.multi-col.right-align ul.col-menu{
    float: right;
    padding: 0;
    padding-right: 0px;
    padding-left: 15px;
}

最佳答案

从您的 CSS 中删除这些样式。 摆脱类右对齐

/* multi col - right align */ 
ul.multi-col.right-align{
    width: 200px;
    background-color: green;
    left: auto;
    right: 0;
} 

ul.multi-col.right-align ul.col-menu{
    float: right;
    padding: 0;
    padding-right: 0px;
    padding-left: 15px;
}

关于CSS - 多列子菜单偏移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850402/

相关文章:

html - 使用 ie7 将边框应用于组合框时出现问题

css - 根据屏幕大小调整 Twitter 小部件的大小

css - 将不同高度的段落垂直对齐到 div 的底部?

javascript - 将悬停添加到当前导航栏

javascript - 从 Google 电子表格数据构建/填充网页上的下拉菜单

html - 是否可以在下拉菜单中向右浮动两个带有超赞字体图标的链接

html - 在这种情况下,为什么 `position: fixed` 是相对于文档而不是视口(viewport)的?

drop-down-menu - 表格中的 Durandal/Knockout 嵌套下拉菜单

java - 我应该如何将设置菜单中的数据输入 MainActivity.java 文件以调整 Textview 窗口中文本的大小?

javascript - 用于视差效果的 css 剪辑 mask