为什么这个列表文本不能继承p的蓝色?

时间:2011-06-10 05:26:57

标签: html css

似乎继承适用于颜色,但是当我尝试继承颜色时它的anchestor p,列表不能采用颜色。为什么继承在这种情况下不起作用?

<!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">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>CSS (1)</title>
    <style type="text/css">
      p#parag{color:#009;}
    </style>
  </head>

  <body>
    <p id="parag">
      <ul id="nav">
        <li>test</li>
      </ul>
    </p>
  </body>
</html>

2 个答案:

答案 0 :(得分:6)

<ul>块级元素。

<p>不能包含块级元素 - 来自the HTML 4.01 spec

  

P元素代表一个段落。   它不能包含块级元素   (包括P本身)。

因此浏览器正在尝试修复此错误并生成此HTML:

<p id="parag"></p>
<ul id="nav">
  <li>test</li>
</ul>
<p></p>

解决方案是将<p>更改为<div>

答案 1 :(得分:1)

<ul>(阻止级别)在<p>代码中无效 - <p>代码中不允许阻止级别!

http://webdesign.about.com/od/htmltags/p/bltags_paragrap.htm