我有一个PHP代码,它假设显示我的按钮,连续7个按钮。现在这些按钮显示在一个淡入淡出的块中。但问题是前7个按钮没有显示在块中,而是单独显示,其他按钮显示在块中。为什么会发生这种情况:
以下是php代码:
<table class="optionTypeTbl">
<tr>
<?php
$i = 1;
foreach($num as $key => $val){
echo"<input type=\"button\" value=\"$val\" id=\"btn".$val."\" name=\"btn".$val."Name\" class=\"gridBtns gridBtnsOff\">";
if($i%7 == 0) echo"</td></tr><tr><td>";
$i++;
}
?>
</tr>
<tr>
<td>
<input class="gridBtns" name="btnTrueorFalseName" id="btnTrueorFalse" type="button" value="True or False" />
<input class="gridBtns" name="btnYesorNoName" id="btnYesorNo" type="button" value="Yes or No" />
</td>
</tr>
</table>
的CSS:
.gridBtns{
background-color: #ffffff;
border: #666666 1px solid;
color: black;
font-weight:bold;
}
.optionTypeTbl{
display:none;
background-color:white;
position:absolute;
border:1px solid black;
}
答案 0 :(得分:1)
这可能与按钮前缺少开口<td>
有关。
如果你有7/14/21 /等,我也会重新编写循环以确保你没有空行。按钮:
<table class="optionTypeTbl">
<?php
$i = 1;
foreach($num as $key => $val){
if($i%7 == 1) echo"<tr><td>";
echo"<input type=\"button\" value=\"$val\" id=\"btn".$val."\" name=\"btn".$val."Name\" class=\"gridBtns gridBtnsOff\">";
if($i%7 == 0) echo"</td></tr>";
$i++;
}
?>
<tr>
<td>
<input class="gridBtns" name="btnTrueorFalseName" id="btnTrueorFalse" type="button" value="True or False" />
<input class="gridBtns" name="btnYesorNoName" id="btnYesorNo" type="button" value="Yes or No" />
</td>
</tr>
</table>
答案 1 :(得分:1)
您错过了开始和结束<td>
代码。
<table class="optionTypeTbl">
<tr>
<td> <!-- This is missing -->
<?php
// ...
?>
</td> <!-- This is missing -->
</tr>
<tr>
<!-- ... -->
作为旁注,表格仅用于显示表格数据。特别是对于这种情况,你的所有按钮每行都包含在一个单元格中,你可以用<div>
来实现完全相同的东西,它会更加“正确”,并且标记会更加整洁。 / p>