Css 调整最大宽度以适应文本?
不是最好的标题,但无论如何 我有一个最大宽度为Css 调整最大宽度以适应文本?,css,Css,不是最好的标题,但无论如何 我有一个最大宽度为的元素和一些文本 如果文本长度超过一行所能容纳的长度,我会得到以下结果: ---------------------------- |My text here, hello | |everyone! | ---------------------------- 换句话说,它占据了整个最大宽度,但由于单词向下移动,右侧有一个空白 有没有办法让这种情况发生 --------------------- |My
的元素和一些文本
如果文本长度超过一行所能容纳的长度,我会得到以下结果:
----------------------------
|My text here, hello |
|everyone! |
----------------------------
换句话说,它占据了整个最大宽度,但由于单词向下移动,右侧有一个空白
有没有办法让这种情况发生
---------------------
|My text here, hello|
|everyone! |
---------------------
单靠CSS是不可能的
,这是不可能的。这个解释很有道理。要开始换行,线条需要达到max width
设置。完成后,它将进行包裹,但不会重新收缩,因为它正在使用该大小计算包裹
据我所知,这仍然是不可能的。感觉你需要的是断字
,尽管它是CSS3的新属性,还没有得到广泛的支持我还没有找到一种方法,它不需要同时使用包装器元素和JavaScript,但这个方法可能适合你的需要
<div id="example">
<span id="content">My text here, hello everyone!</span>
</div>
使用上述解决方案,但在内部元素上设置显示:表格标题,不要设置最大宽度:0px。这将包括safari支持(以及Firefox 17、IE8/9和Chrome)。记住,它需要是一行文本。@Kolink——除非我遗漏了什么,float
(以及所有其他注释)可以很好地折叠到文本的宽度(无论是否有一行)。这不是你想要的吗?使用超宽最大宽度查看。它让我在IE8/9、Firefox 17和Chrome 23上的最后四个div崩溃了。。。啊哈,但如果线绕起来足够小就不行了;那正是你想要的,不是吗?那正是我想要的;)如果一行太长,无法容纳。@Kolink--目前看来,该问题只涉及部分内容(而不是完全跨浏览器)。查看我的更新。@zooted:谢谢。我删除了那一部分,因为你是对的,而且据我所知,这仍然是不可能的。我不想让这些词被打断。你在我的例子中看到任何断字吗?
var content = document.getElementById("content");
content.parentNode.style.width = content.offsetWidth + "px";