php - 如何将内部标签定位在不同的位置?

标签 php html css menu

我有这个菜单结构: (内部的 <ul> 标签可以被自定义的 <div> 包围,每一个其他的结构变化都更加困难,因为代码是从动态模块系统生成的,用 PHP 编写)

<div id="menu">
    <div class="body-menu">
        <ul>
            <li class="current"><div class="body-menu">
                <a href="bla">Item1</a>
                <ul>
                    <li class="current"><div class="body-menu">
                        <a href="bla">Sub-Item 1</a>
                    </div></li>
                    <li class=""><div class="body-menu">
                        <a href="bla">Sub-Item 2</a>
                    </div></li>
                </ul>
            </div></li>
            <li class=""><div class="body-menu">
                <a href="bla">Item 2</a>
            </div></li>

        </ul>
    </div>
    <div class="menu-background"></div>
</div>

目标是显示内部<ul>在左侧的第 1 项之后作为子菜单,而不是与其他顶级元素一起位于顶部..

有没有办法在不修改结构的情况下做到这一点?只是用 CSS 还是什么?


更新:

谢谢大家的回答!

尤其是 besluitloos 和 Caelea,这正是我要找的。

最佳答案

<li>包含第二个 <ul>应该相对定位并且包含 <ul>应该绝对定位。

有点像:

ul li { position: relative ;}
ul li ul {position: absolute; top: 0; left: 145px;} 

我写了left: 145px但您可以为其赋予任何值,具体取决于您希望菜单有多大。

PS:提示:不要在那些 div 上使用相同的“body-menu”类,大容器应该不同,不仅如此。而且我真的不认为有必要在那些 < li > 中包含那个 div .

关于php - 如何将内部标签定位在不同的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12458787/

相关文章:

PHP GetText 命令在命令行上不起作用

php - "get_current_user()"函数可以在 Linux/OSX 上运行吗?

html - 浏览器尝试下载 html 文件而不是打开

css - 在同一行上垂直居中两个 div 之一?

javascript - 如何在图像上获得两个叠加的悬停图标,每个图标都有不同的 Action ?

php - 仅当所有 td 都具有特定类别时,如何向 tr 添加类别?

php - 如何在 Laravel 4 中查询 min( created_at )?

javascript - html 在同一新窗口中打开页面上的多个链接

jquery - 仅为 fancybox 3.1 的特定分辨率(桌面)触发缩略图

css - 不同的选择器,同样的风格,如何在less中防止重复输出