【问题标题】:Set element at the vertical middle of a row在行的垂直中间设置元素
【发布时间】:2013-10-03 16:01:40
【问题描述】:

在我的网格中,我想做这样的事情:

[main row]
|[columns-10]                     |[columns-2][row]"above img"|
|   Some text                     |                           |
|   here, on                      |[row]            image here|
|   multiple                      |                           |
|   lines                         |[row]           "below img"|
|   ...                           |                           |

请注意第 2 列中的行相对于第 10 列中的文本是如何均匀分布的(垂直)。

Zurb 让我接近,但 columns-2 内的行似乎不知道外行的高度。

这是我的 (haml) 代码:

.row
  .columns.large-10
    %p #{"It does work on all browsers " * 20 }
  .columns.large-2
    .row.right
      .columns.large-12
        above img
    .row.right
      .columns.large-12
        %img{ src: "http://www.gravatar.com/avatar/4d1795fc22c16e533fd1d11fae39fef8.png",
              alt: "Baboon's logo" }
    .row.right
      .columns.large-12
        below img



编辑:Here's the JSFiddle 尝试调整窗口大小并查看图像如何保持在左上角而不是位于大文本的中间高度。 p>

【问题讨论】:

  • 你能做一个jsfiddle.net 演示来展示这个问题吗?
  • @thirtydot 我不确定,和js没关系..
  • @Baboon JSFiddle.net 是一个使用 HTML/CSS 和 JS 创建示例的沙箱……您可以创建、保存和共享链接,以便我们检查您的 HTML 和 CSS 并进行调整以解决你的问题。
  • @Paulie_D 好的,我添加了它:)

标签: html css haml zurb-foundation


【解决方案1】:

您需要在您的 RoR 应用程序中包含 jQuery 库并更改 HAML 代码并使用以下 JS 代码添加一个 JS 文件。

HAML 代码:

.row
  .columns.large-10
    %p #{"It does work on all browsers " * 20 }
  .columns.large-2
    .row.right
      .columns.large-12
        above img
    .row.right#image-container
      .columns.large-12
        %img{ src: "http://www.gravatar.com/avatar/4d1795fc22c16e533fd1d11fae39fef8.png",
              alt: "Baboon's logo" }
    .row.right
      .columns.large-12
        below img

带有 jQ​​uery 库的 JS 代码:

var height=$('#image-container').parent().siblings().height();
var above_height=$('#image-container').siblings().height();
$('#image-container').find('img').height(height-2*above_height)

这是JSFiddle 演示。

【讨论】:

  • 我真的很惊讶我需要 javascript 来做这么简单的事情,更不用说 3rd 方库了。尽管如此,它似乎确实有效,但为什么图像会被拉伸?
  • 因为你输入了the rows inside the columns-2 seem to not be aware of the height of the outer row,所以图片按照外行的高度进行了拉伸。这里the outer row 表示父行。
  • 我只想让它居中,而不是拉伸=s
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 2018-11-19
  • 1970-01-01
  • 2015-04-05
  • 2015-04-16
相关资源
最近更新 更多