移动Web【rem、flexible、Less、vw / vh】

news2024/10/9 4:21:08

文章目录

  • rem
  • flexible
  • Less
  • vw / vh


rem

  • 网页效果
    • 屏幕宽度不同,网页元素尺寸不同(等比缩放)
  • px单位或百分比布局可以实现吗?
    • px单位是绝对单位
    • 百分比布局特点宽度自适应,高度固定
  • 适配方案
    • rem
    • vw / vh

  • rem单位
    • 相对单位
    • rem单位是相对于HTML标签的字号计算结果
    • 1rem = 1HTML字号大小

rem移动适配

  • 思考
      1. 手机屏幕大小不同,分辨率不同, 如何设置不同的HTML标签字号?
      1. 设备宽度不同,HTML标签字号设置多少合适?

rem移动适配 - 媒体查询

  • 思考

    • 手机屏幕大小不同,分辨率不同, 如何设置不同的HTML标签字号?
    • 媒体查询
  • 媒体查询能够检测视口的宽度,然后编写差异化的 CSS 样式

  • 当某个条件成立, 执行对应的CSS样式

  • 写法在这里插入图片描述


rem移动适配

  • 目前rem布局方案中,将网页等分成10份, HTML标签的字号为视口宽度1/10在这里插入图片描述

  • 思考:
  • 工作中,书写代码的尺寸要参照设计稿尺寸,设计稿中是px还是rem?
  • 如何确定rem的数值?
  • rem单位尺寸
      1. 根据视口宽度,设置不同的HTML标签字号
      1. 书写代码,尺寸是rem单位
      • 2.1 确定设计稿对应的设备的HTML标签字号
        • 查看设计稿宽度 → 确定参考设备宽度(视口宽度) → 确定基准根字号(1/10视口宽度)
      • 2.2 rem单位的尺寸
        • N * 37.5 = 68 → N = 68 / 37.5
        • rem单位的尺寸 = px单位数值 / 基准根字号

flexible

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

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

Less

Less语法

  • 思考:在px单位转换到rem单位过程中,哪项工作是最麻烦的?
  • 答:除法运算。CSS不支持计算写法。
  • 解决方案:可以通过Less实现。

  • Less是一个CSS预处理器, Less文件后缀是.less
  • 扩充了 CSS 语言, 使 CSS 具备一定的逻辑性、计算能力。
  • 注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CSS文件。

编译插件

Easy Less :

  • vscode插件
  • 作用:less文件保存自动生成css文件在这里插入图片描述

Less语法

注释:

  • 单行注释
    • 语法:// 注释内容
    • 快捷键:ctrl + /
  • 块注释
    • 语法: /* 注释内容 */
    • 快捷键: shift + alt + A

运算:

  • 加、减、乘直接书写计算表达式

  • 除法需要添加 小括号.在这里插入图片描述

  • 注意:

  • 表达式存在多个单位以第一个单位为准


嵌套:

  • 思考:书写CSS选择器时, 如何避免样式冲突?

嵌套:

  • 作用:快速生成后代选择器。

  • 语法:在这里插入图片描述

  • 注意:&生成后代选择器,表示当前选择器,通常配合伪类或伪元素使用在这里插入图片描述


变量

  • 思考:
    • 网页中, 文字文字颜色基本都是统一的, 如果网站改版,变换文字颜色, 如何修改代码?
    • 方法一:逐一修改属性值(太繁琐)
    • 方法二: 把颜色提前存储到一个容器,设置属性值为这个容器名

变量

  • 方法二: 把颜色提前存储到一个容器,设置属性值为这个容器名
  • 变量:存储数据,方便使用和修改。
  • 语法:
  • 定义变量:@变量名: 值;
  • 使用变量:CSS属性:@变量名;在这里插入图片描述

  • 思考:
    • 开发网站时,网页如何引入公共样式?
      • CSS:书写link标签
      • Less:导入
  • 导入: @import “文件路径”;在这里插入图片描述

  • 思考:

  • 目前,Less文件导出的CSS文件位置是哪里?
    ;

  • 方法一:

    • 配置EasyLess插件, 实现所有Less有相同的导出路径
  • 配置插件: 设置 → 搜索EasyLess → 在setting.json中编辑 → 添加代码(注意,必须是双引号)在这里插入图片描述

  • 方法二:控制当前Less文件导出路径

    • Less文件第一行添加如下代码, 注意文件夹名称后面添加 /
      在这里插入图片描述

  • 思考:所有的Less文件都需要导出CSS文件吗?
  • 禁止导出
    • 在less文件第一行添加: // out: false在这里插入图片描述

