2012-09-27 93 views
0

我不是HTML和CSS的初學者......但我使用PHP。我有一個非常小的動態生成的PHP頁面,它創建一個表格並用數字填充它。 CSS正在處理隨機項目,非常奇怪,我不確定發生了什麼。 <body>標籤CSS根本不起作用。沒有一個財產受到它的影響。 table.temps CSS也不起作用,但如果我將其刪除,那麼<th>標籤將失去它的樣式。這是一項家庭作業,我知道這是一個簡單的解決方法,我最近在CSS和PHP上遇到了最糟糕的時間。動態php頁面的CSS問題

這一切都在一個頁面,它比較小,因此,這裏的文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 

<title>Lab 1</title> 

<style type="text/css"> 
<!-- Declare document <body> styles --> 
body{ 
    background-color: #9FDBFF; 
    color: #333; 
    font-family: Helvetica, sans-serif; 
    font-size: .8em; 
    height: 100%; 
    width: 100%; 
} 

<!-- Declare document table styles --> 
table.temps { 
    width: 50%; 
    height: auto; 
    min-height: 400px; 
    border: 2px solid black; 
    color: #333; 
} 

th { 
    background: blue; 
    color: #FFF; 
    height: 20px; 
    width: 100px; 
} 

.colorIt { 
    background-color: #CCC; 
} 
</style> 

</head> 
<body> 
<?php 

$intTableTotalWidth = 8; 
$intTableTotalHeight = 8; 
$intCount = 1; 

print("<table class='temps'>"); 
print("<th>Farenheight</th>"); 
print("<th>Celcius</th>"); 

for ($intHeight = 0; $intHeight < $intTableTotalHeight; $intHeight++) { 
print("<tr>"); 

for ($intWidth = 0; $intWidth < $intTableTotalWidth; $intWidth++) { 

    if ($intCount % 2 == 0){ 
     print("<td class='colorIt'>" . $intCount ."</td>"); 
    } 
    else { 
     print ("<td>" . $intCount . "</td>"); 
    } 

    $intCount++; 
} 

print("</tr>"); 
} 

print("</table>"); 
?> 
</body> 
</html> 

編輯:我錯的人,我甚至不知道我是用HTML註釋的CSS。這是內部CSS,所以CSS註釋不會改變HTML文檔中的顏色,這會使我不知所措。我解決了這個問題。我感謝您的意見!

+1

在樣式塊中使用CSS註釋,不要使用html註釋。/* */vs TheZ

+1

另外,您的''元素應該包含在'' – jmoerdyk

回答

2

刪除這些行

<!-- Declare document <body> styles --> 
<!-- Declare document table styles --> 
3

您正在使用HTML註釋的風格標籤。這是不允許的。你應該從來沒有風格和腳本tags.It使用html註釋是不允許的。刪除它們,它會一切工作。

0
  1. <th>標籤應<tr>標籤內嵌要:<tr><th>col1</th><th>col2</th></tr>

  2. 您輸出的行數多於用<th>定義的列數。如果您想要<th>包含兩列,則應使用<th colspan="2">col1</th>

0

容易得多sollution:有session_start()在PHP文件的開始時,把所有的主題一個數組中,後來,包括樣式表

session_start() 
$theme=array("links"=>"#ff0000", "bkg"=>"#00ff00"); 
$_SESSION["Theme"]=$theme; 
... 
<link rel="stylesheet" type="text/css" href="default.php"> 

和樣式表如下所示: 如default.php

<?php session_start(); 
if (isset($_SESSION["Theme"])) { 
    extract($_SESSION["Theme"]); 
    header("Content-type: text/css"); 
} else { 
// this part is for proper coloring the file, editor will see <style> 
// but when loaded from main file <style> will be discarded  
?> 
<style> 
<?php } ?> 
a { 
    color:<?=$links?>;  
} 

body { 
    background-color: <?=$bkg?>; 
}