我有什么:
HTML:
<div class="container">
<div class="text">
Some long text
</div>
<div class="extendable">
<img>
</div>
</div>
CSS:
.container {
float: right;
min-width: 10em;
padding-left: 1em;
.text {
padding: 0.3em;
}
}
每个街区都有动态宽度和高度 http://jsfiddle.net/vZ4eA/
我想要的是什么:
如果内容过大,.text
则无法扩展.container
。应该有一个强行换行
另一方面,.extendable
如果内容超出宽度(行为正常),则应使container
更大。
答案 0 :(得分:1)
您可以使用max-width
作为文本以及nowrap
.text{
padding: .3em;
border: 1px solid red;
max-width: 200px;
word-break: break-all;
display: block;
}
修改强>
要回复以下评论之一,max-width
应该是动态值,以便使用容器的动态宽度。您可以使用javascript
或jQuery
<强>的jQuery 强>
我建议你查看this plugin来处理div
$("#div").resize(function(e){
$(".text").css({"max-width" : $(this).css("max-width") });
});
答案 1 :(得分:1)
您需要在.text
上设置固定宽度,然后使用word-break:break-all;
使用jQuery,您可以将.text
的宽度设置为.extendable
的宽度。
var exWidth = $('.extendable').css('width');
$('.text').css('width', exWidth);
修改:仅限CSS
您可以尝试将.text
放在.extendable
内。
见这里:http://jsfiddle.net/vZ4eA/18/
编辑2:CSS:
在这个答案https://stackoverflow.com/a/7231607/1399670的帮助下,我已根据您的要求更新了小提琴。
答案 2 :(得分:0)
我认为这里适用的唯一方法是在.text
上设置max-width答案 3 :(得分:0)
你可能需要动态更新.text的最大宽度为.container resizes;特别是在页面加载和视口大小调整上。您可以执行此操作using jQuery。