【发布时间】:2015-07-09 18:34:48
【问题描述】:
我想在蓝色容器 div 中居中中间的黄色 div,而不管左侧和右侧的文本/div 的大小。中心 div 的大小应自动调整以适应文本,因为它将动态更新。
然后,左侧黄色 div 应使用右对齐文本填充左侧剩余的空白,此 div 左侧的任何额外文本都应隐藏在左侧蓝色容器的边缘之外。
【问题讨论】:
我想在蓝色容器 div 中居中中间的黄色 div,而不管左侧和右侧的文本/div 的大小。中心 div 的大小应自动调整以适应文本,因为它将动态更新。
然后,左侧黄色 div 应使用右对齐文本填充左侧剩余的空白,此 div 左侧的任何额外文本都应隐藏在左侧蓝色容器的边缘之外。
【问题讨论】:
您可能应该检查一下弹性盒。这是一个很好的指南:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
这样的事情应该可以解决问题:
.container{
padding:5px;
background:blue;
display: flex;
justify-content: center
}
查看实际操作: https://jsfiddle.net/kzj983h2/3/
【讨论】:
flex:1 设置为每个应该拉伸的元素。
尝试查看flexboxes。我用你所说的做了一个简单的例子。它应该可以满足您的需求..
$('#button').click(function(){
$('.two').text($('.two').text() + ', and more words');
});
#content {
display:flex;
background:black;
width:500px;
padding:3px;
justify-content:space-between;
flex-shrink:0;
overflow:hidden;
}
.one, .two, .three {
background:white;
padding:3px;
}
.one, .three {
width:10%;
}
.two {
width:80%;
margin: 0 3px;
}
#main {
margin: 0 auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="main">
<div id="content">
<div class="one">Block one</div>
<div class="two">Another word</div>
<div class="three">Block three</div>
</div>
<br>
<button id="button">Click me!</button>
</div>
【讨论】: