我写了这段代码。计划在每个块的左侧有一张图片,右侧在顶部有一个名称,在底部有一个描述。但问题是带有文本的块,由于其长度,占据了块的所有 100%,并被转移到下一行。
如何让文字不换行,同时保持灵活性,即不设置块的宽度,以后可以不断变化?
JSFiddle:https ://jsfiddle.net/6arnozcs/
.clearfix:after {
content: "";
display: table;
clear: both;
}
.shop_block {
max-height: 300px;
overflow: auto;
width: 400px;
}
.shop_item {
background: #ccc;
}
.shop_item:hover {
background: #999;
}
.shop_item>div {
float: left;
}
.shopitem_cont {
height: 64px;
overflow: hidden;
box-sizing: border-box;
padding: 5px 10px 3px 8px;
}
.shopitem_head {
font-size: 18px;
padding: 0 0 3px 0;
margin: 0 0 3px 0;
border-bottom: 1px solid #000;
}
<div class="shop_block">
<div class="shop_item clearfix">
<div class="shopitem_image">
<img src="http://placehold.it/64x64">
</div>
<div class="shopitem_cont">
<div class="shopitem_head">Item 0</div>
Description is here. На самом деле описание настоооолько большое что просто не влазит в этот блок.
</div>
</div>
<div class="shop_item clearfix">
<div class="shopitem_image">
<img src="http://placehold.it/64x64">
</div>
<div class="shopitem_cont">
<div class="shopitem_head">Item 0</div>
Description is here. На самом деле описание настоооолько большое что просто не влазит в этот блок.
</div>
</div>
</div>
有一群很棒的人
float: left / right;+overflow: hidden。这种技术看起来像这样:好吧,一般来说——如果浏览器堆栈允许,请使用 flexbox :)