vw / vh

  • 相对单位
  • 相对视口的尺寸计算结果
  • vw:viewport width
    • 1vw = 1/100视口宽度
  • vh:viewport height
    • 1vh = 1/100视口高度

  • vw单位尺寸
      1. 确定设计稿对应的vw尺寸 (1/100视口宽度)
      • 查看设计稿宽度 → 确定参考设备宽度 (视口宽度) → 确定vw尺寸 (1/100 视口宽度)
      1. vw单位的尺寸 = px单位数值 / ( 1/100 视口宽度 )

  • vh单位尺寸
      1. 确定设计稿对应的vh尺寸 (1/100视口高度)
      • 查看设计稿宽度 → 确定参考设备高度 (视口高度) → 确定vh尺寸 (1/100 视口高度)
      1. vh单位的尺寸 = px单位数值 / ( 1/100 视口高度 )

  • 思考:开发中,会不会vw和vh混用呢?
    • 不会。
    • vh是1/100视口高度,全面屏视口高度尺寸大,如果混用可能会导致盒子变形
// out: ./
* {
    margin: 0;
    padding: 0;
}

// 68 * 29  -- vw
.box {
    width: (68 / 3.75vw);
    height: (29 / 3.75vw);
    background-color: pink;
}

.box2 {
    // vh
    width: (68 / 6.67vh);
    height: (29 / 6.67vh);
    background-color: green;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Homekit智能家居DIY之智能通断开关

智能通断器,也叫开关模块,可以非常方便地接入家中原有开关、插座、灯具、电器的线路中,通过手机App或者语音即可控制电路通断,轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及,越来越多的人想将自己的家改…

SQL SELECT DISTINCT 语句

SELECT DISTINCT 语句用于返回唯一不同的值。 SQL SELECT DISTINCT 语句 在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。 DISTINCT 关键词用于返回唯一不同的值。 SQL SELECT DISTINCT 语法 …

如何从零开始开发一个小程序

如何从零开始开发一个小程序开始申请账号开发设置开发工具新建小程序阅读文档模版语法项目架构开始编写基础语法wx:for循环wx:if判断页面导航自定义组件引用样式修改单行、多行省略flex布局grid布局发布开始 申请账号 小程序注册页 开发设置 登录 小程序后台 ,…

【Vue2+Element ui通用后台】Mock.js

文章目录Mock.js首页数据调用mock数据并完成布局Mock.js Mock.js 官网 Mockjs Github地址 作用:生成随机数据,拦截 Ajax 请求 使用npm i mockjs进行安装,然后在 api 下新建 mock.js import Mock from mockjs// 定义mock请求拦截 Mock.mock…

【CPU是如何执行程序的?】

CPU是如何执行程序的?1、、硬件结构介绍1.1、CPU1.2、内存1.3、总线1.4、输入/输出设备二、程序执行的基本过程三、a11执行的详细过程现代计算机的基本结构为五个部分:CPU、内存、总线、输入/输出设备。或许你了解了这些概念,但是你知道a11在…

leetcode每日一题(python)2023-1.2 1801. 积压订单中的订单总数 (middle)

leetcode每日一题 🚩 学如逆水行舟,不进则退。 —— 《增广贤文》 题目描述: 给你一个二维整数数组 orders ,其中每个 orders[i] [price(i), amount(i), orderType(i)] 表示有 amount(i)( )笔类型为 orderType(i) 、价格为 pric…

没错,这是2023年开篇!!

不知不觉小G和Gopher们一起相伴着又走过了一个年头,迎来了2023年。回望这一年我们有遗憾:因疫情的原因没能和大家在线下2022 GopherChina大会相聚一堂我们也有快乐与成就:在经过一番调查、统计、分析后发布了《2022 Q2 GO开发者问卷调查结果》…

阿里、京东、百度“激战”互联网医疗

与衣食住行一样,医疗需求同样对人们的生存具有重要意义。医疗行业经过多年的发展,也已经发生了翻天覆地的变化。除了线下医疗日益完善之外,互联网医疗也随着互联网的飞速发展而实现了快速起飞。现如今,互联网医疗已经逐步成为了线…

沿全尺寸模型水平轴 MHK 涡轮机(DOE RM1)叶片性能表征计算(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 该存储库包括 MATLAB 脚本和输入文件示例,用于沿全尺寸模型水平轴 MHK 涡轮机叶片计算 3D AOA、CL 和 CD。该脚本是…

idea插件代码生成工具EasyCode

idea插件代码生成工具EasyCode1. EasyCode下载安装2. EasyCode配置模板2.1 配置路径2.2 配置文件2.2.1. controller.java2.2.2. entity.java2.2.3. mapper.java2.2.4. service.java2.2.5. serviceImpl.java2.2.6. mapper.xml3. 构建SpringBoot项目3.1 初始化数据库3.2 创建项目…

git push -u origin master报错(vscode)

Missing or invalid credentials. Error: connect ECONNREFUSED /run/user/1000/vscode-git-e10c66c0ac.sock at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) { errno: -111, code: ‘ECONNREFUSED’, syscall: ‘connect’, address: ‘/run/user/1000/…

Docker 镜像仓库的构建与镜像管理

目录 Docker 私有仓库 1. 简介 2. 构建 Docker 私有仓库 (1)部署环境 (2)服务端部署 (3)客户端配置 (4)私有镜像仓库测试 Dockerfile 1. 概述 2. Dockerfile 的组成 3. D…

对序表记录固定排序

【问题】 PRODUCT_ID, PRODUCT_NAME 100 Nokia 200 IPhone 300 Samsung 400 LG I want to display the records like below: PRODUCT_ID, PRODUCT_NAME 300 Samsung 200 IPhone 100 Nokia 400 LG【回答】 固定排序有时排序依据会经常变动,并且…

JavaScript课堂笔记

前置任务: 配套视频:https://www.bilibili.com/video/BV15v411K7qe/ 第一章:基本语法 第一节:JavaScript的来源 1.网景公司(Netscape): 当时就职于Netscape公司的布兰登[外链图片转存失败,源站可能有防…

前端使用jquery传递对象数组给后端说明及总结

1.代码 前端 <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr…

苹果,Inter,AMD

1.指令集 & 架构区别 目前世界上主要有两种CPU架构&#xff0c;分别是&#xff1a;x86架构和ARM架构。 目前主流的电脑都是采用x86架构处理器&#xff0c;比如 Intel/AMD处理器。--复杂指令集 手机平板电脑等设备都采用了ARM架构处理器&#xff0c;比如高通&#xff0c;…

Elasticsearch集群许可证过期问题处理

当你执行索引相关操作有如下报错&#xff1a; HTTP/1.1 403 Forbidden content-type: application/json; charsetUTF-8 content-length: 384{"error" : {"root_cause" : [{"type" : "security_exception","reason" : "…

大学STEM教育的技能水平和收获

2021年一篇文章&#xff0c;有很多断章取义的解读&#xff0c;本身这篇文章也有很多主观性强的输出。 文章数据都是2020年之前。 Received: 6 June 2020; Accepted: 27 January 2021; 长达17页的论文&#xff0c;看了一遍&#xff0c;觉得构思很巧妙。 类似一篇精心设计的实验…

同样是断言,为何 Hamcrest 如此优秀?

根据项目对象模型&#xff08;POM&#xff09;的概念&#xff0c;Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。 hamcrest 断言 maven依赖&#xff1a; 1080160 26.3 KB hamcrest支持多种语言&#xff0c;这里以 Java 为例&#xff1a; 进入到 hamcre…

新兴新能源设施[2]--盐穴压缩空气储能预警模块开发

新兴新能源设施[2]--盐穴压缩空气储能预警模块开发1. 总体方案设计2 脉冲发生装置的部件设计2.1 脉冲发生装置基础选型2.2 相关技术指标1. 总体方案设计 盐穴储能注气排卤预警短节远程传输系统硬件的总体设计框架如图1&#xff08;a&#xff09;所示&#xff0c;其前端监测模块…