我期待构建一个位于元素旁边的工具提示。将它放在元素的中心很容易。但有没有办法垂直地这样做(在元素的右侧或左侧垂直放置在元素高度的中间)?
出于我的目的,元素的高度是已知的&工具提示的高度不是。工具提示可以是元素的子元素。
但是,当两个高度都未知时,我也很好奇如何做到这一点。通过高度我理解元素和工具提示的高度。宽度可以知道并修复。
答案 0 :(得分:21)
这已经很晚了但是我试着在codepen上做一个例子,如果我正确地理解了你的问题,它会显示一个工作示例。
http://codepen.io/trgraglia/pen/RWbKyj
使用CSS转换。
例如,transform:translateX(-50%);
会将元素剩余的元素移动50%。现在,您可以使用position
和bottom
或top
或left
或right
将其与父级对齐,然后按其自身的维度移动。
希望这有帮助!
答案 1 :(得分:3)
使用CSS&的jQuery -
.div{
top:50%
}
var divheight = $(.div).height() / 2;
$(.div).attr('style','margin-top:-'+divheight+'px;');
答案 2 :(得分:2)
如果您不知道这两个高度,则只有两种方式:
display: table
和子display: table-cell
和vertical-align: middle
。如果您对此主题感兴趣,可以在这里找到一篇包含更多提示的好文章: http://www.vanseodesign.com/css/vertical-centering/
正如您所看到的,在不知道高度和使用CSS3的情况下垂直对齐元素的唯一方法是使用display: table-cell
。
答案 3 :(得分:1)
如果您知道内容的高度,那么将工具提示居中的最简单方法是将工具提示的line-height
设置为内容的高度。您可以在此处查看我是如何做到的jsFiddle