我有一个span块,如何在span块中显示DIV元素。
我尝试将div块更改为span,但UI元素不适合。我该如何解决这个问题。
我在使用上述链接中提到的答案时遇到了很多IE7 的问题。这就是为什么我在这里提出了一个不同的问题。
答案 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
通常,块级元素可能包含内联元素和其他元素 块级元素。通常,内联元素可能只包含数据 和其他内联元素。在这种结构上的区别是固有的 块元素创建比内联更“大”的结构 元件。
请注意一般和可能的用法。这意味着理想情况下,内联应该包含在块中,反之亦然。
然而,如果你真的这样做,没有什么不好的。这里指出的是不推荐。
另请注意,您可以使用display
将block
更改为span
{{1}},
回到你的问题,你的问题不清楚,你正面临着什么问题。简单地说“我面临很多IE7 的问题”,这是不够的。您必须告诉我们您面临的问题。除非你这样做,否则这个问题可能是被搁置/关闭的候选人。