这篇文章主要介绍了CSS 水平居中并限定最大的宽度实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一个 CSS 布局和样式的问题,如何在水平居中和限制最大宽度中,进行平衡
在最近工作中,遇到一个这样的问题:
1. 背景
•水平三栏或者两栏的布局,其中一栏内的内容是变动的;
•当内容过少时,整体需要居中展示;
•当内容过多时,需要根据最大的宽度进行省略;
2. 实现的思路
整体的容器要添加属性:
.container {
display: flex;
justify-content: center;
}
2.1 使用 flex:1 来实现
之前的代码里,把变动的那一栏设置为 flex: 1 或者 flex: auto ,但这样存在的问题是,这块会把容器剩余的所有空间都占满,而不会根据内容自动调整;
2.2 设置 flex: none 来实现
这个存在的问题是,当内容过多时,不会盖住过多的内容
2.3 不设置属性
中间内容不固定的,则不设置任何 flex 属性,如果已经设置了不够,记得重新覆盖掉:
.clamp {
flex: initial;
}
注意,这里使用的是 initial ,而不是 none。
同时还要注意,其他栏的宽度不要被挤压。我们左侧这一栏本来是放着一个图片,有设置宽度,但还是因为中间这一栏的内容过多,导致图片被压缩变形。所以,图片这里添加了一个 min-width 的属性。
文章来源:脚本之家,原文链接:https://www.jb51.net/css/745015.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/917580.html