设置内联元素的宽度

您可以设置内联元素的宽度,例如<span><em><strong> ,但是在定位它们之前您不会注意到任何效果。

一)我认为内联元素的宽度不能设置?

b)假设宽度可以设置 – 我们不会注意到任何效果(因此我们指定的宽度),直到我们定位内联元素。 位置如何/在哪里?

c)为什么内联元素的宽度只有在我们“定位”时才显现出来?

正如其他人所说,设置内联元素的宽度(或其他与位置有关的属性)将导致浏览器将该元素显示为块元素。

您可以通过使用CSS display属性显式声明这种行为。 最常见的设置是display: inline (默认), display: blockdisplay: none
display属性的完整引用可以在这里find 。

但是,应该指出的是, HTML 4.01规范不鼓励使用“覆盖HTML元素的传统解释”:

样式表提供了指定任意元素呈现的手段,包括元素是呈现为块还是内联。 在某些情况下,比如列表元素的内联样式,这可能是合适的,但一般来说,作者不鼓励以这种方式重写HTML元素的传统解释。

也有显示选项:内联块 ,这可能会给你两全其美。 不过,请注意跨浏览器的兼容性。

a)内联元素的宽度被忽略

b,c)当你“定位”一个内联元素(我认为这意味着使用位置:绝对 ),你实际上是使它成为一个块元素,其宽度由浏览器解释

这基本上意味着,如果你将position: absolute应用于内联元素,它将成为块元素和增益宽度。

我认为这是因为当你为一个“inline”元素指定位置属性时,元素不再被内联显示,而是被当作一个块级元素。

一个。 内联元素的宽度被忽略。

湾 其实你可以应用宽度元素如果设置display: inline-block; 但是看到结果你也应该应用overflow: hidden;

要获得内联和块types的所有好处,可以使用以下代码片断:

display: inline-block; width: 50%; // or px, em, etc. overflow: hidden; text-overflow: ellipsis;

在这种情况下,您可以pipe理宽度并具有文本省略function。

内联元素不能有宽度。 宽度是块元素的属性。 因此,要使用宽度超过内联元素的属性或具有显示types内联集的元素显示为内联块,例如:display:inline-block;