hover - 如何让菜单从左到右堆叠但不挤压其内容

标签 hover css html

对 CSS 很陌生,所以请原谅菜鸟问题,但我正在尝试弄清楚如何使用 CSS 盒模型来创建下拉菜单。

菜单标题需要根据其宽度从左到右排列在页面上。

下拉菜单的内容不需要被压缩到标题的宽度:它们应该和最宽的菜单项一样宽。

我最好的猜测如下。 (我已经关闭了一些悬停行为以使页面检查更容易。)

<head>
<style>
body { font-family: sans-serif; font-weight: bold; padding: 0; margin: 0; }

.dropdown { position: relative; }
.dropdown .title { display:inline-block; background:#eee; padding: 6px; }
.dropdown ul { border: 1px solid grey; background:white; position:absolute; top:14px; left:0px; list-style-type: none; padding:0;}
.dropdown li { width: auto; padding: 6px; }

._dropdown ul { display: none; visibility: invisible; }
._dropdown .title:hover { background-color: #333; color:white; }
._dropdown .title:hover > ul { display: block; }
.dropdown li:hover { background-color: #def; }

</style>
</head>
<body>

<div class="dropdown">
    <div class="title">Menu title
        <ul><li><a href=#>Unit 1</a></li>
            <li><a href=#>Unit 2</a></li>
            <li><a href=#>Unit 3 A really long one</a></li>
        </ul>
    </div>
</div>

<div class="dropdown">
    <div class="title">Menu title
        <ul><li><a href=#>Unit 1</a></li>
            <li><a href=#>Unit 2</a></li>
            <li><a href=#>Unit 3 A really long one</a></li>
        </ul>
    </div>
</div>

</body>

最佳答案

看看这个jsFiddle

使用 white-sapce: nowrap; 你可以停止文本换行到不同的行。

关于hover - 如何让菜单从左到右堆叠但不挤压其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19809879/

相关文章:

html - min-height 100vh 创建垂直滚动条,即使内容小于视口(viewport)

html - 如何更改 div 类 "col-sm-9"的宽度和高度大小?

jquery - 将鼠标悬停在图像上时如何显示覆盖相邻图像的描述?

css - 菜单不悬停选定的菜单选项卡

html - :hover not working

html - 将鼠标悬停在文本上会使图像失去效果

html - 显示 2 个边框,文本居中

javascript - 来自不同按钮的 jQuery 切换

css - wordpress style.css 加载但不使用

javascript - 由javascript创建的div不接受通过javascript输入的css数据