如何使用 JavaScript 动态设置 DIV 元素的左侧和顶部 CSS 位置
How to Set the Left and Top CSS Positioning of a DIV Element Dynamically Using JavaScript
我想手动创建一个div
元素,然后使用JavaScript为其添加一些CSS样式。我创建了一个div
元素,并使用JavaScript更改了它的样式。问题是,某些CSS样式不起作用。
这是小提琴预览
(color
、background
、width
、height
)这些属性工作正常,但(zIndex
、top
、left
)属性不起作用。我想知道为什么会发生这种情况以及如何纠正它。
这是我的 JavaScript 代码:
function css()
{
var element = document.createElement('div');
element.id = "someID";
document.body.appendChild(element);
element.appendChild(document.createTextNode
('hello this javascript works'));
// these properties work
document.getElementById('someID').style.zIndex='3';
document.getElementById('someID').style.color='rgb(255,255,0)';
document.getElementById('someID').style.background='rgb(0,102,153)';
document.getElementById('someID').style.width='700px';
document.getElementById('someID').style.height='200px';
//these do not work
document.getElementById('someID').style.left='500px';
document.getElementById('someID').style.top='90px';
}
这是我的相关 HTML 代码
<input type="submit" name="cssandcreate" id="cssandcreate" value="css" onclick="css();"/>
left
和 top
CSS 样式设置不起作用,因为必须先设置 position
属性。 如果未设置 position
属性,则设置left
和top
样式将不起作用。 position
属性具有以下设置:
- 静态的
- 绝对
- 固定
- 相对
- 初
- 继承
因此,请尝试在设置left
和top
之前设置 position
属性:
object.style.position="absolute"
position
属性之间的差异会影响后续设置对元素的定位。
document.getElementById('someID').style.position='absolute';
document.getElementById('someID').style.left='500px';
document.getElementById('someID').style.top='90px';
我按照 Sandy Good 的建议将第一行代码添加到您的代码中。他说,在使用"左"和"顶部"参数之前,只需设置"位置"参数。所以我做到了。它有效!
我希望这就是您正在寻找的:
function css(){
var element = document.createElement('div');
element.className = "someID";
document.body.appendChild(element);
element.appendChild(document.createTextNode
('hello this is javascript work'));
// this properties are work
var a = document.getElementsByClassName('someID');
for(var i in a ){
a[i].style.zIndex='3';
a[i].style.color='rgb(255,255,0)';
a[i].style.background='rgb(0,102,153)';
a[i].style.width='700px';
a[i].style.height='200px';
a[i].style.left='500px';
a[i].style.top='90px';
}
}
相关文章:
- 使用jQuery更改元素的顶部位置
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 点击更改顶部位置不会有任何作用
- 打开对话框正在更改我的滚动顶部位置
- 获取文档的当前顶部位置
- 单击时通过动画更改元素的顶部位置
- jQuery在某些动画更改其位置后获取元素的最新顶部位置
- 单击时使用旧的jQuery滚动顶部位置
- 防止 iframe 中的恶意 Flash 广告将用户重定向到顶部位置
- 更改borderBottom在顶部位置地址的颜色
- Jquery点击事件只在页面到达顶部位置时起作用
- Jquery注意,右顶部位置,显示新消息更高(又名后进先出)
- 变换(缩放)与简单的宽度/高度和左/顶部位置
- 如何获得文本本身的顶部位置,而不是文本元素,在jQuery/javascript
- 设置顶部位置为父元素与子元素之差的1/2
- Chart.js,每次更新后,避免滚动到顶部位置
- 如何找到窗口顶部位置和我的iframe开始位置之间的距离
- jQuery -拖放-获取左侧和顶部位置
- 基于顶部位置更新Div的类名
- 设置顶部位置并打开新选项卡