2 回答
TA贡献1887条经验 获得超5个赞
我看到你正在使用display: table
来达到这种效果。我强烈建议您先阅读更多内容,然后再继续您的工作或项目。您必须了解的一些布局概念是grid和flex。对于您的情况,我们可以使用弹性盒概念来解决您的问题。
flex
基本上是一种可以更轻松地在项目之间分配空间的方法。flex-grow
就您而言,您可以通过使用和来获得您想要实现的目标flex-basis
。flex-basis
定义弹性容器内的项目最初应该有多长/多高。flex-grow
定义弹性容器内的项目如何根据容器的剩余空间扩展(增长)宽度/高度。
对于您的情况,我们可以简单地将 Flex 容器的宽度(您的包装 div)设置为 100%。为了在项目之间均匀分配空间,我们可以将所有项目的初始宽度设置为 0。然后,将每个 Flexbox 项目的容器剩余空间(仍然是 100%)平均分配为 1。flex-grow
但是,这将使所有项目的宽度相似。要使中心 div 更宽,可以将 设为flex-grow
2。这将使左侧 div、中心 div 和右侧 div 的宽度分别为容器剩余空间的 25%、50% 和 25%。我真的建议进一步阅读有关 Flex 的内容,以理解我的意思。在上面的链接中阅读了有关 flex 的内容后,请尝试访问此和此以了解有关flex-basis
和 的更多信息flex-grow
。
这是一个使用的可行解决方案flex
。再次,我建议您阅读更多有关 Flex 的内容,以便您可以更好地使用 Flex。
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Helvetica;
}
body,
html {
width: 100%;
height: 100%;
}
#wrapper {
display: flex;
width: 100%;
}
#wrapper * {
padding: 30px;
text-align: center;
color: white;
}
.left-align,
.right-align {
flex-basis: 0;
flex-grow: 1;
}
.center-align {
flex-basis: 0;
flex-grow: 2;
}
.left-align {
background: #121212;
}
.center-align {
background: #232323;
}
.right-align {
background: #454545;
}
<div id="wrapper">
<div class="left-align">Some content</div>
<div class="center-align">Some content</div>
<div class="right-align">Some content</div>
</div>
TA贡献1155条经验 获得超0个赞
我为您的布局创建了一个简单的示例。您可以使用 flex box ie 来实现它
.box{
display: flex;
width:100%;
justify-content:space-between;
}
这是链接: https: //codesandbox.io/s/optimistic-euclid-xmv6h
希望它能回答您的问题。
- 2 回答
- 0 关注
- 81 浏览
添加回答
举报