Css 如何在不使用浮动或pos:abs的情况下获得最小宽度行为(例如浮动或pos:abs时)

Css 如何在不使用浮动或pos:abs的情况下获得最小宽度行为(例如浮动或pos:abs时),css,css-float,width,Css,Css Float,Width,假设我有一个块元素,比如h2: <h2>Title</h2> 标题 我给它一个背景色。背景将覆盖包装的整个宽度(正如它应该的那样) 如果我将其浮动,或位置:绝对,它将“收缩包装”单词。但是,这两种方法都将元素从“流”中移除,并防止它将其余内容向下推到页面中 我想避免每次都在标题下面加上一个清晰的标题。有更好的解决办法吗?我以为溢出属性可以做到这一点,但我还没有弄明白 小提琴: 这里有一个(非常简单的)方法 将标题文本包装在中,并将背景色应用于该范围 HTML: 标题

假设我有一个块元素,比如h2:

<h2>Title</h2>
标题
我给它一个背景色。背景将覆盖包装的整个宽度(正如它应该的那样)

如果我将其浮动,或
位置:绝对
,它将“收缩包装”单词。但是,这两种方法都将元素从“流”中移除,并防止它将其余内容向下推到页面中

我想避免每次都在标题下面加上一个清晰的标题。有更好的解决办法吗?我以为
溢出
属性可以做到这一点,但我还没有弄明白

小提琴:

这里有一个(非常简单的)方法


将标题文本包装在
中,并将背景色应用于该范围

HTML:

标题

CSS:

.blue{
背景颜色:蓝色;

}

你能说明你想要实现什么吗?我不明白你说的“最小宽度行为”是什么意思。@Pekka웃: 使
h2
收缩,使其宽度适合其内容,而不会产生与浮动或脱落相关的任何副作用。可能重复使用此选项的原因(例如,在旧IE中不起作用)而不是
显示:inline
?因为使用
inline
inline block
会使元素
inline
inline block
(显然)。这不是OP想要的!显示:内联或内联块。为什么不添加一个答案呢?这是一个问答网站,不是一个问答网站:Owell-只要下一个元素是block,inline就可以了work@Mike刘易斯:
display:table
适用于IE8+和其他所有功能,这实际上并不比
display:inline block
好或坏多少。当你谈论CSS时,语义学其实并不重要,除非你是OOCSS的热门人物。我改变了措辞,有不止一种方法可以实现这一点。这类似于在下面添加一个清晰的标记-我试图避免额外的标记。这种方法不会改变标题的显示方式,并给出你想要的结果。
h2 {
    display: table;
}