我有一个与CSS相关的问题,看起来很容易,但是我在最后一小时一直抨击我的头,因为我试过的调整不适用。
由于某些奇怪的原因,选择下拉菜单不会粘在单元格中,而是放在桌子上方。请参见下面的图片
生成表的循环代码如下所示:(我没有打扰发布不相关的php原因)
echo '<tr class="items">';
echo '<td id="cell11">'.$Date.'</td>';
echo '<td id="cell21">'.$link.'</td>';
echo '<td id="Fright1">'.MakeUserRoleDropdown($StatusId).'</td>';
echo '</tr>';
CSS非常基础:
select { width: 367px; font-family: Verdana; font-size: 12px; color: #666; background: white; border: 1px solid #CECECE; padding: 4px;}
.dropdownrole { width:150px;}
#cell11 { padding-left: 10px; padding-right: 10px; width: 200px; text-align:left;}
#cell21 { padding-left: 10px; padding-right: 10px; width: 200px; text-align:left;}
#Fright1 { padding-left: 10px; padding-right: 10px; width: 200px; text-align:right;}
table.items tr { height: 32px; background:url(../images/tableRow.png); border-top: 1px solid #CCC; padding: 0; margin: 0;}
.items { width: 100%; border-collapse: collapse; color: ##797979; font-family: Verdana; font-size: 11px; }
table { border-spacing:2px;}
在这种情况下,dropdownrole将te类应用于下拉菜单。
如你所见,下拉列表不适用于行,只是放在表格上方(即使在代码中它甚至不在单元格中)而且我无法将头部包裹起来。我让细胞的大小(高度和宽度)已经更大但没有运气。
我在CSS中做错了什么?
修改
按下拉功能的每个请求。
function MakeUserRoleDropdown($StatusId){
echo "<select name='StatusId' class='dropdownrole'>";
$results = LoadRoles();
while($row = mysql_fetch_array($results)){
echo "<option value='".$row['SgroupId']."' ";
if($StatusId == $row['SgroupId']){
echo "selected='selected'";
};
echo ">".$row['SgroupUser']."</option>";
}
echo "</select>";
}
以下是HTML中的输出。
答案 0 :(得分:3)
我认为问题是,您致电MakeUserRoleDropdown
,其中包含echos
您将继续在此字符串中使用此方法:echo '<td id="Fright1">'.MakeUserRoleDropdown($StatusId).'</td>';
将MakeUserRoleDropdown
更改为:
function MakeUserRoleDropdown($StatusId){
$str = '';
$str .= "<select name='StatusId' class='dropdownrole'>";
$results = LoadRoles();
while($row = mysql_fetch_array($results)){
$str .= "<option value='".$row['SgroupId']."' ";
if($StatusId == $row['SgroupId']){
$str .= "selected='selected'";
};
$str .= ">".$row['SgroupUser']."</option>";
}
$str .="</select>";
return $str;
}
你应该做得好。