您的位置:首页 > 编程语言 > PHP开发

php动态读取数据清除最右边距

2016-04-30 11:24 531 查看
需求效果一行3栏:



场景模拟:同事给了我这么一段静态代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
li,ul{padding: 0;margin:0;list-style: none;}
.box{
width:1000px;background: #ddd;height:500px;
}
.box li{margin:0 50px 20px 0;background:red;height:30px;width:300px;float: left;}
</style>
<body>
<div class="box">
<ul>
<?php
for($i=0;$i<9;$i++){
echo '<li></li>';
}
?>
</ul>
</div>
</body>
</html>


可是动态读取是统一的呀?宽度不够咋办捏?错误的换行效果并不是我们想要的!



解决方案一:样式加宽隐藏

<style>
li,ul{padding: 0;margin:0;list-style: none;}
.box{
width:1000px;background: #ddd;height:500px;overflow: hidden;
}
.box ul{width: 1200px;}
.box li{margin:0 50px 20px 0;background:red;height:30px;width:300px;float: left;}
</style>


预览正常:



解决方案二:php判断,清除最右栏边距

<div class="box">
<ul>
<?php
//列数
$col=3;
for($i=0;$i<9;$i++){
$margin_r = (($i%$col)==($col-1))?"margin-right:0;":"";//清除每行最右侧宝贝右边距
echo '<li style="'.$margin_r.'">'.$i%$col.'</li>';
}
?>
</ul>
</div>




方案一和方案二都是可以实现一样的效果!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: