javascript - 为什么 React Native 不提供 self 辩护

标签 javascript reactjs react-native

我想在主轴上对齐一个项目。例如,我想要一行中的几个子项全部向左对齐,然后一个子项在右侧对齐。

你可以用“position:absolute;right:0”之类的东西来实现这种效果,但我想知道是否有更好的方法。似乎应该有一个 justifySelf 属性,它只影响一个子项并影响其在主轴上的对齐方式,就像 alignSelf 影响一个子项在主轴上的对齐方式一样。次轴。

然而这样的justifySelf似乎并不存在。这是为什么?

这与这个问题类似但不完全是:How can you float: right in React Native?

最佳答案

我不知道 React Native,但我知道 Flexbox!

使用以下代码作为指导:

<div style="display: flex;">

  <div>
    I'll be on the left side
  </div>
  <div>
    I'll be hugging the guy on the left side
  </div>
  <div>
    I'll be hugging the guy hugging the guy on the left side
  </div>
  <div style="margin-left: auto;">
    I'll be hugging the right side far away from those other guys
  </div>

</div>

最后一个子级设置的边距会将所有其他子级推到左侧(只要其样式允许),并将自身推到右侧(任何其他样式允许的范围内)。

您可以通过向最后一个子级添加 margin-right: auto; 来测试这一点,您将看到最后一个子级在第一个子级之后完全居中于父级 div 的剩余空间中三个 child 占据了他们分配的空间。这是因为竞争的“ margin 自动”将平等共享剩余的空间,因为它们不能相互抵消,也不会相互覆盖。

Flex 框旨在处理这样的边距间距,因此请充分利用它以及 justify-content 属性下提供的其他独特间距选项。

有用的文章:https://hackernoon.com/flexbox-s-best-kept-secret-bd3d892826b6

关于javascript - 为什么 React Native 不提供 self 辩护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50847577/

相关文章:

javascript - Karma Require.js——改变目录结构正在杀死一切

javascript - react 转移组。从 .v1 迁移到 .v2 后转换不起作用

reactjs - 如果状态码为400,如何获取获取响应数据

reactjs - 从图像池中选择背景图像

javascript - 如何在react-native中根据条件导出对象?

javascript - 如何将子对象的范围限制到父对象?

javascript - jQuery/JavaScript 从路径文件中读取图像/文件

css - 注入(inject)具有特定范围的 Chakra UI 全局样式

javascript - React 组件内的构造函数

javascript - 填充 Google 自定义搜索引擎