javascript - 以绝对位置居中图像(顶部,左侧)

标签 javascript jquery css less

我正在使用参数方程围绕一个圆定位图像 ( How do I calculate a point on a circle’s circumference? )

我使用简单的数学方法以更少的方式完成此操作:

// x,y position on circumference:
// x = a + r * cos(t)
// y = b + r * sin(t)

.position {
left: @a + ( @r *  cos(@t) );
top: @b + ( @r *  sin(@t) );
}

我遇到的问题是,这将图像定位在左上角,而不是图像的中心,因此没有考虑它具有的高度和宽度的视觉偏移。尝试调整 height/2,width/2 不起作用,因为每个图像的 Angular 不同。

有没有一种简单的方法可以以这种方式定位图像,使其以 x,y 为中心?

最佳答案

.position {
    left: @a + ( @r *  cos(@t) );
    top: @b + ( @r *  sin(@t) );

    margin-left: -@r;
    margin-top: -@r;
}

虽然您可以这样做而不是计算:

top:50%;
left:50%; 
position:absolute; 

margin-left:-@r;
margin-top:-@r;

FIDDLE DEMO

关于javascript - 以绝对位置居中图像(顶部,左侧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19636249/

相关文章:

javascript - 将日期插入 mysql 数据库 [我正在使用 php 和 xampp mysql 数据库]

javascript - 检索客户端请求的 ip 地址

javascript - "sort not a function"仅在谷歌浏览器中出现 angularjs 错误

javascript - 在 Javascript 中动态执行 xquery 并将结果存储在 JS 变量中

javascript - 新创建的列表项并不总是通过 Socket IO 触发事件

jquery 滚动顶部不工作

javascript - JQuery 在点击时隐藏/显示多个 div 的内容

javascript - Ajax返回数据jquery中不重复内容

html - 背景 : url ('example.jpg' ); Does not work!

html - 删除从 flex 容器复制的文本中的换行符