我有一个包含固定宽度内容(另一个div内的图像)和可变宽度内容(动态变化的文本)的div。我需要这个外部div:
因为它应该是该行的唯一元素,所以我无法使用display:inline
或display:inline-block
。另一方面,display:block
不会自动缩小。这是我的代码:
我对overflow
,float
和clear
的实验没有产生任何结果。任何帮助,建议,链接等都是非常受欢迎的。谢谢。
答案 0 :(得分:8)
我就是这样做的:我给了#outer
CSS样式display:inline-block
,然后将其放在另一个div中,使用css display:block
来确保#outer
留在另一条线上:
<强> CSS 强>
#outer {
text-align: center;
border-style: solid;
border-width: 1px;
border-color: #000000;
height: 50px;
width:auto;
display:inline-block;
}
#image {
float: right;
width: 50px;
}
#element_block {
display:block;
}
<强> HTML 强>
Some content above div
<div id="element_block">
<div id="outer">
Text inside div<div id="image">IMG</div>
</div>
</div>
Some content below div
答案 1 :(得分:4)
答案 2 :(得分:1)
只需在“text-element”和“block-element”之间添加<br/>
即可。
然后显示:内联阻止你的内部容器
#outer {
text-align: center;
border-style: solid;
border-width: 1px;
border-color: #000000;
height: 50px;
width:auto;
display:inline-block;
}
#image {
float: right;
width: 50px;
}
答案 3 :(得分:0)
使用弹性盒:
.holder{
display:flex;
flex-direction:column;
align-items:center;
}
.item{
border:1px solid red;
margin:10px;
padding:10px;
}
<div class="holder">
<div class="item">
Item has a lot of text
</div>
<div class="item">
Small
</div>
<div class="item">
Very big and wide with lots of content
</div>
</div>