当前位置: 首页 > 知识库问答 >
问题:

你怎么能漂浮:就在这里?

丰超
2023-03-14

例如,我有一个元素要向右浮动

<View style={{width: 300}}>
  <Text style={{backgroundColor: "#DDD"}}>Hello</Text>
</View>

如何将Text浮动/对齐到右侧?还有,为什么Text占用了View的全部空间,而不仅仅是Hello的空间?

共有3个答案

姚骁
2023-03-14

对我来说,将对齐项设置为父项可以做到这一点,比如:

var styles = StyleSheet.create({
  container: {
    alignItems: 'flex-end'
  }
});
阴波峻
2023-03-14

可以直接指定项目的对齐方式,例如:

textright: {    
  alignSelf: 'flex-end',  
},
姜良哲
2023-03-14

为什么文本占据了视图的全部空间,而不仅仅是“Hello”的空间?

因为视图是一个flex容器,默认情况下它有flexDirection:“column”alignItems:“stretch”,这意味着它的子项应该伸展以填充其宽度。

(请注意,根据文档,React Native中的所有组件默认情况下都是display:'flex',并且display:'inline'根本不存在。这样,React Native中视图中的文本的默认行为与div中的span的默认行为不同网络;在后一种情况下,span不会填充div的宽度,因为span默认为内联元素。React Native中没有这样的概念。)

如何将文本浮动/对齐到右侧?

React Native中不存在浮动属性,但是有很多选项可供您使用(行为略有不同),可以让您对文本进行右对齐。以下是我能想到的:

<View>
  <Text style={{textAlign: 'right'}}>Hello, World!</Text>
</View>

(这种方法不会改变文本填充视图整个宽度的事实;它只是将文本中的文本正确对齐)

<View>
  <Text style={{alignSelf: 'flex-end'}}>Hello, World!</Text>
</View>

这将Text元素缩小到容纳其内容所需的大小,并将其放在View的交叉方向(默认情况下为水平方向)的末尾。

<View style={{alignItems: 'flex-end'}}>
  <Text>Hello, World!</Text>
</View>

这相当于在所有视图的子视图上设置alignSelf:“flex end”

<View style={{flexDirection: 'row', justifyContent: 'flex-end'}}>
  <Text>Hello, World!</Text>
</View>

flexDirection:'row'将布局的主要方向设置为水平而不是垂直;理由内容就像对齐项一样,但是控制在主要方向上的对齐而不是交叉方向。

<View style={{flexDirection: 'row'}}>
  <Text style={{marginLeft: 'auto'}}>Hello, World!</Text>
</View>

这种方法在web和真实CSS的上下文中得到了演示,https://stackoverflow.com/a/34063808/1709587.

<View>
  <Text style={{position: 'absolute', right: 0}}>Hello, World!</Text>
</View>

像在真正的CSS中一样,这将使Text脱离流,这意味着它的兄弟姐妹将能够重叠它,并且默认情况下,它的垂直位置将位于View的顶部(尽管您可以显式地设置距离使用top样式属性的View的顶部)。

当然,你想使用哪种方法——以及它们之间的选择是否重要——将取决于你的具体情况。

 类似资料:
  • 问题内容: 我看过一些代码,例如: 我试过了 但它不起作用。你怎么用? 问题答案: 静态导入可以解决问题: 或者使用以下方法导入每个静态方法和字段 @Steve C的附录:请注意,@ sfussenegger在对我的答案的评论中说了这一点。 “使用System.out的静态导入不仅仅适用于简单的一次性代码。” 因此,请不要以为他(或我)认为此解决方案是良好实践。

  • 本文向大家介绍请你谈谈,你是怎么准备这次面试的?相关面试题,主要包含被问及请你谈谈,你是怎么准备这次面试的?时的应答技巧和注意事项,需要的朋友参考一下

  • Linux 系统的兴盛受益于开源社区的强健根基,我们将与读者一起学习了解开源软件的优势,了解诸如GPL、LGPL、BSD、Apache、MIT、Mozilla等热门开源许可证,方便今后做出更好的选择。

  • 第一个表是医院记录,第二个表是业务人负责的医院,怎么在第一个表增一个“业务员”列,分别从第二个表对应上是哪个业务员?这怎么实现? https://www.chunshu.net/angpu/%E4%B8%B4%E6%97%B6%E4%BA%BA%E5%... 还有一个问题:我想把下面第一个表里的统计到第二个表里,但是就是申请时间统计,比如‘2024/3/1’里就填A在第一张表里所以是2024/3/

  • 今天面试字节前端,然后面试官问我你这个项目是自己从0到1搭建的嘛?我说从网上拉下来的模板,然后他问那你对这个模板中每一个babel和plugin还有相应的loader都清楚了解嘛?我说只会常见的 虽然我知道我应该挂了,但是还是忍不住问面试官,反问的对话如下: 我:今年校招要求这么高的嘛? 面试官:今年字节对校招生的要求就是很高,希望招一个进入就能干活的,对前端充满热爱的同学 我:那如果我现在不会,

  • 我有这段代码,但我不明白为什么会出现以下错误: