matchMedia

media query 匹配检测节点。可以指定一组 media query 规则,满足时,这个节点才会被展示。

通过这个节点可以实现“页面宽高在某个范围时才展示某个区域”这样的效果。

参考文档

类型

  1. ComponentType<MatchMediaProps>

示例代码

  • React
  • Vue
  1. class App extends Components {
  2. render () {
  3. return (
  4. <View>
  5. <MatchMedia minWidth="300" maxWidth="600">
  6. <view>当页面宽度在 300 ~ 500 px 之间时展示这里</view>
  7. </MatchMedia>
  8. <MatchMedia minHeight="400" orientation="landscape">
  9. <view>当页面高度不小于 400 px 且屏幕方向为纵向时展示这里</view>
  10. </MatchMedia>
  11. </View>
  12. )
  13. }
  14. }
  1. <template>
  2. <view class="components-page">
  3. <match-media min-width="300" max-width="500">
  4. <view>当页面宽度在 300 ~ 500 px 之间时展示这里</view>
  5. </match-media>
  6. <match-media min-height="400" orientation="landscape">
  7. <view>当页面高度不小于 400 px 且屏幕方向为纵向时展示这里</view>
  8. </match-media>
  9. </view>
  10. </template>

matchMediaProps

参数类型必填说明
minWidthnumber页面最小宽度( px 为单位)
maxWidthnumber页面最大宽度( px 为单位)
widthnumber页面宽度( px 为单位)
minHeightnumber页面最小高度( px 为单位)
maxHeightnumber页面最大高度( px 为单位)
Heightnumber页面高度( px 为单位)
orientationstring屏幕方向( landscape 或 portrait )

API 支持度

API微信小程序H5React Native
matchMediaProps.minWidth✔️
matchMediaProps.maxWidth✔️
matchMediaProps.width✔️
matchMediaProps.minHeight✔️
matchMediaProps.maxHeight✔️
matchMediaProps.Height✔️
matchMediaProps.orientation✔️