【发布时间】:2018-02-01 12:05:34
【问题描述】:
我正在尝试在我的网站上创建一个消息框,以便当用户单击收件箱图标时会出现一个带有消息的框。类似于stackoverflow如何做到这一点。 Stackoverflow 通过在包含收件箱、成就等的有序列表之外放置一个 div,然后绝对定位该 div,使其看起来从收件箱图标中删除。
我也在尝试这样做,但我希望消息框成为列表项的子项。
.list {
display: flex;
position: relative;
}
div.messages {
display: block;
position: absolute;
}
<ol class="list">
<ul> inbox
<div class="messages"> some message<br> blah blah another message
</div>
</ul>
<ul> another </ul>
</ol>
有没有一种简单的方法来确保消息框的右上角接触到列表项的左下角,而不管消息框的宽度如何?
也许我在想这个错误,这真的不是亲子情况(因为我想要做的基本上是将孩子放在父母之外......)。但是对于我网站部分的概念组织,我确实希望将其作为父母的孩子来处理。
【问题讨论】:
-
你的代码很薄。你知道消息框的宽度吗?你知道身高吗?如果没有,你愿意使用 javascript 吗?如果你知道宽度/高度,那就很简单了。
-
我看到你在使用 flexbox,这让这有点棘手。查看 CSS 网格。 css-grid 将使这项工作变得超级简单。
-
嗨,我愿意使用 javascript,事实上这就是我计划显示/隐藏框的方式(使用 display:block 和 display:hide)。我想我可以设置消息框的固定宽度,但高度会改变。谢谢,布赖恩
-
啊,好吧,所以 css-grid 本质上看起来像表格。也许我会试一试。谢谢!
-
顺便说一句,您的 HTML 无效。只有
<li>元素可以是<ul>元素的子元素。
标签: html css flexbox css-position