【发布时间】:2020-08-01 11:25:33
【问题描述】:
position absolute 其所有属性都在 0 使子元素在父元素中扩展,如果我在父元素中放置一个没有高度的填充,则具有绝对位置的子元素覆盖直到父填充,我的理论是对的还是我在这里忘记了什么?可能还有另一种不同的情况?
import React from 'react';
import {View, StyleSheet} from 'react-native';
import Video from 'react-native-video';
export default function Reproductor(props) {
return (
<View style={styles.container}>
<View style={styles.videoContainer}>
<Video
source={{
uri:
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
}}
resizeMode="cover"
style={styles.video}
/>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: {
height: 250,
justifyContent: 'center',
alignItems: 'center',
},
videoContainer: {
width: '90%',
paddingTop: '56.25%',
borderRadius: 20,
overflow: 'hidden',
borderWidth: 3,
backgroundColor: 'black',
},
video: {
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0,
},
});
孩子(视频)覆盖了填充
【问题讨论】:
-
绝对位置及其所有属性为 0 类似于 100% 宽度和 100% 高度。如果您希望
styles.video跟随styles.videoContainer,请确保高度和宽度相同
标签: reactjs react-native flexbox position absolute