您的代码生成如下所示的HTML:
<tbody> <td><input type="checkbox" name="prodevxp" value="Program Management"><label for=""> Program Management</label></td> <td><input type="checkbox" name="prodevxp" value="Finance Administration"><label for=""> Finance Administration</label></td> <td><input type="checkbox" name="prodevxp" value="Training Facilitation"><label for=""> Training Facilitation</label></td> <td><input type="checkbox" name="prodevxp" value="Operations Logistics"><label for=""> Operations Logistics</label></td> <td><input type="checkbox" name="prodevxp" value="Communications Media"><label for=""> Communications Media</label></td> <tr> <td><input type="checkbox" name="prodevxp" value="Monitoring Evaluation"><label for=""> Monitoring Evaluation</label></td> </tr> <td><input type="checkbox" name="prodevxp" value="Board Goveranance"><label for=""> Board Goveranance</label></td> <td><input type="checkbox" name="prodevxp" value="Research Learning"><label for=""> Research Learning</label></td> <td><input type="checkbox" name="prodevxp" value="Strategic Planning"><label for=""> Strategic Planning</label></td> <td><input type="checkbox" name="prodevxp" value="Program Design"><label for=""> Program Design</label></td> <tr> <td><input type="checkbox" name="prodevxp" value="Other Area"><label for=""> Other Area</label></td> </tr> </tbody>
看看线条是如何包裹的 <tr> 最终靠自己的路线?你真正想要产生的是这样的:
<tr>
<tbody> <tr> <td><input type="checkbox" name="prodevxp" value="Program Management"><label for=""> Program Management</label></td> <td><input type="checkbox" name="prodevxp" value="Finance Administration"><label for=""> Finance Administration</label></td> <td><input type="checkbox" name="prodevxp" value="Training Facilitation"><label for=""> Training Facilitation</label></td> <td><input type="checkbox" name="prodevxp" value="Operations Logistics"><label for=""> Operations Logistics</label></td> <td><input type="checkbox" name="prodevxp" value="Communications Media"><label for=""> Communications Media</label></td> <td><input type="checkbox" name="prodevxp" value="Monitoring Evaluation"><label for=""> Monitoring Evaluation</label></td> </tr> <tr> <td><input type="checkbox" name="prodevxp" value="Board Goveranance"><label for=""> Board Goveranance</label></td> <td><input type="checkbox" name="prodevxp" value="Research Learning"><label for=""> Research Learning</label></td> <td><input type="checkbox" name="prodevxp" value="Strategic Planning"><label for=""> Strategic Planning</label></td> <td><input type="checkbox" name="prodevxp" value="Program Design"><label for=""> Program Design</label></td> <td><input type="checkbox" name="prodevxp" value="Other Area"><label for=""> Other Area</label></td> </tr> </tbody>
然后每行包裹一个 <tr> 。你怎么做的呢?好吧,首先尝试将所有项目放在一行:
<tbody> <tr> <?php foreach($array as $key => $item): ?> <td><input type="checkbox" name="prodevxp" value="<?php echo $key; ?>"><label for=""> <?php echo $item; ?></label></td> <?php endforeach; ?> </tr> </tbody>
这是一个良好的开端!您现在需要做的就是让它结束最后一行并每5列开始一个新行。幸运的是,这很容易:
<tbody> <tr> <?php $i = 0; foreach($array as $key => $item) { if($i > 0 && $i % 5 === 0) { echo '</tr><tr>'; } $i++; ?> <td><input type="checkbox" name="prodevxp" value="<?php echo $key; ?>"><label for=""> <?php echo $item; ?></label></td> <?php } ?> </tr> </tbody>
普雷斯托!但是,我还是要叫你出去使用桌子。这不是表格数据。这是布局。骗子!因此,让我们试着弄清楚如何以不同的方式做到这一点。看起来你正在使用Bootstrap。 我想知道它是否有任何可以帮助解决这个问题!
略读一下 文件 ,你应该能够很容易地设置一个网格。首先,而不是一个 table / tbody 把整个东西包裹起来 container-fluid 。然后,而不是 td s,将每个项目包装成一个 col-md-2 或者其他的东西。 (实际上,似乎在Bootstrap中没有为五列提供条款,但是有一些条款 这个解决方案 在语义上更正确 不要求我们保留额外的索引变量 响应小屏幕尺寸(我认为) 更好
table
tbody
container-fluid
td
col-md-2
这个解决方案