在跨度块内显示Div元素

时间:2014-01-22 13:09:21

标签: html css

我有一个span块,如何在span块中显示DIV元素。

我尝试将div块更改为span,但UI元素不适合。我该如何解决这个问题。

我在使用上述链接中提到的答案时遇到了很多IE7 的问题。这就是为什么我在这里提出了一个不同的问题。

2 个答案:

答案 0 :(得分:5)

div不应放在跨度的一边。 div是块元素,span是内联元素(更多信息here)。如果你真的坚持,你需要将你的跨度的CSS设置为span {display:block;}

仍然会建议不要这样做,因为它在语义上不正确并且验证失败。

来自评论:基本上,块元素用于布局,而内联元素用于设置文本位。例如,如果您希望某个单词成为不同的样式,则可以在其周围包围一个范围。通过CSS,您可以将任一元素的显示属性设置为您想要的任何内容,但这应该只是最后的手段,因为您最有可能最终无法通过验证并导致更多问题。

答案 1 :(得分:1)

规范参考http://www.w3.org/TR/html401/struct/global.html#h-7.5.3

  

通常,块级元素可能包含内联元素和其他元素   块级元素。通常,内联元素可能只包含数据   和其他内联元素。在这种结构上的区别是固有的   块元素创建比内联更“大”的结构   元件。

请注意一般可能的用法。这意味着理想情况下,内联应该包含在块中,反之亦然。

然而,如果你真的这样做,没有什么不好的。这里指出的是不推荐。

另请注意,您可以使用displayblock更改为span {{1}},

回到你的问题,你的问题不清楚,你正面临着什么问题。简单地说“我面临很多IE7 的问题”,这是不够的。您必须告诉我们您面临的问题。除非你这样做,否则这个问题可能是被搁置/关闭的候选人。

相关问题