<span>和<div>与text-align:center;的区别

我不明白这一点:

我尝试过将HTML <span>标签的文本alignment居中,但是它没有做任何事情……使用<div>标签,一切正常。 与设置margin: 0px auto;相同的坐标margin: 0px auto; 在CSS中。

为什么span标签不支持text-align; function?

不同之处不在<span><div>之间,而是inlineblock之间。 <span>默认为display:inline;<div>默认为display:block; 。 但是这些可以在CSS中被覆盖。

text-align:center在两者之间的差异在于宽度。

block元素默认为其容器的宽度。 它可以使用CSS设置其宽度,但是不pipe怎样它都是固定的宽度。

inline元素从其内容文本的大小中获取宽度。

text-align:center告诉文本在元素的中心位置。 但是inline元素中,这显然不会产生任何效果,因为元素的宽度与文本的宽度相同; alignment它的方式是没有意义的。

block元素中,因为元素的宽度与内容无关,所以可以使用text-align样式将内容定位在元素内。

最后,给你一个解决scheme:

display属性有一个额外的值,它提供了blockinline之间的中途房屋。 方便起见,它被称为inline-block 。 如果指定<span>display:inline-block; 在CSS中,它将继续作为一个内联元素工作,但也会承担块的一些属性,比如指定width的能力。 一旦你为它指定了一个宽度,你将能够使用text-align:center;

希望有所帮助。

就像其他人所说的那样,跨度是一个内联元素。

看到这里: http : //www.w3.org/TR/CSS2/visuren.html

此外,你可以通过应用一个范围来使一个范围performance得像一个div

 style="display: block; margin: 0px auto; text-align: center;" 

跨度是内联的,div是块元素。 即跨度只有它们各自的内容一样宽。 您可以alignment周围容器(如果是块容器)内的跨度,但不能alignment内容。

量程主要用于格式化目的。 如果要排列或放置内容,请使用div,p或其他块元素。

span标签只与其内容一样宽,所以span标签没有“中心”。 内容两边没有额外的空间。

然而,div标签与其包含的元素一样宽,所以该div的内容可以使用内容不占用的任何额外空间居中。

所以如果你的div是100px的宽度,而你的内容只有50px,那么浏览器会把剩下的50px分成2个部分,并在内容的每一面填充25px来居中。

跨度被认为是一个内联元素。 因此,这基本上限制在其内容中。 它或多或less是透明的。

想想它有'b'标签的行为。

它可以像<span style ='font-weight:bold;'>粗体文本</ span>一样执行

div是一个块元素。

这可能是因为你的span元素集与其内容一样宽。 如果你有一个宽度为500px的div和文本alignment中心,并且你input一个span标签,它应该在中间alignment。 所以你的问题可能是一个CSS的。 在Firefox上安装Firebug并检查您的跨度或div对象具有的样式属性。