设置内联元素的宽度

Sou*_*ceC 43 html css xhtml

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

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

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

c)为什么内联元素的宽度只有在我们"定位"它们时才会显现?

cha*_*ark 51

还有display:inline-block选项,可以为您提供两全其美的选择.

  • 非常好!这是一个很好的[兼容性矩阵](http://www.quirksmode.org/css/display.html).今天,`display:inline-block`几乎可以安全使用 (4认同)

Fla*_*tef 17

a)忽略内联元素的宽度

b,c)当你"定位"一个内联元素时(我假设这意味着使用position:absolute),你实际上将它变成了一个块元素,其宽度由浏览器解释


Don*_*nut 11

正如其他人所提到的,设置内联元素的宽度(或其他一些与位置相关的属性)将导致浏览器将元素显示为块元素.

您可以通过使用CSS display属性显式声明此类行为.最常见的设置是display: inline(默认)display: block,和display: none.这里
提供该display物业的完整参考.

但是,应该注意的是,HTML 4.01规范不鼓励使用"覆盖HTML元素的传统解释":

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

  • "设置宽度...将导致浏览器将元素显示为块元素" - 这是无稽之谈.您可以设置宽度,但不适用于该元素. (21认同)
  • "*设置内联元素的宽度[..]将导致浏览器将元素显示为块*".你确定吗? (7认同)

n13*_*313 7

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