我正在做一个网站项目,我从我的数据库中获取数组并使用 foreach 语句输出其内容。我想使用 php 脚本来计算数组中有多少项目,并为每个项目分配数字位置,这样如果第一个项目的数字位置是奇数,我将应用 css float:left 样式,但如果它是偶数它会浮动:对
请问有什么帮助吗???谢谢你。
CSS3 有很好的特性(.list:nth-child(odd) {float:left;} .list:nth-child(even) {float:right;} ),但要注意这在许多浏览器(ie8 和下面,较旧的Firefox等)..至少每个使用WinXP + IE的用户都会看到一个没有不同颜色的普通列表。
jQuery(也注意到这里)也可以选择$('.xy:odd').css({'float':'left'}); ,但是如果你没有在你的项目中使用 jQuery,那么它只是一个很大的(90kb jQuery 库)开销。如果使用 php,性能也会更好。
因此,您最好使用 php 和模操作数(if $count % 2),请参阅 Joseph Silber 的答案。
使用模操作数:
<?php foreach ( $array as $index => $item ): ?>
<div class="<?php echo $index % 2 ? 'even' : 'odd'; ?>"></div>
<?php endforeach; ?>
然后在你的 CSS 中使用这些类名:
.odd { float: left }
.even { float: right }
您只能使用 css 来做到这一点:
.list:nth-child(odd) {float:left;}
.list:nth-child(even) {float:right;}
我认为您也可以将 jquery 与 :odd 选择器一起使用。