javascript - 使用 Bootstrap 和 ACF Repeater 安排替代高度 div

标签 javascript php html css twitter-bootstrap

我正在尝试排列 div,如下图所示:

image grid

到目前为止,我一直在尝试通过根据变量和计数器输出 pull-left pull-right 来实现此目的,如下所示:

<?php if( have_rows('spotlights') ): ?>

    <?php $spotcount = 0;
          $rowcount = 0;
          $floatclass = 'pull-left';
    ?>

    <?php while( have_rows('spotlights') ): the_row(); 

        $image = get_sub_field('image');?>

            <div class="col-md-6 col-sm-12">

                <img class="<?php echo $floatclass; ?>" src="<?php echo $image; ?>" />

            </div>

            <?php
                if($spotcount == 2) {
                    echo '<div class="clearfix"></div>';
                    $spotcount = 0;
                    ++$rowcount;

                } else {
                    ++$spotcount;
                }

                if ($rowcount % 2 == 0) {
                    $floatclass = 'pull-left';
                } else {
                    $floatclass = 'pull-right';
                }
            ?>

    <?php endwhile; ?>
<?php endif; ?>

尽管这根本不起作用...我无法让 4/5 出现在 5 之前。5 始终覆盖所有内容并向左拉。

我尝试过砖石,但这不是我想要的。这些 div 将保持在这个固定高度,这有助于解决问题。

最佳答案

这是我使用计数器的解决方案...

<?php if( have_rows('spotlights') ): ?>

<?php $spotcount = 0;
      $rowcount = 0;
      $oddImage = 0;
?>

<?php while( have_rows('spotlights') ): the_row(); 

    $image = get_sub_field('image');

            if ($rowcount % 2 == 0) {

                echo '<div class="col-md-6 col-sm-12"><img class="spotlight" src="' $image '" /></div>';

            } else {

                if ($oddImage <= 1) {

                    if($oddImage == 0) {

                        echo '<div class="col-md-6 col-sm-12">';
                        echo '<img class="spotlight" src="';
                        echo $image;
                        echo '" />';
                        ++$oddImage;

                    } else {

                        echo '<img class="spotlight" src="';
                        echo $image;
                        echo '" /></div>';
                        ++$oddImage;
                    }

                } else {

                    echo '<div class="col-md-6 col-sm-12 text"><img class="spotlight" src="';
                    echo $image;
                    echo '" /></div>';
                    $oddImage = 0;
                }
            }

            if($spotcount == 2) {

                echo '<div class="clearfix"></div>';
                $spotcount = 0;
                ++$rowcount;

            } else {
                ++$spotcount;   
            }

            ?>

<?php endwhile; ?>

关于javascript - 使用 Bootstrap 和 ACF Repeater 安排替代高度 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33334534/

相关文章:

asp.net - 将列表框文本传递给 Javascript 弹出窗口 URL

javascript - 在 Javascript 中验证带有时间偏移量的日期时间字符串

PHP 警告 : PHP Startup: Unable to load dynamic library:/home/lib. 如此: undefined symbol :第 0 行未知中的 __gxx_personality_v0

php - 为什么我的 'if (isset) does not interact with mysql'

php - 选择具有多个值的记录并枚举它们

php - 通过 .htaccess 将所有 *.php 页面重定向到 *.html

javascript - useState Hook 不起作用或未触发

javascript - 如何使用纯 javascript 删除 <html> 中的所有内容?

javascript - 处理非英文实体名称

jquery - 如何将屏幕分成 4 个相等的 div,当您将鼠标悬停在它们上时,它们会展开?