Liferay 6.2 布局不同大小的行

Posted

技术标签:

【中文标题】Liferay 6.2 布局不同大小的行【英文标题】:Liferay 6.2 layout rows of different sizes 【发布时间】:2015-12-10 20:00:13 【问题描述】:

我创建了一个 Liferay 6.2 布局,在其中放置 portlet 的单列中有四行。布局正确呈现,但问题是我需要四行具有不同的高度,例如 15%、25%、30%、30%,即 100%。我们是否可以在布局端本身这样做,以便在我使用此布局的任何地方都可以通用

谁能告诉我怎么做

我正在使用 Bootstrap 2.3.2

我想要达到的效果如下所示

我的liferay布局代码如下

template.tpl

<div class="layout1template" id="main-content" role="main">
        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12" id="column-1">
                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12" id="column-2">
                $processor.processColumn("column-2", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12" id="column-3">
                $processor.processColumn("column-3", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12" id="column-4">
                $processor.processColumn("column-4", "portlet-column-content portlet-column-content-only")
            </div>
        </div>
</div>

更新

template.tpl

<div class="layout1template" id="main-content" role="main">
        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12 row-one" id="column-1">
                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12 row-two" id="column-2">
                $processor.processColumn("column-2", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12 row-three" id="column-3">
                $processor.processColumn("column-3", "portlet-column-content portlet-column-content-only")
            </div>
        </div>

        <div class="portlet-layout">
            <div class="portlet-column portlet-column-only span12 row-four" id="column-4">
                $processor.processColumn("column-4", "portlet-column-content portlet-column-content-only")
            </div>
        </div>
</div>

CSS

#main-content 
  height: 100vh;


.row-one 
  height: 15%;


.row-two 
  height: 25%;


.row-three 
  height: 30%;


.row-four 
  height: 30%;

【问题讨论】:

100% 什么?窗口高度还是main-content 高度?您是否已经尝试过寻找答案,例如this one? @TobiasLiefke 我试过但没用 您应该始终将您迄今为止尝试过的东西(以及为什么它不起作用)添加到您的问题中 - 否则它可能会因为重复而被关闭。 @TobiasLiefke 看看我的更新,我试过了,但没用 【参考方案1】:

您正在定义具有未定义高度的父级的行中的高度。高度取决于父母。所以你的html需要是这样的:

  <div class="layout1template" id="main-content" role="main">
        <div class="portlet-layout row-one">
    -------------------------------^^^^^^^
            <div class="portlet-column portlet-column-only span12" id="column-1">
                $processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")
            </div>
        </div>
  </div>

【讨论】:

现在布局行带有上述高度,但问题是当我在行内拖动并放置一个 portlet 时,相应的高度不会应用于 portlet 是否需要为 portlet 执行任何操作才能应用布局行高 我猜是因为结构发生了变化。高度取决于中间父级高度。如果这种情况发生变化,那将是奇怪的行为 任何解决方案 定义#main-content的中间子元素的高度

以上是关于Liferay 6.2 布局不同大小的行的主要内容,如果未能解决你的问题,请参考以下文章

在 liferay 6.2 中自定义停靠栏

Liferay 6.2 启动失败,出现 500 错误

Intellij Idea Liferay 6.2 服务器

CSS 文件中的背景图像路径 - Liferay 6.2

覆盖特定类 PwdEncryptor liferay 6.2

Liferay 6.2 自定义连接具有相同名称的列重叠