由于某些原因,在容器视图的样式中设置alignItems:center
会导致flex行中的文本停止换行,并且不遵守容器视图的填充
。
这里的工作示例和代码:https://rnplay.org/apps/FsDXuQ
我尝试按照建议将flexDirection设置为列,使用flex: 1或flexWap,但唯一有效的是从容器视图中删除对齐项:中心
。
我不明白这是怎么回事。如果我想:
谢谢。
我自己一直在搜索来解决这个问题:
textStyle: {
textAlign: 'center',
}
本文提供:http://moduscreate.com/aligning-children-using-flexbox-in-react-native/
去掉直接父级中的任何对齐项
以允许flexWap发生。
我们在我的公司也遇到了同样的问题,据我所知,没有什么非黑客的方法可以绕过它。
我们处理它的方法是从主容器中完全删除alignItems属性,并给容器一个flex:1属性。然后,我们使用alignItems:“居中”到我们需要的任何子组件,而不将样式传播到所有子组件。
我在这里建立了一个例子,并粘贴了下面的代码。
'use strict';
var React = require('react-native');
var {
AppRegistry,
Image,
StyleSheet,
Text,
View,
Dimensions
} = React;
var width = Dimensions.get('window').width
var shortText = "Lorem ipsum dolor sit amet, consectetur adipis.";
var longText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sollicitudin ligula ut leo dictum, id elementum sapien faucibus. Nullam et feugiat neque";
var SampleApp = React.createClass({
render: function() {
return (
<View style={styles.container}>
<View style={ styles.alignCenter }>
<Text>{shortText}</Text>
</View>
<Text/>
<View style={{ flexDirection: 'row', flexWrap: 'wrap' }}>
<Image source={{uri: "http://icons.iconarchive.com/icons/designbolts/free-male-avatars/128/Male-Avatar-icon.png"}} style={{height: 32, width: 32}}/>
<View style={{ flex:1 }}>
<Text >{longText}</Text>
</View>
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
padding: 30,
marginTop: 65,
flexWrap: 'wrap',
flex:1
},
alignCenter: {
alignItems: 'center'
}
})
AppRegistry.registerComponent('SampleApp', () => SampleApp);
使用flex
属性。例如。
我有一个元素,它被包装在较小的屏幕中,如何使用CSS使包装的文本对齐自己? 这就是我想要的
我有一个TextView的布局/对齐问题,但我还没有找到解决方法,即我想在TextView中水平对齐偏离中心的文本。 为了提供更多的上下文,我将ImageView和TextView并排使用,ImageView接触屏幕的左边缘,TextView水平填充屏幕的其余部分,如下所示: TextView被配置为singleline=“true”和maxlines=“1”,这样,如果它的水平空间太长,就会被截
问题内容: 我有一个具有以下属性的flex容器(蓝色正方形): 因此,其子项(浅蓝色方块)如下所示排列它们自己。但是,我想从正常流程中添加另一个孩子(绿色正方形)并将其相对于其父对象放置。要将其定位在下面,如您所见,我最好编写类似bottom: 20px;和的内容margin: auto;。 我试着z-index无济于事。我应该如何处理?我应该使用另一个父元素吗? 问题答案: 以下是实现此布局的五
问题内容: 我将以下布局考虑在内。每个列表项由两列表示。第二列应占用所有可用空间,但 如果第一列占用太多空间,则应以最小大小将其固定在右侧。第一栏应显示省略号。 问题在最后一种情况下发生。当第一列包含太多文本时,它没有显示省略号,而是将其自身拉伸到弹性框之外,从而导致出现水平滚动条,而第二列则没有锚定在右侧。 问题答案: 更新 添加有效的代码: 原始答案/解释。W3C规范说:“ 默认情况下,弹性项
我有以下的布局在脑海中的一个列表。每个列表项由两列表示。第二列应该占用所有可用空间,但是如果第一列占用太多空间,它应该以最小大小固定在右边。然后,第一列应显示省略号。 问题发生在最后一个案例中。当第一列包含太多文本时,它不会显示省略号,而是将自身从flexbox中伸出,从而显示水平滚动条,而第二列不会定位到右侧。 我想让它呈现如下(模型): 我怎样才能做到这一点? 这是提琴样品。
问题内容: 我的页面中有一个表格,我使用colgroups以相同的方式设置此列中的所有单元格的格式,对背景颜色和所有颜色均适用。但似乎无法弄清为什么文本对齐中心不起作用。它不会使文本居中对齐。 例: CSS: 问题答案: 只有有限的CSS属性集适用于column,而不是其中之一。 有关这种情况的说明,请参见“为什么只有四个属性应用于表列的奥秘”。 在您的简单示例中,最简单的解决方法是添加以下规则: