网上有几种方法可以将列的高度设置为相等。我认为最好的一个是“Equal Height Columns with Cross-Browser CSS”。
但是在joomla模块结构上应用该方法存在问题,我无法确定其工作正常。
我在jooomla模板源上使用 rounded module chrome (模块的一个主背景和内部DIV的另一个背景图像来封装模块底部),因此每个模块都以这种方式呈现:
<div class="module_menu">
<div>
<div>
<div>
<h3>Main Menu</h3>
<ul class="menu">
<li><!-- various menu items --></li>
</ul>
</div>
</div>
</div>
</div>
我连续使用包含在父DIV中的3个模块。这是代码:
<div style="width:904px; margin:20px; float:left; overflow:hidden; position:relative;">
<div style="width:904px; float:left; position:relative;">
<div style="width:904px; float:left; position:relative;">
<div style="float:left; width:288px; height:100%; margin-right:20px;">
<jdoc:include type="modules" name="user4" style="rounded" />
</div>
<div style="float:left; width:288px; height:100%; margin-right:20px;">
<jdoc:include type="modules" name="user5" style="rounded" />
</div>
<div style="float:right; width:288px; height:100%;">
<jdoc:include type="modules" name="user6" style="rounded" />
</div>
</div>
</div>
</div>
最后还有与Joomla模块风格相关的Css:
div.module-gallery, div.module, div.module_menu {
width:291px;
background:url(../images/module-bg.png) no-repeat 50% bottom;
}
div.module div div div, div.module_menu div div div {
padding-right:15px;
padding-left:15px;
background:url(../images/module-bg-bottom.png) no-repeat 50% 100%;
padding-bottom:15px;
min-height:230px;
}
div.module div div div div, div.module_menu div div div div {
background:none;
}
如何通过保存模块背景样式来设置模块高度等于自动/动态。
由于
答案 0 :(得分:2)
您需要查看templates/system/html/modules.php
。
然后,您可以创建module chrome
的副本以输出您的模块结构,这将更有益,因为您的代码有点令人难以阅读,并且不是非常语义。即。
function modChrome_myModuleName($module, &$params, &$attribs)
{
$doc =& JFactory::getDocument();
$css = ".moduleOuter { your style }";
$css .= ".moduleInner{ your style }";
$doc->addStyleDeclaration($css);
?>
<div class="moduleOuter">
<div class="moduleInner">
<?php if ($module->showtitle != 0) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
</div>
<?php
}
然后猜测用模式调用模块,如下:
<jdoc:include type="modules" name="left" style="myModuleName" />
从那时起,您将拥有一种更加语义的方式来调用模块,并使您更轻松地获得CSS高度。