You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS Flexbox设置后div元素重复显示问题求助

解决Flexbox设置后出现重复div的问题

问题根源

你使用了全局div选择器设置样式,这会让页面中所有div元素都套用这套样式,包括你没留意到的其他div(比如编辑器自动生成的隐藏元素),最终呈现出两个相邻div的效果。

修复步骤

  1. 给目标容器添加类名:避免全局样式污染,仅给需要的div应用样式。
  2. 调整Flex属性实现正确居中:Flex布局里justify-self对项目不生效,要让容器内的img水平垂直居中,给容器设置justify-content:center和align-items:center即可。

修改后的代码

CSS部分

body {
  background-color: rgb(39, 39, 39);
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center; /* 可选:让容器在页面中垂直居中 */
}

img {
  width: 200px;
  border: 1px solid white;
  padding: 40px;
  border-radius: 200px;
}

/* 用类选择器替代全局div选择器 */
.image-container {
  width: 350px;
  height: 400px;
  border: 1px solid white;
  border-radius: 200px;
  padding: 40px;
  display: flex;
  justify-content: center; /* 水平居中img */
  align-items: center; /* 垂直居中img */
}

HTML部分

<div class="image-container">
  <img src="picture.jpg" alt="">
</div>

补充说明

  • 全局选择器(如div、p)尽量少用,容易引发样式冲突,优先使用类选择器。
  • Flex布局中,容器的justify-content控制主轴方向对齐,align-items控制交叉轴方向对齐,项目的align-self可单独覆盖容器的align-items设置,但justify-self在Flex布局中无有效用法。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:52:19