左 div 在右 div 中间垂直对齐

Align left div vertically on middle of right div

我做了一个 "arrow",在另一个(右边)div 的左侧有一个 div。两者都在容器 div 内。我正在尝试将它与父对象的中间对齐(因此保持在右边 div 的中间对齐)与

top: 50%;

...但它并没有完全对齐在中间。它可以用 "margin-top" 设置,但我不想要固定值。

这是 JSFiddle:http://jsfiddle.net/qhofmgbb/

尝试

top: calc(50% - 4px)

4px 是箭头 div 对角线的一半,divided by 2。 开方(6 * 2 + 6 * 2)/ 2.

说明:箭头div旋转了,对角线长度为8.48px。 您应该减去容器 div 高度中间值的一半,以找到相对于顶部的 y 坐标,使其居中。 不过,这在旧版浏览器中不起作用。