如何只令两个行内元素中的一个垂直居中?

发布于 2022-09-13 00:05:29 字数 820 浏览 28 评论 0

前端小白,拜托轻喷!在学flex布局的时候看了阮一峰老师的举例,其中有这个图:
image.png
按照阮老师的代码,我做出来的效果是这样的:
image.png
第二个点在主轴方向上没有居中,心很痛。
源码如下:

<div id="d">
    <span class="points" id="s1"></span>
    <span class="points" id="s2"></span>
</div>
.points {
  border-radius:40px;
  width: 80px;
  height: 80px;
  background-color: aqua;
}

#s2 {
  align-self: center;
  justify-self: center;//这一行阮老师没有加,我出现了以上问题,觉得加了就好了,然鹅还是没有任何卵用
}

#d {
  border-radius: 20px;
  width: 360px;
  height: 360px;
  background-color: black;
  display: flex;
  padding: 20px;
}

想用纯flex布局的办法解决这个问题,不知道有没有解决的策略?还有想问问为啥这里的justify-self会失效呢?请指正,感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海夜未眠 2022-09-20 00:05:29

阮老师的第一句话就是一行最多放三个点,你的容器设置的宽度太大了,放四个都绰绰有余把宽度从360px减小到260px就行参考代码,justify-self并没有失效,只是你对他的理解有一点问题他不作用在整个主轴上而是只作用在该元素所占用的空间内看这里理解前面那句话

image.png

width为360时

image.png

width为260时

image.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文