DIV多列显示问题的解决办法
问题一:循环显示栏目列表的多列显示
模板代码:
【ArticleList_ChildClass】【Cols=99】
-
{$rsClass_ClassName}
-
【/ArticleList_ChildClass】
模板代码说明:
1:
【ArticleList_ChildClass】【Cols=99】
与
【/ArticleList_ChildClass】
是将栏目循环标签输入的代码中,在DIV页面不需要的多余代码隐藏起来;
2:
这个层是所有栏目列表的外框,它在浏览器中的实际宽度影响多列显示的最终效果,比如需要它其中的r_box_list层按一行两列显示,那么r_box_list层的宽度必须大于main_line层的三分之一及不大于它的二分之一;
3:
这个层是每一个栏目框的外框,主要是对它的宽度、对齐方式进行定义;
样式定义:
#main_line,#main_line dl
{
Margin:0px;
Padding:0px;
Width:770px;
Clear:both;
}
#main_line dd
{
Margin:0px;
Padding:0px;
}
#r_box_list
{
Width:330px;
Float:left;
Height:200px;
overflow: hidden;
}
样式说明:
1:在知道main_line的实际宽度后,再按需要定义r_box_list的宽度,如果是按一行三列显示,那么r_box_list层的宽度是:大于main_line层的四分之一并不少于它的三分之一。
2:再将r_box_list层的对齐方式设为左对齐:float:left;。
3:设置r_box_list层的高度,并保证其在实际显示时被撑开,防止出现意想不到的效果,最好再加上overflow: hidden;定义。
问题二:文章列表多列显示
模板标签调用:
- {$ClassName}{$ChannelShortName}
模板说明:
1:Main_line 、R_box_chan两个层的用跟上一问题中Main_line相同,在这一问题中,要确定最里面层的实际宽度;标签中,红色“5”表示输出的代码为DIV格式;
2:输出的代码是如下框架
- 标题
-
奇数行
偶数行
样式定义:
#r_box_chan,#r_box_chan dl
{
margin:0px;
padding:0px;
clear:both;
}
#r_box_chan dd
{
Margin:0px;
Padding:0px;
}
#listbg,# listbg2
{
float:left;
width:340px;
overflow: hidden;
height:23px;
line-height:23px;
}
样式定义:
其样式定义的原理与上一问题相同,在#listbg与# listbg2两个层的定义中:
overflow: hidden;height:23px;line-height:23px;防止列表中有换行的现像。