jquery - vAlign 元素居中,但相对于内容处于水平位置

标签 jquery css

http://jsfiddle.net/DAFHq/1/

<div id="gray-box">
<div id="red-box"></div>
</div>

我需要将红色方 block 放置在其中包含滚动内容的灰色框右侧 20 像素处,同时使其在中心垂直对齐。

在滚动和调整屏幕大小时,它应该保持相对于灰色框的位置。

有什么想法吗? jsFiddle 是我发现并修改以显示我需要的,垂直对齐是完美的,但我不知道如何定位它我需要它水平。

也许是 jQuery 的东西?

最佳答案

试试这个:

var positionFoo = function() {
  $('#foo').css({
    'left': $('#bar').offset().left + $('#bar').width() + 20 + 'px',
    'top': ($(window).height() / 2) - ($('#foo').height() / 2)
  });
};

$(window).resize(positionFoo);
positionFoo();

您还需要将 position: fixed; 添加到 #Foo

Updated fiddle

关于jquery - vAlign 元素居中,但相对于内容处于水平位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355435/

相关文章:

javascript - Bootstrap 模态在滚动时自动关闭

javascript - 将JSON数据转换成Highcharts基本折线图中的格式

javascript - jQuery 函数在带有 Masonry 的 Infinite Scroll (AJAX) 之后不起作用

html - 如何使外部div增长或缩小到内部div的大小

html - 如何使用 CSS 定位元素中的文本而不是嵌套元素中的文本

javascript - 单击按钮更改事件的 Bootstrap 选项卡

php - 测试 100 多个域的最快方法

php - CSS 导致 SQL INSERT 执行两次

javascript - 如何使用 toDataURL() 将图像作为背景图像与 Canvas 内容一起添加到一个图像中?

php - 将 HTML\PHP 页面加载到另一个页面的 div 中