I'm looking forward to build a tooltip which is positioned next to the element. It's easy to put it over and under in the center of element. But is there a way to do so vertically (on the right or left side of element vertically positioned in a middle of elements height)?
For my purpose, height of the element is known & height of tooltip is not. And tooltip can be a child of element.
But, I'm also curious about how to do it when both heights are unknown. By heights I understand element's and tooltip's height. Width can be known and fixed.
If you don't know both heights, there are only two ways:
display: table
and childrendisplay: table-cell
andvertical-align: middle
.If you are interested in this topic, here there is a good article with more tips: http://www.vanseodesign.com/css/vertical-centering/
As you can see, the only way to vertical align an element without knowing its height and nor using CSS3 is using
display: table-cell
.This is pretty late but I tried to make an example on codepen which shows a working example if I understood your question correctly.
http://codepen.io/trgraglia/pen/RWbKyj
Use CSS transform.
For example,
transform:translateX(-50%);
, will move an element left by 50% of ITSELF. Now you can align it to the parent withposition
andbottom
ortop
orleft
orright
and then move it by the dimensions of itself.Hope this helps!
using CSS & jQuery-
CSS
jQuery
If you know the height of the content the easiest way to center the tooltip is to set the
line-height
of tooltip to the height of content.You can see how i did that here jsFiddle