好,
我确信之前已经回答过,而且我相信这个链接可以帮助我http://docs.joomla.org/Hide_column_to_avoid_width_issues
我对语法或php编码不是很熟悉,所以我无法按照我要做的事情进行操作..
我正在构建一个joomla 2.5模板,当我没有发布模块时,我正在使用countmodules隐藏'divs'或整个位置。我的问题是让我说在100%宽度的主列中我想有时在主内容框内的内容右侧显示一个模块,只有整列宽度的25%宽度。好的,这很有效。
我想将内容浮动到左侧,这个25%宽度的模块我们称之为'right1'并且它浮动到右边,所以我需要将我的主要内容放在75%宽度附近以使一切都漂亮地漂浮并正确显示它确实!我的问题是,如果'right1'不存在,我不明白如何使我的主要内容宽度为100%。如果我在'right1'中没有显示任何模块,那么它不会显示我如何将主要内容的css更改为100%而不是缩小到75%以弥补缺少的right1位置。
我可能真的很蠢,在我面前有一个简单的解决方案,我记不住了。提前谢谢!
-edited -
这就像这样的
<div id="contentcontainer">
<jdoc:include type="message" /><jdoc:include type="component" />
<?php if ($this->countModules( 'right1' )) : ?>
<div id="right1"><jdoc:include type="modules" name="right1" style="xhtml" /></div>
<div class="clearfix"></div><?php endif; ?><?php if ($this->countModules('right2')): ?>
<div id="right2"><jdoc:include type="modules" name="right2" style="xhtml" /></div>
<div class="clearfix"></div>
<?php endif; ?>
</div></div></div>
我刚刚添加了contentcontainer,以确保它们在100%宽度的容器中使用
#contentcontainer{
width:100%;
position:relative;
}
#right1, #right2 {
border: 1px solid #990000;
border-radius: 18px 18px 18px 18px;
box-shadow: 5px 3px 5px #990000;
display: block;
float: right;
height: auto;
width: 25%;
}
我把内容使用的任何标签浮动:左;我尝试做的是使用'min-width:'到主要内容,min-width似乎不起作用。那么什么可能是一个解决方案,希望我不必像曾经建议的那样转向jQuery。这有足够的信息吗?
-edited -
答案 0 :(得分:0)
您可以使用一些简单的PHP和内联样式来完成。我不是PHP方面的专家,所以这可能不会像它那样优雅但是我确信有人会纠正它。
<div id="contentcontainer">
<?php
//column calculation
$columns == 0;
if($this->countModules( 'right1' )) {$columns++;}
if($this->countModules( 'right2' )) {$columns++;}
$centercolumnwidth = 100 - (25 * $columns);
?>
<jdoc:include type="message" />
<div id="maincolumn" style="width:<?php echo $centercolumnwidth ?>%">
<jdoc:include type="component" />
</div><!--/maincolumn-->
<?php if ($this->countModules( 'right1' )) : ?>
<div id="right1">
<jdoc:include type="modules" name="right1" style="xhtml" />
</div><!--/right1-->
<div class="clearfix"></div>
<?php endif; ?>
<?php if ($this->countModules('right2')): ?>
<div id="right2">
<jdoc:include type="modules" name="right2" style="xhtml" />
</div><!--/right2-->
<div class="clearfix"></div>
<?php endif; ?>
</div><!--/contentcontainer-->
我刚刚在没有测试的情况下输入了它,但它应该将#maincolumn的宽度设置为100%,75%或50%,具体取决于是否发布了right1和/或right2。 您还需要将CSS中的#maincolumn浮动到左侧。