2012-12-19 45 views
13

td內的文本需要居中,但SummaryExperience除外。這似乎只適用於Firefox/chrome。在IE8中,所有td文本顯示爲左對齊。無論我嘗試什麼,它都不會集中它。爲什麼會發生這種情況的特殊原因?無法在IE中對齊文本,但在Firefox中工作

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

+2

你能發佈實際生成的HTML而不是創建它的PHP嗎?最好在jsfiddle或類似的服務,所以我們可以查看它,而不是猜測它? – Amadan

+0

@Amadan:是的,我可以看到這將如何幫助。數據是有點敏感的,所以我將添加一些示例數據並將其放在jsfiddle上。將盡快完成。 – greenpool

+0

你的代碼看起來應該可以工作。你可以發佈一個生成的HTML測試用例(無PHP)到這裏,並給我們鏈接? http://jsfiddle.net/ –

回答

2

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在頂部加入這行代碼,它會工作。

+0

不起作用。沒想到會的。小心解釋爲什麼你認爲這會起作用? – greenpool

+1

@greenpool「DOCTYPE」對於IE尤其重要 - 它告訴瀏覽器它應該如何解釋你的頁面(即它是什麼)。順便說一句,你的評論讓你聽起來非常傲慢,可能會大大減少願意幫助你的人數。 – Marty

+0

@MartyWallace:並不意味着傲慢自大。我知道它做了什麼,並且我的頭文件中聲明瞭html5 doctype'<!DOCTYPE html>'。我想這應該是我應該提到的。 – greenpool

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"> 

添加這和它的工作可能

+0

可能工作?你在猜嗎? –

+0

@Ian只是說... –

+0

呃,我很抱歉。我早些時候遇到了一個糟糕的案例。一個完全合理的答案得到了很多零評論,爲什麼... –

-1

內聯CSS覆蓋內部或外部CSS。 您已使用<th style="width:x">來設置列的寬度。 保險絲使用<th width="x">

這應該工作。

+0

他們都是一樣的事情。 –

相關問題