我希望我的盒子的大小不会被边距和填充改变。
5 回答
React Native 设置所有视图的样式,就好像设置了 box-sizing: 一样border-box
。请参阅此代码:https ://github.com/facebook/react-native/blob/5aa1fb3ff326a429e33a443576da866f2a63c20c/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java#L632
令 O (for outer) = (top, left, bottom, right) 为表示视图 V 的大小 * 和位置的矩形。由于所有 React Native 视图的 box-sizing 都是border-box,因此任何 * 的边框V 将在 O 内部渲染。
正如另一个答案中提到的,在 React Native 中,一切都被视为box-sizing: border-box
已设置。模拟 css 的一种解决方法content-box
是将您的组件包装在一个容器中View
,并将您的边框和填充添加到该容器中View
。
反应原生没有选项
boxSixing: "border-box"
你可以在你的造型中做的是
<View style={ {
flex: 1,
alignContent: "center",
justifyContent: "center",
}}>
<View style={ {
flex: 1,
width: "95%" // or width of the box - intended margin
}}>
***chi;dren goes here***
<View/>
<View/>
进入该视图的任何组件都将位于中心,边距为 5% 或指定的内容,这暂时解决了问题,直到 react-native 提供更好的解决方案
你可以使用 resizeMode: 'cover' 或 'stretch' 或 'contain'