CSS how to position element in half height (vertical 50%)

纵饮孤独 提交于 2019-12-03 12:34:01

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 with position and bottom or top or left or right and then move it by the dimensions of itself.

Hope this helps!

ggdx

using CSS & jQuery-

CSS

.div{
    top:50%
}

jQuery

var divheight = $(.div).height() / 2;
$(.div).attr('style','margin-top:-'+divheight+'px;');

If you don't know both heights, there are only two ways:

  1. Set the parent display: table and children display: table-cell and vertical-align: middle.
  2. Using CSS3 Flexbox: http://www.w3.org/TR/css3-flexbox/ but with limited browser support: http://caniuse.com/#search=flexbox

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.

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!