Html 如何在页面上创建一个始终可见但不妨碍其他元素的元素?

Html 如何在页面上创建一个始终可见但不妨碍其他元素的元素?,html,fixed,Html,Fixed,我有一个HTML页面,它的布局非常复杂()。我需要在页面上放一张图片,访问者可以把它拖到任何地方,这样她就可以记住自己在哪里。我已经实现了书签功能,但是现在我需要把图片放在她可以轻松抓取的地方 基本上,我希望元素保持在右侧ToC的下方,但它不应该滚动到视图之外 我想我可以使用JavaScript在元素开始滚动出视图时移动它,但是有更好的选择吗?我可以说“浮动在ToC div或view.top的右侧和下方,以较大者为准” 或者我应该创建一个固定的标题(带有链接和ToC) 还有其他想法吗?如果您只想

我有一个HTML页面,它的布局非常复杂()。我需要在页面上放一张图片,访问者可以把它拖到任何地方,这样她就可以记住自己在哪里。我已经实现了书签功能,但是现在我需要把图片放在她可以轻松抓取的地方

基本上,我希望元素保持在右侧ToC的下方,但它不应该滚动到视图之外

我想我可以使用JavaScript在元素开始滚动出视图时移动它,但是有更好的选择吗?我可以说“浮动在ToC div或view.top的右侧和下方,以较大者为准”

或者我应该创建一个固定的标题(带有链接和ToC)


还有其他想法吗?

如果您只想固定图像,但仍然可以滚动到窗口顶部,则需要处理窗口的滚动事件,并在图像滚动到顶部时将图像的位置设置为固定

有关此示例,请参见上的站点导航


或者,您可以给出整个TOC
位置:fixed;右:0,给toc一个宽度,给摘要一个与toc宽度相等的右边距。这样就不需要JavaScript,而且整个TOC都是可见的。

可能可以使用JQuery完成,但总是很紧张。我会考虑一个固定的div。当然,你可以把它定位在菜单下面,这样它就不会比菜单更高(=靠近顶部边缘),并且将保持它的位置。
.thingy { position: fixed; right: 0px; top: 415px; width: 256px }

这就要求菜单下方没有其他内容,否则书签图标将与其他内容重叠。

因为有不止一种解决方案。也许,但是,总是有。在我看来,这不是一个真正的CW问题。让我换一种方式说:因为我认为没有一个简单的解决方案,所以我希望有几个人会对每个答案进行改进。答案可能太复杂了,不可能只有10分。你所说的适用于许多问题。如果它对于10分来说太复杂了,那应该是赏金,而不是CW:)你从哪里得到最高值的?这是从toc边界框测量的吗?然后我有另一个问题:如果DIV是固定的,那么图像也是固定的。当用户拖动图像并滚动页面时,图像将移动。我想我可以解决这个问题(在DOM中移动图像或使用两个图像并切换可见性)。@Aaron 1。是的,这是根据你的总目标成本来衡量的。2.通过在拖放开始时更改位置(原型中称为
makeAbsolute
),这可能是可以解决的(没有双关语)。我希望CSS中有一个“从元素ID的XXX侧偏移”)@Aaron true!从技术上讲,使用position:relative在一定程度上是可行的,但这不是真正的交易。