在学习了几个教程之后,我设法建立了一个纯 CSS 的垂直下拉菜单。但是,宽度和绝对偏移量是硬编码的,我无法让它们根据它们的内容自动调整。我希望避免对这些进行硬编码,因为我希望将其集成到我不知道菜单项实际长度的 CMS 中。
我在这里创建了一个 JSFiddle,显示菜单工作:http: //jsfiddle.net/nhfHw/2/
顶级项目目前被硬编码为 100px 的宽度(我希望根据该级别最长的项目进行调整。)当我试图删除它时,它只是在整个屏幕上扩展了下一个子级别。
#navigation
{
font-family: Helvetica, Arial, sans-serif;
font-size: 14px;
color: #707070;
line-height: 20px;
width: 100px; /* I wish to remove this */
margin-top: 30px;
}
子级别的 x 偏移量也是硬编码的。我希望他们只根据父母的宽度进行调整。它们的宽度也被硬编码为 200px。
li:hover .sub-level
{
background: #D0D0D0;
display: block;
position: absolute;
left: 100px; /* I wish to remove this */
top: 0px;
}
li:hover .sub-level .sub-level
{
left: 210px; /* I wish to remove this */
top: 0px;
}
ul.sub-level li
{
border: none;
float:left;
width: 200px; /* I wish to remove this */
}
如果可能的话,我希望避免使用 Javascript。