Php 如何交替显示div
您好,我想在左侧图像和右侧图像上交替显示图像和说明1记录。有人能帮我吗?谢谢。更新 在了解您的情况后,请尝试以下操作: 为节类添加一个类变量 使用三元运算符进行设置 使用CSS更改定位 这将使CSS更负责定位,如果需要更改布局,可能会减少重构php代码的次数Php 如何交替显示div,php,html,css,Php,Html,Css,您好,我想在左侧图像和右侧图像上交替显示图像和说明1记录。有人能帮我吗?谢谢。更新 在了解您的情况后,请尝试以下操作: 为节类添加一个类变量 使用三元运算符进行设置 使用CSS更改定位 这将使CSS更负责定位,如果需要更改布局,可能会减少重构php代码的次数 <?php $result1 = db_getarticles( array('campaigns_id' => $SYS_campaign) ); if (!is_null($result1)) { whi
<?php
$result1 = db_getarticles( array('campaigns_id' => $SYS_campaign) );
if (!is_null($result1)) {
while ( $row = $result1->fetch_object() ) {
?>
<div class="section">
<div class="leftinfo" style="height:178px;width:408;" >
<?php
echo "<img style='height:178px;width:402px;' src='$SYS_folder/images/articles/$row->imagearticle' alt='' />";
?>
</div>
<div class="rightinfo">
<strong>
<?php
echo $row->titlearticle;
?>
</strong></br>
<?php
echo $row->descparticle;
?>
</div>
<div class="clear">
</div>
<div class="seperator"></div>
</div>
<?php
}
}
?>
HTML中的示例:
结束更新
如果你有未来,请在解决你的问题上表现出更多的努力
我已经使用display:inline块为您提供了两列。请参阅关于在浮动上使用内联块的利弊的文章
更改php以生成以下HTML
.section{width:500px; height:200px; clear:both;}
.section img{width:402px; height:178px;float:left}
.section .info {float:right}
/*Swap Position Of image and description*/
.section.alt img{float:right}
.section.alt .info {float:left; }
例如:
请注意,你最好把你的标题放在一个合适的hx标签中,例如h1…h6,并且图片可以用CSS类进行样式化。例如:
.section {
position:relative;
margin-bottom:5px;
}
.section .leftinfo, .section .rightinfo {
display:inline-block;
vertical-align:top;
}
.leftinfo{ height:178px;width:408;}
此外,根本没有理由将图像包装在div中
稍微优化的示例:据我所知,您正在询问如何确定应用不同样式的备用div 您应该使用CSS类来提供divs替代效果
.section img {height:178px;width:402px; }
在PHP代码之前的while循环中有一个变量
.section{width:500px; height:200px;}
.rightinfo{ float : right; }
.leftinfo{ float : left; }
.section img{width:402px; height:178px;}
在while循环中递增并检查奇数/偶数值以应用正确的类
$style = 0;
将这些类分配给HTML元素
$style++;
if($style % 2 == 0){
$imgClass = 'leftinfo';
$descClass = 'rightinfo';
} else {
$imgClass = 'rightinfo';
$descClass = 'leftinfo';
}
请重新缩进代码,使其更具可读性。我已经完成了代码格式化。现在,该图像和描述正在动态显示,它一个接一个地显示,但我想交替显示,如…左侧第一条记录图像,右侧第二条记录的描述。您尝试过CSS吗?我们希望看到一些努力来解决你自己的问题。试着用谷歌搜索CSS浮动或内联块,我也建议你检查HTML输出,使用适当的hx标签作为你的标题,删除br标签!
$style = 0;
$style++;
if($style % 2 == 0){
$imgClass = 'leftinfo';
$descClass = 'rightinfo';
} else {
$imgClass = 'rightinfo';
$descClass = 'leftinfo';
}
<div class="<?php echo $imgClass; ?>"> .... </div>
<div class="<?php echo $descClass; ?>"> .... </div>