【发布时间】:2014-01-19 03:58:53
【问题描述】:
是否可以让具有多行内容的浮动元素占用最小宽度?
只要内容只有一行,没有设置宽度的浮动元素使用的宽度最少。如果超过一行,则元素的宽度为 100%。
我的 HTML
<div class="wrap">
<div class="floater"> <a class="left" href="#">
<span class="right">Right<br>Right<br>Right</span>
<span class="inner">Left: longword longerword evenlongerword longerword evenlongerword longword.
</span>
</a>
</div>
</div>
我的 CSS
.wrap {
width: 350px;
border: 1px solid gold;
}
.floater {
overflow: hidden;
padding: 10px;
}
.left {
float: left;
border: 1px solid silver;
padding: 5px;
}
.right {
float:right;
margin: 0 10px;
border: 1px solid green;
padding: 5px;
}
.inner {
border: 1px solid red;
display: block;
overflow: hidden;
padding: 5px;
}
我的小提琴
http://jsfiddle.net/HerrSerker/qBfbc/
我的头像
【问题讨论】:
-
如果不是 100% 宽,为什么任何代码会以完全一样的方式而不是以其他方式分配单词?
-
@Itay 我也想到了。也许有一种解决方法不适用于浮动。
-
您对 jQuery 解决方案感兴趣吗?
-
您必须在左侧或内部容器上设置大约 270px 的宽度才能包裹单词,否则它只会使用尽可能多的空间来容纳单词现有空间。
-
您的意思是
right类嵌套在left中,还是一个错误?