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>