我知道将一个块元素放在内联元素中是错误的,但是下面呢?
想象一下这个有效的标记:
<div><p>This is a paragraph</p></div>
Run Code Online (Sandbox Code Playgroud)
现在添加这个CSS:
div {
display:inline;
}
Run Code Online (Sandbox Code Playgroud)
这会创建一个内联元素包含块元素的情况(div变为内联,默认情况下p为块)
页面元素是否仍然有效?
在应用CSS规则之前或之后,我们如何以及何时判断HTML是否有效?
更新:我已经了解到在HTML5中将块级元素放在链接标记内是完全有效的,例如:
<a href="#">
<h1>Heading</h1>
<p>Paragraph.</p>
</a>
Run Code Online (Sandbox Code Playgroud)
如果您希望将大块HTML作为链接,这实际上非常有用.
可能重复:是否
可以使用<span />关闭范围?
<p>This is a test <span id='span1' style='display:inline-block;'></span> to see if I can embed an inline block.</p>
<p>This is a test <span id='span2' style='display:inline-block;'/> to see if I can embed an inline block.</p>?
Run Code Online (Sandbox Code Playgroud)
第一行嵌入带有常规结束标记的span,而第二行使用自闭标记.第一行正常工作,而第二行有奇怪的结果.
我只是好奇为什么在每种情况下元素的处理都有这样的差异.我知道在非严格的xhtml下,自动关闭标签不是很好支持.看来自动关闭标签只被视为一个开放标签.
是否有充分的理由现代浏览器仍然不支持自动关闭的html标签?我是否希望更改doctype或其他内容以使其生效?
具有讽刺意味的是,我实际上是从一个明确的结束标记开始,但是通过浏览器的xml解析器运行并返回到html,解析器感觉就像将空元素折叠成一个自动关闭标记,这很快就破坏了所有内容.
.twoColFixRt#nav-primary .nav li a,.twoColFixRt#nav-primary .nav li a:visited {color:#00FF00; 文字修饰:无; } .twoColFixRt#nav-primary .nav li a span {display:block; 填充:0 10px; font-size:15px; } .twoColFixRt#nav-primary .nav li a:hover {text-decoration:underline; 颜色:#FF0000; }
Q1>我不知道为什么a:悬停在上面的代码中不起作用.换句话说,当光标位于导航项的顶部时,下划线不会显示.
但是,当我将光标悬停在导航项上时,我确实看到了颜色的变化.
Q2>我使用的是DW CS4 + Firebug.有没有办法让我检测出哪个规则可以抑制:悬停以便我将来可以找出类似的问题?
谢谢