HTML+CSS:rem、vw / vh移动适配、媒体查询

一、长度单位

  • rem :目前多数企业在用的解决方案
  • vw/vh:未来的解决方案

二、rem单位

  • 相对单位
  • rem单位是相对于HTML标签的字号计算结果
  • 1rem = 1HTML字号大小
    在这里插入图片描述在这里插入图片描述

2.1 rem使用媒体查询

手机屏幕大小不同,分辨率不同,如何设置不同的HTML标签字号?
使用媒体查询

  • 媒体查询能够检测视口的宽度,然后编写差异化的CSS 样式
  • 当某个条件成立, 执行对应的CSS样式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 rem移动适配方案

目前rem布局方案中,将网页等分成10份,HTML标签的字号为视口宽度的1/10
在这里插入图片描述
rem单位的尺寸=px单位数值/基准根字号
如68px的单位,在375width的页面中,rem单位为:68/37.5

思考:咱们检测了3个视口,分别设置了根字号,有什么弊端吗?
答:手机设备多,屏幕尺寸不一,视口不仅仅有这3个
解决方案 flexible.js

2.3 使用flexible.js

使用flexiblejs配合rem实现在不同宽度的设备中,网页元素尺寸等比缩放效果
已自动适配媒体查询

  • flexible.js是手淘开发出的一个用来适配移动端的js框架
  • 核心原理就是根据不同的视口宽度给网页中html根节点设置不同的font-size
    在这里插入图片描述在这里插入图片描述

2.4 使用less 计算rem

在这里插入图片描述

三、vw / vh

相对视口的尺寸计算结果

  • vw:viewport width
    1vw=1/100视口宽度
  • vh:viewport height
    1vh=1/100视口高度

3.1 vw单位尺寸

vw单位的尺寸=px单位数值/(1/100视口宽度)

视口iphone678 375 * 667
适配 68px * 29px 的盒子使用vw
在这里插入图片描述

3.2 vh单位尺寸

vh单位的尺寸=px单位数值/(1/100视口高度)

视口iphone678 375 * 667
适配 68px * 29px的盒子使用vh
在这里插入图片描述

3.3 100%视口适配

在这里插入图片描述在这里插入图片描述

3.3 使用Less

在这里插入图片描述

四、媒体查询

媒体查询(Media Query)是CSS3中的一个模块,它允许我们根据设备的不同特征(如屏幕大小、分辨率、方向、颜色等)来应用不同的样式。
通过使用媒体查询,我们可以为不同设备或屏幕尺寸设计出针对性的样式,实现响应式布局。

媒体查询语法通常包括一个媒体类型和一个或多个限制条件。例如:

@media screen and (max-width: 768px) {
  /* 在屏幕宽度小于等于768像素时应用这里定义的样式 */
}

这段代码表示当屏幕宽度小于等于768像素时应用其中定义的样式。在上述例子中,screen指定了该媒体查询只适用于屏幕设备,而(max-width: 768px)则是限制条件,指定了最大宽度为768像素。

  • 媒体特性常用写法
    max-width
    min-width
    在这里插入图片描述
  • 完整写法
    在这里插入图片描述
    在这里插入图片描述

根据设备宽度的变化,设置差异化样式

在这里插入图片描述

如果检测到视口宽度小于768px, 认为是手机端, left隐藏

在这里插入图片描述

link外链式CSS引入

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: postcss-px-to-viewport是一个用于将px单位转换为vw单位的PostCSS插件,用于Vue项目。\[1\]要在Vue项目中使用postcss-px-to-viewport,首先需要安装postcss和postcss-loader,可以使用以下命令进行安装:npm i postcss postcss-loader -D。然后,安装postcss-px-to-viewport插件:npm i postcss-px-to-viewport -D。\[2\]接下来,需要在webpack置中引入postcss-px-to-viewport插件,并进行相应的置。可以参考以下示例代码:\[3\] ```javascript // 引入插件 const postcssPxToViewport = require("postcss-px-to-viewport"); module.export = { module: { rules: \[ { test: /\.css$/i, use: \[ "style-loader", "css-loader", { loader: "postcss-loader", options: { postcssOptions: { plugins: \[ postcssPxToViewport({ viewportWidth: 320, // 设计稿宽度 unitPrecision: 5, // px转换后的小数保留位数 minPixelValue: 1, // 小于多少像素不转换 selectorBlackList: \["ignore-"\], // 有ignore-* 的类名不会被转换 }), \], }, }, }, \], }, \], }, }; ``` 以上是一个简单的webpack置示例,其中postcss-px-to-viewport插件的置参数可以根据实际需求进行调整。置完成后,postcss-px-to-viewport插件会自动将CSS中的px单位转换为vw单位,实现效果。 #### 引用[.reference_title] - *1* [vue3使用postcss-px-to-viewport屏幕](https://blog.csdn.net/wangping146/article/details/126436251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [移动 rem、postcss-pxtorem、postcss-px-to-viewport、vw vh](https://blog.csdn.net/xuyanl/article/details/129499800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值