HTML-诡异的firefox问题求解

HTML-诡异的firefox问题求解

泛泛之交 发布于 2017-03-18 字数 245 浏览 1086 回复 2

<dl>
<dt><h2>aaaa</h2><span>bbbbb</span></dt>
<dd>cccccc</dd>
</dl>

一个诡异的问题,IE下正常显示,在FirefoxF下dt中的内容到了第二行,试着修改css有没有效果。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2017-08-24 2 楼

可以定义成块元素,然后通过CSS来控制每个元素的宽度。
测试了一下,可以为所欲为,想设成什么样式都可以。

浮生未歇 2017-08-01 1 楼

解决办法:

<dl>
<dt><strong>aaaa</strong><span>bbbbb</span></dt>
<dd>cccccc</dd>
</dl>

说明:
其实就是简单的不用h1而是换成strong。如果需要样式自己定义就行。
具体原因是,W3C标标准下,dt只能嵌套行内元素,<div> <dd>等等可以嵌套块级元素。所以,当dt中嵌套了h1,h2,h3等块级元素的时候,在IE下显示正常,但在FF下就不能正常显示。最后说一点,在IE8及之后的IE上应该也是换行的。

关于行内元素与块元素,网上搜来的解释:

行内元素(inline
element)一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素"a"。

块元素(block element)和内联元素(inline
element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了css控制以后,块元素和内联元素的这种属性差异就不成为差异了。比如,我们完全可以把内联元素cite加上display:block这样的属性,让他也有每次都从新行开始的属性。