Css 在HTML中定义div的宽度(设置最大宽度)

Css 在HTML中定义div的宽度(设置最大宽度),css,Css,这应该很容易,但我就是不能让它工作 我有一个div,它将在googlemap(Google.maps.overlyview的一个实现)上包含一种工具提示。要显示的文本量是可变的。它可以是一个单词或几个句子。div的宽度最多应该是150px。如果整个文本需要小于150px的显示(在一行上),div应仅为所需的大小(即宽度)。较长的文本应分成几行,div最多为150px宽 我认为(在css中)需要做的就是设置“最大宽度:150px;”。但这并不是我想要的(我在IE8中测试):文本在每个空白处都会断行

这应该很容易,但我就是不能让它工作

我有一个div,它将在googlemap(Google.maps.overlyview的一个实现)上包含一种工具提示。要显示的文本量是可变的。它可以是一个单词或几个句子。div的宽度最多应该是150px。如果整个文本需要小于150px的显示(在一行上),div应仅为所需的大小(即宽度)。较长的文本应分成几行,div最多为150px宽

我认为(在css中)需要做的就是设置“最大宽度:150px;”。但这并不是我想要的(我在IE8中测试):文本在每个空白处都会断行(!!),div的宽度最终小于150px。(当我设置“width:150px”时,当文本较短时,div会变得比我想要的更宽。)

为什么文本(较长时)没有填充最大宽度,但却经常被拆分?(“用换行符或换行符玩”没有帮助。)

是否可以这样说:如果文本适合一行,请将div保持尽可能窄,否则,不要使其宽度超过150px

任何帮助都将不胜感激

编辑

谢谢你的回答/评论,但我的问题仍然存在

我的CSS,不引人注目,如下所示:

.TTWayPoint {
    max-width:      150px;
    border:         1px solid black;
    padding:        3px;
    background-color:   lightyellow;
    font:           8pt Verdana, Tahoma, "Microsoft Sans Serif", sans-serif;
}
问题是,较长的文本在每个空格处都会断开(换行),即无法填充最大宽度。玩display属性没有帮助


在我看来,这是一个IE8问题。(实际上,我正在开发一个具有Webbrowser控件的VB.NET应用程序;这意味着您正在使用安装在系统上的IE版本,在我的情况下,它是IE8(无法在XP上更新)。

您可以通过将div设置为
显示:table
显示:inline块。下面是一个带有
display:table
的示例:


div{背景:#e7e7e7;显示:表格;最大宽度:130px;填充:10px;边距:0自动40px;}
一些文本
有些文字有些文字有些文字有些文字

我自己也有点惊讶(首先发布了一个错误的答案),但您的用例运行良好,如中所示。您的代码必须有其他问题。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<style media="all">

div {background: #e7e7e7; display: table; max-width: 130px; padding: 10px; margin: 0 auto 40px;}

</style>

</head>
<body>

<div>Some text</div>

<div>Some text some text some text some text</div>

</body>
</html>