Width equal to content
我在使用css的width属性时遇到一些问题。我在一个分区中有一些段落。我想使段落的宽度等于它们的内容,这样它们的绿色背景看起来就像是文本的标签。相反,我得到的是段落继承了更宽的DIV父节点的宽度。
1 2 3 4 5 6 7 8 | #container { width: 30%; background-color: grey; } #container p { background-color: green; } |
1 2 3 4 5 6 7 8 9 | <p> Sample Text 1 </p> <p> Sample Text 2 </p> <p> Sample Text 3 </p> |
默认情况下,
您可以使用以下选项更改其显示属性:
1 2 3 | #container p { display:inline-block; } |
但它将元素并排放置。
要使每个元素保持在自己的行上,可以使用:
1 2 3 4 | #container p { clear:both; float:left; } |
(如果使用float并需要在浮动元素之后清除,请参见此链接了解不同的技术:http://css tricks.com/all about floats/)
演示:http://jsfiddle.net/cvj3w/5/
编辑
如果您选择使用
1 2 3 4 5 6 7 8 9 | <p> Sample Text 1 </p><br/> <p> Sample Text 2 </p><br/> <p> Sample Text 3 </p><br/> |
新演示:http://jsfiddle.net/cvj3w/7/
我将宽度设置为最大内容,这对我很有用。
在
http://jsfiddle.net/pyq3c/
1 2 3 4 | #container p{ background-color: green; display: inline-block; } |
另一个优雅的解决方案是使用
使用此解决方案,您不需要手动插入换行符(如使用
http://jsfiddle.net/8md3jy4r/3/
将宽度属性设置为:宽度:适合内容
您可以使用以下任一选项:
1)显示:内联块:
http://jsbin.com/feneni/edit?HTML、CSS、JS、输出
取消对行的注释
4您将发现父容器已折叠。
2)使用显示器:表
http://jsbin.com/dujowep/edit?HTML、CSS、JS、输出
设置
请点击:http://jsfiddle.net/q2mrc/
您可以使用flex来实现这一点:
1 2 3 4 5 | .container { display: flex; flex-direction: column; align-items: flex-start; } |
尝试使用
使用
1 2 3 4 5 6 7 8 9 10 | #container { width: 30%; background-color: grey; overflow:hidden; margin:10px; } #container p{ display:inline-block; background-color: green; } |
1 2 3 4 5 6 7 8 9 10 11 | <h5>Correct sentence with spaces </h5> <p> Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 </p> <h5>No specaes (not working )</h5> <p> SampleSampleSampleSampleSampleSampleSampleSampleSampleSampleSamplesadasdsadasdasdsa </p> |
为什么不使用
1 2 3 4 5 6 7 8 9 10 | #container { width: 30%; background-color: grey; overflow:hidden; margin:10px; } #container p{ word-wrap: break-word; background-color: green; } |
1 2 3 4 5 6 7 8 9 10 11 | <h5> Correct sentence with spaces </h5> <p> Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 Sample Text 1 </p> <h5>No specaes</h5> <p> SampleSampleSampleSampleSampleSampleSampleSampleSampleSampleSamplesadasdsadasdasdsa </p> |
如果您出于任何原因使用
display: inline-flex
有约97%的浏览器支持嵌入式flex。
只需使用显示器:桌子;在你的箱子上。
尽管使用了