商品分类显示的形式像这样代码怎么写呢(高手帮忙啊)

2016-07-07 16:25 来源:www.chinab4c.com 作者:ecshop专家

如下面的附件图片 个人觉得满好看的呢

未命名.jpg (47.07 KB)

未命名.jpg


回答:
可以引荐 http://bbs.ecshop.com/viewthread ... 7%D6%C0%E0%2B%C1%D0

或者 http://bbs.ecshop.com/viewthread ... hlight=%B7%D6%C0%E0

这种它其实只是一个分类下面小分类分两例 我要的是那种在这样的基础上还自动分两横显示

网页制作学习网址:
http://www.tudou.com/playlist/pl ... 77&iid=10395087

我用那个先竖排再横排 可是代码写的总是达不到那种效果啊 我参照的是下面这样的方法去做的
传统的网页资料,显示方式都是先横排,再竖排。

例如:

1 234 (换行)
5 678 (换行)
9 10 11 12

这种表现形式很陈旧,但很多网页都在使用。不管是TABLE布局,还是DIV+CSS布局。

但是,如果想使用这种方式呢:

1 5 9
2 6 10
3 7 11
4 8 12

这种内容布局,最常用的地方莫于过 信息发布的分类了。看一下各大信息发布网站,客集齐,58同城等就明白了。

如果再加多两点要求:
一、要使用DIV+CSS。不能使用TABLE布局。
二、在程序中根据内容自动生成。而且需要程序与HTML分离的模版技术。

PHP程序:

<?

//////////////////////////////分类全自动先竖排,再横排 BY MIKEYI 2008-03-05///////////////////
//MK_CACHE为信息分类数据,你可以从数据库或缓存读取均可,数据结构为数组即可,内容及格式不限
$info_category = $MK_CACHE['info_category'];
$info_category_count = count($MK_CACHE['info_category']);
//横排数
$info_category_col = 4;
//竖排数,根据数据总条数自动
$info_category_row = ceil($info_category_count/$info_category_col);
//每条数据宽度
$info_category_width = 150;
//最外DIV宽度
$info_category_box_width = $info_category_width * $info_category_col;
//最外DIV高度 后面的整数为基数,根据实际显示字体大小作调整保持间隔,一般9px字体23 12字体26
$info_category_box_height = $info_category_row * 23;
//////////////////////////////////////////////////////////////////////////////////////////////
?>


HTML模版部分:

(由于我是使用自己开发的模版系统,所以部分伪语句大家会无法理解。于是我转成DISCUZ模版格式,方便大家理解)
//////////////////////////////////////////////////////////////////////////////////////////////
在DISCUZ模版中
<!--{loop $info_category $data}--> 相当于PHP的 foreach($info_category as $data){
{eval $key=0;} 相当于PHP的 $key = 0;
<!--{if $key!=0 AND $key%$info_category_row==0}--> 相当于PHP的 if($key!=0 AND $key%$info_category_row==0){

//////////////////////////////////////////////////////////////////////////////////////////////

<!--分类全自动先竖排,再横排 BY MIKEYI 2008-03-05-->
<div style="height:{$info_category_box_height}px;width:{$info_category_box_width}px;background:#fff">
<div style="float:left;width:{$info_category_width}px;">
{eval $key=0;}
<!--{loop $info_category $data}-->
<!--{if $key!=0 AND $key%$info_category_row==0}-->
</div><div style="float:left;width:{$info_category_width}px;">
<!--{/if}-->
<!--{if $data['lcid']==0}-->
<div style="font-weight:bold;">{$data['title']}($data['cid'])</div>
<!--{else}-->
<div ><a href="{$MK_DIR['info']}/post.php?cid={$data['cid']}" <!--{if $data['highlight']}-->style="{$data['highlight']}"<!--{/if}-->>
{$data['title']}
</a></div>
<!--{/if}-->
{eval $key++;}
<!--{/loop}-->
</div>
</div>

/////////////////////////////////////////////////////////////////
全文完。

高手帮忙看看 这样子的话应该是怎样写这个效果的代码才能实现下面这样的效果呢


疯了 没有高手出来看一下呢

不好意思啊,楼主,因为我想在第一页给你答案,所以删了一个你的废帖。
按你的意思是(我就给你个思想,具体代码你自己写):
<!--先来一个总的框-->
<div class="mainbody" style="overflow:hidden;">
<!--left-->
<div class="mianleft" style="float:left;">"><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul></div>
<!--middle-->
<div class="mianmiddle" style="float:left;">"><ul><li>5</li><li>6</li><li>7</li><li>8</li></ul></div>
<!--right-->
<div class="mianright" style="float:left;">"><ul><li>9</li><li>10</li><li>11</li><li>12</li></ul></div>
</div>
就是这么一个排版