Javascript 有没有一种方法可以在两个元素之间创建不带填充或边距的空间?
我使用的是React Native,我有两个内联按钮,Javascript 有没有一种方法可以在两个元素之间创建不带填充或边距的空间?,javascript,reactjs,css,react-native,Javascript,Reactjs,Css,React Native,我使用的是React Native,我有两个内联按钮,搜索和添加按钮: 我需要的是在这些按钮之间创建一些空间,而不影响左右边缘 以下是我使用JSX的方式: <View style={globalStyles.stretchContent}> <TouchableOpacity style={[ globalStyles.touchableBtnDropOffItem, { backgroundColo
搜索
和添加
按钮:
我需要的是在这些按钮之间创建一些空间,而不影响左右边缘
以下是我使用JSX的方式:
<View style={globalStyles.stretchContent}>
<TouchableOpacity
style={[
globalStyles.touchableBtnDropOffItem,
{ backgroundColor: Colors.dropOffTabColor },
]}
>
<Text style={{ color: '#fff' }}>Search</Text>
</TouchableOpacity>
<TouchableOpacity
style={[
globalStyles.touchableBtnDropOffItem,
{ backgroundColor: Colors.dropOffTabColor },
]}
>
<Text style={{ color: '#fff' }}>Add</Text>
</TouchableOpacity>
</View>
正如你所知,React Native使用flexbox,我很难实现我所需要的。问题是,如果我应用边距,它会减少每个按钮末端的按钮宽度。例如:我需要搜索按钮与文本所有乘客列表(9)
完全对齐。如果我应用marginHorizontal
它将减小宽度,它将在两个按钮的两侧创建一个边距,这样它将不再与我提到的文本对齐
那么,在这种情况下我能做些什么呢?最简单的方法是将按钮的宽度设置为略小于一半(
45%
或40%
),然后浮动每个按钮(左侧浮动搜索
,右侧浮动添加
):
(我认为下面的语法是正确的-如果它不是有效的React代码,请告诉我如何修复它)
解决这一问题的最简单方法是,为按钮保留一个宽度,并使用
justifyContent:“空格周围”
如果想要在按钮的左侧或右侧之间留出空格,也可以使用justifyContent:“空格中间”
以你为例,
touchableBtnDropOffItem: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
alignContent: 'space-between',
height: 36,
marginTop: 20,
borderRadius: 2,
marginHorizontal: 5,
width: '40%'
},
stretchContent: {
flex: 1,
color: white,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
},
touchablebtndropoffice:{
对齐项目:“居中”,
为内容辩护:“中心”,
alignContent:'之间的空格',
身高:36,
玛金托普:20,
边界半径:2,
弹性基准:45%,
},
拉伸内容:{
弹性:1,
颜色:白色,
flexDirection:'行',
对齐项目:“居中”,
justifyContent:'之间的空间',
},
我不确定React是否正确,但总体思路是将按钮缩小40%,并将按钮分别向左和向右浮动,这将在两个按钮之间留出空间尝试在值之间留出空间是的,这对我很有用。我不得不删除flex:1
和marginHorizontal:5,
,这使得按钮变得全宽。太棒了!!我编辑了答案,以便在将来有人需要时更好地匹配您的工作解决方案。
<View style={globalStyles.stretchContent}>
<TouchableOpacity
style={[
globalStyles.touchableBtnDropOffItem,
{ backgroundColor: Colors.dropOffTabColor; float: left; },
]}
>
<Text style={{ color: '#fff' }}>Search</Text>
</TouchableOpacity>
<TouchableOpacity
style={[
globalStyles.touchableBtnDropOffItem,
{ backgroundColor: Colors.dropOffTabColor; float: right; },
]}
>
<Text style={{ color: '#fff' }}>Add</Text>
</TouchableOpacity>
</View>
touchableBtnDropOffItem: {
width: 45%,
flex: 1,
alignItems: 'center',
justifyContent: 'center',
alignContent: 'space-between',
height: 36,
marginTop: 20,
borderRadius: 2,
marginHorizontal: 5,
},
touchableBtnDropOffItem: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
alignContent: 'space-between',
height: 36,
marginTop: 20,
borderRadius: 2,
marginHorizontal: 5,
width: '40%'
},
stretchContent: {
flex: 1,
color: white,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
},