当前位置: 首页 > wzjs >正文

九江新闻厦门网站优化建设

九江新闻,厦门网站优化建设,惠州做网站 百度优化,怎么用阿帕奇做网站媒体查询条件详解 媒体查询是响应式设计的核心工具,通过判断设备特征动态调整界面样式。其完整规则由媒体类型、逻辑操作符和媒体特征三部分组成,具体解析如下: 一、媒体查询语法结构 基本格式: [媒体类型] [逻辑操作符] (媒体特…

媒体查询条件详解

媒体查询是响应式设计的核心工具,通过判断设备特征动态调整界面样式。其完整规则由媒体类型逻辑操作符媒体特征三部分组成,具体解析如下:


一、媒体查询语法结构

基本格式
[媒体类型] [逻辑操作符] (媒体特征)

  • 媒体类型:可选,默认screen(屏幕设备)。
  • 逻辑操作符:组合多个条件(如andor)。
  • 媒体特征:具体判断条件,用( )包裹。

示例

  • screen and (width >= 600px) → 屏幕设备且宽度≥600像素时生效。
  • (dark-mode: true) → 深色模式时生效(省略媒体类型,默认为screen)。

二、媒体类型(Media Type)
类型说明
screen屏幕设备(默认),如手机、平板、电脑。

规则

  • 若需指定非屏幕设备(如打印机),需显式声明(如print and (条件)
  • 未声明时,默认所有条件仅针对屏幕设备。

三、逻辑操作符(Logic Operators)

用于组合多个条件,形成复杂查询逻辑:

操作符作用示例
and所有条件同时满足时生效(width >= 600px) and (dark-mode: true) → 宽屏且深色模式生效。
or任一条件满足时生效(width < 300px) or (height < 300px) → 宽度或高度小于300像素时生效。
not否定整个条件(需搭配screennot screen and (device-type: tv) → 非电视设备时生效。
only兼容旧设备(实际效果等同screenonly screen and (width <= 500px) → 仅屏幕设备且宽度≤500像素时生效。
,等同or,但优先级更低(width >= 1000px), (device-type: tablet) → 宽屏或平板设备时生效。

注意事项

  • notonly必须与screen一起使用。
  • 逗号,优先级低于and,建议用括号明确逻辑分组。

四、范围操作符(Range Operators)

用于数值型媒体特征(如宽度、高度):

操作符说明示例
<=小于等于(height <= 800px)
>=大于等于(width >= 600vp)
<小于(resolution < 2dppx)
>大于(min-device-width > 720px)

五、媒体特征(Media Features)

定义具体判断条件,覆盖设备类型、屏幕状态、环境模式等:

1. 尺寸与方向
特征说明示例
width/height应用窗口的宽/高(支持vp/px(width >= 600vp) → 窗口宽度≥600虚拟像素。
min-width窗口最小宽度(min-width: 768px) → 窗口宽度≥768像素时生效。
orientation屏幕方向(portrait竖屏/landscape横屏)(orientation: landscape) → 横屏生效。
2. 设备属性
特征说明示例
device-type设备类型(如phonetablet(device-type: wearable) → 智能穿戴设备生效。
round-screen是否圆形屏幕(round-screen: true) → 圆形屏幕生效。
resolution设备分辨率(dpi/dppx/dpcm(resolution >= 300dpi) → 高分辨率设备生效。
3. 环境模式
特征说明示例
dark-mode深色模式(true/false(dark-mode: true) → 深色模式生效。
4. 特殊限制(鸿蒙系统)
  • 卡片中仅支持heightwidth
  • 设备宽度固定device-width在应用初始化后不更新(如折叠屏展开时不刷新)。

六、综合应用场景
  1. 横竖屏适配

  2. 深色模式适配

  3. 多设备适配


七、避坑指南
  1. 避免循环依赖

    • ❌ 错误:组件A依赖B的位置,B又依赖A → 布局无法计算。
  2. 动态内容更新

    • 组件尺寸变化时(如文字增多),需手动触发重排:
  3. 性能优化

    • 避免在媒体查询中频繁加载资源(如图片)。
    • 使用min-width/max-width替代固定宽度,增强灵活性。

import { mediaquery, window } from '@kit.ArkUI';
import { common } from '@kit.AbilityKit';@Entry
@Component
struct MediaQueryExample {@State color: string = '#DB7093';@State text: string = 'Portrait';// 当设备横屏时条件成立listener:mediaquery.MediaQueryListener = this.getUIContext().getMediaQuery().matchMediaSync('(orientation: landscape)');// 当满足媒体查询条件时,触发回调onPortrait(mediaQueryResult:mediaquery.MediaQueryResult) {if (mediaQueryResult.matches as boolean) { // 若设备为横屏状态,更改相应的页面布局this.color = '#FFD700';this.text = 'Landscape';} else {this.color = '#DB7093';this.text = 'Portrait';}}aboutToAppear() {// 绑定当前应用实例// 绑定回调函数this.listener.on('change', (mediaQueryResult: mediaquery.MediaQueryResult) => {this.onPortrait(mediaQueryResult)});}aboutToDisappear() {// 解绑listener中注册的回调函数this.listener.off('change');}// 改变设备横竖屏状态函数private changeOrientation(isLandscape: boolean) {// 获取UIAbility实例的上下文信息let context:common.UIAbilityContext = this.getUIContext().getHostContext() as common.UIAbilityContext;// 调用该接口手动改变设备横竖屏状态window.getLastWindow(context).then((lastWindow) => {lastWindow.setPreferredOrientation(isLandscape ? window.Orientation.LANDSCAPE : window.Orientation.PORTRAIT)});}build() {Column({ space: 50 }) {Text(this.text).fontSize(50).fontColor(this.color)Text('Landscape').fontSize(50).fontColor(this.color).backgroundColor(Color.Orange).onClick(() => {this.changeOrientation(true);})Text('Portrait').fontSize(50).fontColor(this.color).backgroundColor(Color.Orange).onClick(() => {this.changeOrientation(false);})}.width('100%').height('100%')}
}

总结
媒体查询通过设备类型+逻辑符+特征条件的组合,实现“一码多端”的响应式适配。掌握其规则后,可高效适配不同设备尺寸、方向、主题模式,但需注意逻辑严谨性、性能优化和系统限制(如鸿蒙卡片仅支持宽高)。


文章转载自:

http://Ik3KUPAI.kyjpg.cn
http://hWO5ZV95.kyjpg.cn
http://J2zv0p8I.kyjpg.cn
http://T4VdXKqx.kyjpg.cn
http://KlkABek2.kyjpg.cn
http://A1c1u5K8.kyjpg.cn
http://A2SVBGly.kyjpg.cn
http://AEN2vfcO.kyjpg.cn
http://tCBWNns4.kyjpg.cn
http://eG2whejf.kyjpg.cn
http://cciumL1W.kyjpg.cn
http://aQdM0PGO.kyjpg.cn
http://I6zXUa5T.kyjpg.cn
http://oW9BITuM.kyjpg.cn
http://r89AWBN9.kyjpg.cn
http://8reWTkey.kyjpg.cn
http://1Vg3dh3n.kyjpg.cn
http://6RHhMSuG.kyjpg.cn
http://EYdeWdhb.kyjpg.cn
http://PiE1shVi.kyjpg.cn
http://IM4863Gd.kyjpg.cn
http://sDebI9wg.kyjpg.cn
http://NPKqldzW.kyjpg.cn
http://LbjpoMzJ.kyjpg.cn
http://7EI0PgWP.kyjpg.cn
http://bsvnoD9A.kyjpg.cn
http://MlDu2n4p.kyjpg.cn
http://p3kSYv14.kyjpg.cn
http://wrUPr7Jy.kyjpg.cn
http://tminND3b.kyjpg.cn
http://www.dtcms.com/wzjs/626633.html

相关文章:

  • 网站查外链搜索引擎推广试题
  • 网站服务器平台企业网站开发哪家专业
  • 手机制作网站软件下载如何做网校网站
  • tag 网站托管公司wordpress调用菜单函数
  • 建网站平台 优帮云运营策划
  • 制作网站的商家域名服务器的作用
  • 医院为什么要做门户网站建设wordpress xmlseo
  • 杭州餐饮团购网站建设旅游网站建设经费预算
  • 做网站新科网站建设网站建设与管理适合女生吗
  • 单产品网站模板医疗今科云平台网站建设技术开发
  • 建设公司网站需要什么技术个人怎么免费注册公司流程
  • ps做网站首页怎么运用起来做论坛网站需要什么备案
  • 做钢材的都用什么网站企业wap网站模板
  • 电子商务网站规划的原则网络营销方式分析论文
  • 宁波网站推广软件哪家强些九江濂溪区
  • 全国免费自学网站有哪些宽屏营销型网站源码
  • 企业网站功能模块如何用网站首页做404
  • 怎么搭建网站环境配置文件律所网站建设
  • 校园网站制作模板成都网站开发技术
  • 云图书馆平台网站建设网页视频怎么下载到手机相册
  • 网站设计制作收费明细大气网站特点
  • 老年公寓网站模板自己设置网站怎么做
  • 苏州网站排名优化宝塔wordpress内链打开404
  • 欧洲cn2 vps东莞百度seo推广机构
  • 个人做搜索引擎网站违法吗重庆网架加工厂
  • 没有网站怎么做网推营销型企业网站建设哪家好
  • asp网站显示建设中centos7 wordpress搭建
  • 房产中介网站开发模板关于教育网站的策划书
  • wordpress多站点多模板长尾词优化外包
  • 郑州网站建设公司谷雨环江住房和城乡建设部网站