我的CSS已经过验证,但在添加<!DOCTYPE html>
时仍然会中断。我究竟做错了什么?我搜索论坛,常见的反应似乎是[添加高度:100%的身体,html标签。那样做,但没有运气。
没有DOCTYPE:http://www.babeweiser.com/rockhistory/ 使用DOCTYPE:http://www.babeweiser.com/rockhistory/test.php
CSS
html, body
{
height: 100%;
width: 100%;
background: #333333;
}
div.Container
{
margin: auto;
width: 90%;
background: #5e6d3d;
padding: 10px;
}
p
{
font-family: sans-serif;
}
.Table
{
display: Table;
}
.Title
{
display: table-caption;
text-align: center;
font-weight: bold;
font-size: larger;
background: #c6d4a8;
}
.Heading
{
display: table-row;
font-weight: bold;
text-align: center;
}
.Row
{
display: table-row;
height: 100%; width: 100%;
}
div.row:nth-child(odd)
{
background: #daedb2;
}
div.row:nth-child(even)
{
background: #c6d4a8;
}
.Cell
{
display: table-cell;
padding: 15px;
}
select:required:invalid
{
color: #999;
}
option {
color: #000;
}
test.php的:
<!DOCTYPE html>
<html>
<head>
<title>Today in Rock History</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script>
<link rel="stylesheet" type="text/css" href="rockhistory2.css">
<script>
$(function() {
$.ajax({
type: "POST",
url: "pull_history2.php",
data: "" + status,
success: function(data){
document.getElementById("demo").innerHTML = data;
}
});
});
</script>
<script>
$(document).ready(function()
{
$(document).on('submit', '#reg-form', function()
{
var data = $(this).serialize();
$.ajax({
type : 'POST',
url : 'pull_history2.php',
data : data,
success : function(data)
{
document.getElementById("demo").innerHTML = data;
}
});
return false;
});
});
</script>
</head>
<body>
<div class="Container">
<form id="reg-form" name="reg-form" method="post">
<select name="month" required id="month" size="1">
<option value="" disabled selected>Month</option>
<?php
$mo = 1;
while($mo <= 12) {
echo '<option value= "' . $mo . '">' . date("F", mktime(0, 0, 0, $mo+1, 0, 0)) . '</option>';
echo "\n";
$mo++;
}
?>
</select>
<select name="day" required id="day" size="1">
<option value="" disabled selected>Day</option>
<?php
$da = 1;
while($da <= 31) {
echo '<option value= "' . $da . '">' . date("j", mktime(0, 0, 0, 0, $da, 0)) . '</option>';
echo "\n";
$da++;
}
?>
</select>
<button type="submit" >Go</button>
</form>
<p id="demo"></p>
</div>
</body>
</html>
pull_history2.php:
<?php
if($_POST) {
$month= $_POST['month'];
$day= $_POST['day'];
} else {
$month = date('n');
$day = date('j');
}
$tdate=date("F j", mktime(0, 0, 0, $month, $day, 0));
?>
<div class="Table">
<div class="Title">
<p><? echo "This Day in Rock History for $tdate" ?></p>
</div>
<div class-"heading">
</div>
<?php
$db = mysql_connect("localhost","xxx", "xxx");
mysql_select_db("babewe5_wlup",$db);
$result = mysql_query("SELECT * FROM RockHistory081512 WHERE month=$month AND day=$day ORDER BY year",$db);
if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n"); }
while ($row = mysql_fetch_array ($result)) {
?>
<div class="Row">
<div class="Cell">
<p><? echo $row["year"] ?></p>
</div>
<div class="Cell">
<p><? echo $row["history"] ?></p>
</div>
</div>
<?
}
mysql_free_result ($result);
?>
<div class="Row">
<div class="Cell">
</div>
<div class="Cell">
<p><small>Copyright © <? echo date("Y"); ?> Tim Spencer</p>
</div>
</div>
答案 0 :(得分:2)
您在CSS中使用.Row
和.row
。一个是初始上限而另一个不是。将div.row:nth-child
更改为div.Row:nth-child
。
应用doctype
会对您的文档强制执行一系列规则。没有doctype
,两者的处理方式相同。
答案 1 :(得分:0)
区分大小写。将classname修改为“row”(小写字母)。或更改样式表中的相关样式。
div.Row:nth-child(偶数) - &gt; (R为大写).. div.Row:nth-child(odd)
您最好检查第n个选择器的浏览器兼容性。它在IE 9及更高版本中受支持。