我不知道如何表达这个问题,但我会尝试通过代码来解释
<ul>
<li><span>1</span><li>
<li><span>2</span><li>
<li><span>3</span><li>
<li><span>4</span><li>
</ul>
ul{ width:90px}
ul li{width:30px; float:left; position:relative;}
ul li:hover span{ position:absolute; width:60px;}
现在,当您将鼠标悬停在列表 1 上时,它的跨度将覆盖列表 2,而列表 2 将覆盖列表 3。一旦您将鼠标悬停在第三个列表上,它的跨度将覆盖 ul 元素。那么有没有办法让第三个跨度从右向左展开呢?所以目前跨度起点(据我所知)是列表的左上角。有没有办法让它从正确开始。所以额外的 30px 向左扩展,而不是向右扩展?
最佳答案
首先,你错误地关闭了 LI 标签。我执行了与你相同的代码。但是当我悬停在任何跨度上时,什么也没发生,它是正常和正确的。我想你的意思是像 jquery accordian 插件或类似的东西。也许你可以在这个问题上用 jquery 而不是 css 来做到这一点。如果你需要它的代码评论我。祝你好运
关于html - 相对div(html/css)中的绝对位置如何变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7775827/