内联元素可以包含块元素吗? [英] Can inline elements contain block elements?

查看:160
本文介绍了内联元素可以包含块元素吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

内联元素是否可以包含一个块元素作为实例:一个列表是否可以包含段落? 解决方案

LI和P都是块级别的......



这样做永远不会有效,但从行为角度来看,有时,您可以嵌套块级元素,但它取决于浏览器解析器。



例如,在FireFox 3.x中,使用此标记

 <!DOCTYPE html> 
< i>
foo
< div> bar< / div>
baz
< / i>

将以斜体显​​示foo,bar和baz。



但是这个标记用inline元素< var> < i> >(它也有斜体作为它的默认呈现)

 <!DOCTYPE html> 
< var>
foo
< div> bar< / div>
baz
< / var>

只会以斜体显示foo。



JSFiddle for this



其他浏览器不表现行为一样。这是您坚持使用有效标记的原因之一。


Can an inline element contain a block element for instance: can a list have a paragraph?

解决方案

Leaving aside the fact that LI and P are both block level ...

It's never valid to do so, but in behavioural terms, sometimes you can nest a block level element inside a inline level one, but it depends on the browser parser.

For example, in FireFox 3.x, with this markup

<!DOCTYPE html>
<i>
   foo
   <div>bar</div>
   baz
</i>

will display foo, bar, and baz all in italics.

But this markup, replacing the inline element <i> with inline element <var> (which also has italics as its default rendering)

<!DOCTYPE html>
<var>
   foo
   <div>bar</div>
   baz
</var>

will only display foo in italics.

JSFiddle for this

Other browsers do not behave the same. Which is one reason why you should stick to using valid markup.

这篇关于内联元素可以包含块元素吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