You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现列表项垂直居中?附代码及效果参考

解决垂直居中布局问题

嘿,我瞅了你这个布局问题啦!你现在用的justify-content: space-between会把容器里的元素分别顶到顶部和底部,中间的元素夹在中间,这显然不是你想要的整体垂直居中效果。咱们改两行代码就能搞定:

修改后的容器样式

把原来的justify-content: space-between换成center,再给元素之间加上合适的垂直间距(用gap最方便):

.hwrap header .h-position { 
  top: 0; 
  left: 0; 
  bottom: 0; 
  width: 135px; 
  position: fixed; 
  display: flex; 
  flex-direction: column; 
  justify-content: center; /* 换成center实现整体垂直居中 */
  gap: 20px; /* 控制元素之间的垂直间距,数值按需调整 */
}

为啥这样改?

  • position: fixed加上top:0; bottom:0已经让这个容器占满了左侧的垂直空间;
  • flex-direction: column保证元素是垂直排列的;
  • justify-content: center会把所有子元素作为一个整体,在容器的垂直方向上居中对齐;
  • gap是Flex布局里控制子元素间距的现代属性,比一个个加margin省事多了。如果需要兼容旧浏览器,也可以给每个子元素加margin-bottom,最后一个子元素去掉margin-bottom就行。

要是你还有其他样式干扰,比如子元素自带的margin/padding,微调一下数值就能完美匹配你要的效果啦!

内容的提问来源于stack exchange,提问作者jsjsjs

火山引擎 最新活动