2010-07-15 70 views
1

使用CSS我如何将跨度放在其他跨度之上。 我有几个跨度在页面,并在页面的最后,我有这个从顶部的CSS问题高度

<span id="lastSpan" style=" margin-left:726px; margin-top:30px;"></span> 

问题是,它从来就没有到从上往下30像素。并卡在相同的高度。

任何帮助将不胜感激 感谢

回答

3

跨度为inline元素,并且不会在顶部和底部遵守margin。如果您要使用保证金,您需要将其设置为display: inline-block

+0

请注意,'inline-block'在IE上有接收[点](http://www.quirksmode.org/css/display.html)。 – 2010-07-15 17:13:41

+0

是的,但是作为您提供的链接注释:“IE 6/7仅在具有自然显示的元素:inline。”中接受值['inline-block'],这是'span'所做的,所以不应该有在这里使用它的问题。 – ScottS 2010-07-15 17:46:14

1

跨度内联元素。你不能将利润率应用于他们。如果你需要一个具有边距/高度的通用容器,请使用div。

1

内联元素的样式不能与块元素相同。例如,他们(完全?)对边缘和高度命令没有反应。解决方案是将display: block;添加到您的样式中以强制块样式。

+1

在相关说明上,在语义上,'span'是一个catchall内联容器,'div'是一个catchall块容器。在这种情况下,我会使用'div',默认情况下会阻止样式。 *免责声明:*这是一种不同的编码器之间的哲学,对于我的哲学的每一个人,你会发现有人说'span'在这种情况下更合适。 – 2010-07-15 17:11:19

0

范围不会接受保证金属性,因为它是内联元素。您可以通过显示将其更改为阻挡元素:块,浮点数:左/右或位置:绝对

0

这可能是队长pædantry以解救,但跨度在内联级别与此无关。大多数(全部)浏览器的房子样式表隐式设置了跨度属性display:inline,除非作者或用户明确否定了这一点。据我所知,W3C没有定义浏览器的家庭风格,但它们确实提供了互操作性的一些指示。

当然,这里可能没有那么相关,但实际上有些地方的浏览器并没有选择完全相同的样式。值得注意的是,Firefox和IE浏览器默认情况下,Safari和Chrome不会在abbr下放置虚线边框。另外,有些浏览器使用margin-top:1em;来分隔段落,而其他使用margin-bttom:1em,在大多数情况下,这并不重要,但有些情况下,为了保持一致的外观,您需要在网站中明确指定需要哪两种。