0

私は HTML と CSS の初心者ではありませんが、PHP は知っています。テーブルを作成して数字で埋める、非常に小さな動的に生成された PHP ページがあります。CSS は非常に奇妙にランダムなアイテムに取り組んでおり、何が起こっているのかわかりません。<body>タグ CSS がまったく機能していません。1 つのプロパティが影響を受けているわけではありません。css も機能していませんが、table.tempsそれを削除すると、<th>タグのスタイルが失われます。これは宿題のためのもので、簡単に修正できることはわかっています。最近、CSS と PHP で最悪の時間を過ごしています。

これはすべて 1 ページで、比較的小さいので、ドキュメントは次のとおりです。

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

編集: 私のせいで、CSS で HTML コメントを使用していることにさえ気づきませんでした。これは内部 CSS であるため、CSS コメントは HTML ドキュメントの色を変更せず、私を悩ませていました。問題を修正しました。ご意見をお待ちしております。

4

4 に答える 4

3

style タグで html コメントを使用しています。これは許可されていません。style および script タグで html コメントを使用しないでください。許可されていませ。それらを削除すると、すべて機能します。

于 2012-09-27T16:38:10.317 に答える
2

これらの行を削除します

<!-- Declare document <body> styles -->
<!-- Declare document table styles -->
于 2012-09-27T16:37:48.927 に答える
0
  1. タグ<th>はタグに埋め込む必要があり<tr>ます:<tr><th>col1</th><th>col2</th></tr>

  2. で定義された列よりも多くのセル/行を出力してい<th>ます。<th>に2つの列を含める場合は、を使用する必要があります<th colspan="2">col1</th>

于 2012-09-27T16:42:38.617 に答える
0

はるかに簡単な解決策: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?>;
}
于 2013-01-08T18:23:51.407 に答える