你有两个问题;我有两个答案。
按类名获取
getElementById()
通过 idgetElementsByTagName()[]
获取元素,通过标签名获取元素,并通过类名获取元素,使用:
document.querySelectorAll("galleria-info")
设置位置
对不起,我用getElementById
andgetElementsByTagName
而不是querySelectorAll
.
right
属性
属性不是right
更合适吗?你可以得到身体(或容器)的宽度,然后从中减去你想要的。
var body_width = document.getElementsByTagName('body')[0].style.width;
var body_width = parseFloat(body_width);
document.getElementById('galleria-info').style.right = (body_width - 600) + "px";
固定宽度字体
但是,如果您使用的是固定宽度的字体,那么您可以获得字符串的长度,乘以每个字符的宽度,然后设置style.left
为减去它可以达到的最大距离(即 300 像素)。
var str_length = document.getElementById('galleria-info').innerHTML.length;
var str_length = str_length * 10; // Or whatever the fixed width is
document.getElementById('galleria-info-text').style.left = (300 - str_length) + "px";
包装器
这不使用 JavaScript,在我看来,这是一件好事,因为用户可以禁用 JavaScript。您可以在具有以下 CSS 的原始 div 周围有一个包装 div:
#galleria-info-wrapper {
width:300px;
text-align:right;
}
#galleria-info {
text-align:left;
}