td
元素内的文字需要居中,但Summary
和Experience
除外。这似乎只适用于Firefox / chrome。在IE8中,所有td
文本都显示为左对齐。无论我尝试什么,它都不会居中。这会发生什么特别的原因?
CSS
#viewAll {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
width: 100%;
border-collapse: collapse;
margin-left: 10px;
table-layout: fixed;
}
#viewAll td, #viewAll th {
font-size: 1.1em;
border: 1px solid #98bf21;
word-wrap: break-word;
text-align: center;
overflow: hidden;
}
#viewAll tbody td {
padding: 2px;
}
#viewAll th {
font-size: 1.1em;
padding-top: 5px;
padding-bottom: 4px;
background-color: #A7C942;
color: #ffffff;
}
表格
<?php
echo '<table id="viewAll" class="tablesorter">';
echo '<thead>';
echo '<tr align="center">';
echo '<th style="width:70px;">Product</th>';
echo '<th style="width:105px;">Prob</th>';
echo '<th style="width:105px;">I</th>';
echo '<th style="width:60px;">Status</th>';
echo '<th style="width:120px;">Experience</th>';
echo '<th style="width:200px;">Technical Summary</th>';
echo '<th style="width:80px;">Record Created</th>';
echo '<th style="width:80px;">Record Updated</th>';
echo '<th style="width:50px;">Open</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
while ($data=mysqli_fetch_array($result)){
#limiting the summary text displayed in the table
$limited_summary = (strlen($data['summary']) > 300) ? substr(($data['summary']),0,300) . '...' : $data['summary'];
$limited_exp = (strlen($data['exp']) > 300) ? substr(($data['exp']),0,300) . '...' : $data['exp'];
echo '<tr align="center">
<td style="width:70px; text-align:center;">'.$data['product'].'</td>';
//if value is '-' do not display as link
if ($data['prob'] != '-'){
echo '<td style="width:105px;">'.$data['prob'].'</a></td>';
}
else{
echo '<td style="width:105px; ">'.$data['prob'].'</td>';
}
if ($data['i'] != '-'){
echo '<td style="width:105px; ">'.$data['i'].'</a></td>';
}
else{
echo '<td style="width:105px; ">'.$data['i'].'</td>';
}
echo'<td style="width:40px; " >'.$data['status'].'</td>
<td style="width:120px; text-align:left;">'.$limited_cust_exp.'</td>
<td style="width:200px; text-align:left;">'.$limited_summary.'</td>
<td style="width:80px; ">'.$data['created'].'</td>
<td style="width:80px; ">'.$data['updated'].'</td>';
if (isset($_SESSION['username'])){
echo '<td style="width:50px; "> <form action="displayRecord.php" method="get">'.'
<input type="hidden" name="id" value="'. $data['id'].'" style="text-decoration: none" /><input type="submit" value="Open" /></form></td>';
}else{
echo '<td style="width:50px; "> <form action="displayRecord.php" method="get">'.'
<input type="hidden" name="id" value="'. $data['id'].'" style="text-decoration: none" /><input type="submit" value="View" /></form></td>';
}
echo '</tr>';
}#end of while
echo '</tbody>';
echo '</table>';
?>
编辑1 : 我刚刚通过xampp尝试了完全相同的代码,并将其集中在IE中。知道为什么它可以在我的本地机器上通过XAMPP而不是通过服务器工作吗? (现在对此感到很困惑)
编辑2: jsfiddle
答案 0 :(得分:2)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
在顶部添加这行代码,它将起作用。
答案 1 :(得分:0)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
添加此内容可能会起作用
答案 2 :(得分:-1)
内联CSS会覆盖内部或外部CSS。
您已使用 <th style="width:x">
来设置列的宽度。
Insted使用 <th width="x">
。
这应该有用。