javascript - 使用 Javascript 移动使用 CSS Top Bottom Left Right 定位的元素

标签 javascript html css

我有一个没有任何固定尺寸的容器。我希望容器的大小由它的内容决定。像这样:

    #containerTL{
    position:absolute;
    bottom: 0px;
    right: 0px;
    margin: 5px;
    border: 1px solid black;
    cursor: default;    
    }

    #content{
    position:relative;
    background: gray;
    margin: 0px;
    top: 0px;
    height: 100px;
    width: 120px;
    cursor: default;    
    }

    <div id="containerTL"><div id="content"></div></div>

我还想移动容器的位置,让它的内容随行。通过修改容器 style.top 和 style.left 来设置位置很容易,我遇到的问题是元素可能使用“bottom”或“right”定位。如果没有设置尺寸,容器会增长,而不是在我设置 top 和 left 属性时移动。

我想我理解了这个问题。假设样式指定了底部和左侧位置,我使用 javascript 更新了顶部和左侧属性,设置了顶部和左侧属性,但样式指定了底部属性。

我想我总是可以在更新顶部和左侧后将底部和右侧属性设置为“自动”...但是如果我希望能够将每个元素发送回其原始位置,一般来说,无需编写每个元素的特殊情况。

这里有一个 fiddle 来说明这个问题:fiddle

最佳答案

你可以这样做:

this.style.right = '';
this.style.left = '';
this.style.top = '';
this.style.bottom = '';

它会取消你通过 .style 设置的任何设置,并恢复到你在样式表中定义的内容。

查看此 fiddle举个例子。单击一次移动它,再次单击应将其移回原始位置。

关于javascript - 使用 Javascript 移动使用 CSS Top Bottom Left Right 定位的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094273/

相关文章:

javascript - 链接参数不会在 JSX 中呈现( react )

javascript - Jquery 添加类并在页面重新加载时保留

javascript - 使用 PHP 和 JS 从 URL 解析 JSON

javascript - 为什么 JavaScript 查看器没有显示在 Eclipse 编辑器选择中?

javascript - 仅当前一个功能已成功完成时,如何正确触发此功能?

javascript - jquery 背景动画与#anchor 冲突

html - Div 消失,直到我在 Opera 中滚动

javascript - 如何修复未链接到用于排序数据的功能的按钮? (仅 JavaScript,无 jquery)

css - Chrome、Firefox 和 Explorer 中的图片、srcset 和 css

css - 带有 SASS 和 :hover 的 BEM