【发布时间】:2011-06-25 03:19:24
【问题描述】:
我有一个定位的 div,它的内容可能太长,所以会出现滚动条(overflow:auto 设置)。它用作 ajax 应用程序中的对话框。我想在它的右上角修复一个关闭按钮,这样当用户滚动 div 时它就不会滚动了。
我用position:fixed; right:0; top:0 尝试过,但它把按钮放在页面的右上角而不是在 div 中(在 Firefox 中)。
是否可以仅使用 CSS 来放置此按钮,而无需在每个滚动事件上使用 js 中的 offsetWidth/Height 进行黑客攻击?
ps:div的高度和宽度不是固定值,它取决于内容的大小和浏览器窗口的大小。用户也可以根据需要调整它的大小。
【问题讨论】:
-
可能值得考虑为按钮使用带有固定位置背景图像的 div。
-
@NickM 似乎是个好主意,但你会如何点击按钮呢?
-
@ithil 只要将 div 的高度和宽度设置为与背景图像的高度和宽度相匹配,它就应该是可点击的。至于 处理 点击,这取决于您使用的是纯 HTML 还是 JS。如果它只是 HTML,您可以将 div 包装在带有
href的a标记中(或者甚至只使用a标记而不是div并将其设置为display: inline-block)。如果是JS,可以点击div收听。我是否正确理解了您的问题? -
@NickM 是的,我相信您确实感谢了,但是我猜也使用 JS 将高度和宽度“设置为匹配”?正如 OP 问题“div 的高度和宽度不是固定值”,这就是我想知道的原因
-
@ithil 我明白了。我错过了那部分。在这种情况下,我认为某些 JS 必须处理 div 的大小是正确的。
标签: html css stylesheet positioning