Изменение ширины в моем классе CSS в зависимости от количества полных итераций - PullRequest
0 голосов
/ 12 января 2019

Надеюсь, у вас всех хороший вечер.

В настоящее время я делаю свой личный блог на PHP с помощью инфраструктуры CodeIgniter и начальной загрузки. На первой странице я делаю раздел «последние записи в блоге» с максимум 3 записями, и я хотел бы сделать так, чтобы, если у меня было только 1 сообщение, ширина окна была равна 66, если у меня есть 2 сообщения в блоге, ширина установлена ​​в 33, и если у меня есть 3, ширина установлена ​​в 22. прямо сейчас это итерирует через для каждого цикла и делает коробку с тем же размером для каждой итерации.

Код выглядит так:

<?php
$i = 1;
$width = 22.3;
foreach ($posts as $post) { ?>
    <div class="card text-white bg-primary mb-3 float-left"
         style="width: <?php echo ($width) ?>rem;margin-left: 10px;">
        <div class="card-header"><?php echo $post['created_at']; ?> <i class="em em-memo" style="float:right;"></i>
        </div>
        <div class="card-body">
            <h4 class="card-title"><?php echo $post['title']; ?></h4>
            <p class="card-text"><?php

                if (strlen($post['body']) <= 150) {
                    echo $post['body'];
                } else {
                    $y = substr($post['body'], 0, 150) . '...';
                    echo $y;
                }

                ?></p>
            <a class="btn btn-primary btn-lg" href="<?php echo site_url('/posts/' . $post['slug']); ?>" role="button">Læs
                mere</a>
        </div>
    </div>
<?php if ($i++ == 3) break; ?>
<?php } ?>

Надеюсь, я достаточно хорошо объяснил свою ситуацию: P. И заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 января 2019

использовать функцию подсчета доступно в php ...

    if(count($posts) == 2 ){
    // foreach with class you want for 2 element
    }

else if (count($posts) == 3 ){
// foreach with class you want for 3 element
} 

и т. Д., Если вам нужно другое условие в любом другом случае

0 голосов
/ 12 января 2019

Вы можете просто использовать count(), чтобы проверить количество постов и несколько if (используя сокращение ?: в этом случае), чтобы превратить его в ширину ...

$numberPosts = count($posts);
$width = ($numberPosts==1)?66:(($numberPosts==2)?33:22);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...