如何为PHP动态生成的第二个div容器添加margin-left样式
给第二个动态生成的div添加margin-left样式
要实现给循环生成的第二个div容器添加margin-left样式,只需要给循环加个计数器,判断当前元素是第二个的时候额外添加样式即可,具体修改如下:
修改后的完整代码
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 从whois表获取数据 $sql = "SELECT Headline, Content, Link, BtnText FROM whois"; $result = $conn->query($sql); if ($result->num_rows > 0) { $count = 0; // 初始化计数器,从0开始计数 while($row = $result->fetch_assoc()) { // 判断是否是第二个元素(索引为1),是的话添加margin-left样式 $extraStyle = $count === 1 ? ' style="margin-left: 20px;"' : ''; echo ' <div class="col-lg-5"' . $extraStyle . '> <div class="box-item"> <div class="tittle-text"> <h3 class="mb-0 font-d-bld">' . $row["Headline"] . '</h3> </div> <div class="content-text"> <ul class="mb-0 ps-0"> <li> <p class="mb-0 font-d-bld text-white">' . $row["Content"] . '</p> </li> </ul> </div> <div class="play-btn"> <a target="blank" href="' . $row["Link"] . '" class="text-uppercase text-white font-d-bld">' . $row["BtnText"] . '</a> </div> </div> </div> '; $count++; // 每次循环后计数器自增 } } else { echo "无结果"; } // 关闭数据库连接 $conn->close(); ?>
关键说明
- 计数器的作用:通过
$count变量记录当前循环的次数,从0开始计数,第二个元素对应的就是$count === 1的情况。 - 样式添加方式:这里用了内联样式直接添加
margin-left,你也可以换成CSS类的方式(更符合样式与结构分离的原则):- 先在CSS中定义类:
.second-div { margin-left: 20px; } - 然后把代码里的
$extraStyle改成:$extraClass = $count === 1 ? ' second-div' : ''; - 最后把div的class写成:
<div class="col-lg-5' . $extraClass . '">
- 先在CSS中定义类:
内容的提问来源于stack exchange,提问作者NoobOnStack
相关产品推荐
相关产品推荐

