响应式布局之viewport-超级简单

news2024/12/23 22:50:41

之前文章CSS布局之详解_故里2130的博客-CSDN博客

上面的文章可以实现响应式布局,根据浏览器的大小变化而变化,但是相对于viewport来说,之前的还是有点复杂,而使用viewport更加的简单。

当我们使用amfe-flexible的时候,细心的同学已经发现了,提示我们使用viewport,那么接下来,我们就演示使用viewport。

1. 官网介绍

postcss-px-to-viewport/README_CN.md at master · evrone/postcss-px-to-viewport · GitHub

多的就不说了,但是要补充一点,最重要的是: 使用vite创建和官网不一样,不需要创建postcss.config.js,直接在vite.config.js中创建就行了,或者创建postcss.config.js后,必须在vite.config.js中引用。

2.安装

npm install postcss-px-to-viewport

安装成功标志 

3.在vite.config.js中增加代码

import {
	defineConfig
} from 'vite'
import vue from '@vitejs/plugin-vue'

import pxtovw from 'postcss-px-to-viewport'

const loder_pxtovw = pxtovw({
	//这里是设计稿宽度 自己修改
	unitToConvert: 'px', // 需要转换的单位,默认为"px"
	viewportWidth: 1600, // 设计稿的视口宽度
	unitPrecision: 5, // 单位转换后保留的精度
	propList: ['*'], // 能转化为vw的属性列表
	viewportUnit: 'vw', // 希望使用的视口单位
	fontViewportUnit: 'vw', // 字体使用的视口单位
	selectorBlackList: [], // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
	minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
	mediaQuery: false, // 媒体查询里的单位是否需要转换单位
	replace: true, //  是否直接更换属性值,而不添加备用属性
	exclude: undefined, // 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
	include: undefined, // 如果设置了include,那将只有匹配到的文件才会被转换
	landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
	landscapeUnit: 'vw', // 横屏时使用的单位
	landscapeWidth: 1600 // 横屏时使用的视口宽度
})
export default defineConfig({
	plugins: [vue()],
	css: {
		postcss: {
			plugins: [loder_pxtovw] //加载插件
		}
	}
})

4.创建vue代码

<template>
	<div>123
	</div>
	<el-row class="header">
		<el-col :span="24">
			<span>名称:</span>
			<el-input placeholder="请输入名称" style="width: 300px;" />
			<el-button type="primary" style="margin-left: 20px;">查询</el-button>
			<el-button type="primary" style="margin-left: 200px">
				新增
			</el-button>
			<el-button type="primary">
				刷新
			</el-button>
		</el-col>
	</el-row>
</template>
<style scoped>
	div {
		background-color: red;
		height: 200px;
		width: 100px;
	}

	.header {
		background-color: aqua;
		height: 400px;
		width: 600px;
	}
</style>

5.运行效果

现在随便拖动浏览器的大小,界面的布局根据浏览器的变化而变化,和之前文章的效果一样。

 

6.补充说明:

1.当我们设置1600的时候,表示在1600px的电脑上开发代码 

那么代码的大小,就是实际的大小,必须是这里的400px,600px

效果就是:

1600px的电脑效果,宽度就是实际值600

1920px的电脑效果,宽度响应式变大了

2. 当我们设置1920的时候,表示在1920px的电脑上开发代码 

那么代码的大小,就是实际的大小,必须是这里的400px,600px

效果就是:

1920px的电脑效果,宽度就是实际值600

1600px的电脑效果,宽度响应式变小了

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

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

相关文章

记录ideal中使用springboot遇到的问题

持续记录&#xff0c;避免反复查找资料 选择Maven构建项目 创建springboot项目时&#xff0c;【Project Metadata页】的Type选项默认是Gradle&#xff0c;如果要使用Maven需要修改选项&#xff0c;如下图 mysql依赖包直接在pom.xml中添加 创建时在对话框中勾选【Mysql Driver】…

两个月,测试转岗产品经理,我是怎么规划的?

​本期同学依旧来自深圳 测试到产品转变&#xff0c;用了两个月 本周&#xff0c;为大家介绍M同学的佛系转岗经历 学员档 学员档案 原岗位&#xff1a;测试 转岗级别&#xff1a;中级产品经理 转岗特点&#xff1a; 1.未接触产品工作 2.对岗位地点要求严格 先看结果 …

浅显易懂的说清楚小游戏与H5游戏的技术区别

从“跳一跳”到“羊了个羊”微信小游戏上线4年时间&#xff0c;除了涌现出不少火爆全网的小游戏之外&#xff0c;也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣&#xff0c;凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个…

40个改变你编程技能的小技巧!

40个改变编程技能的小技巧 1、将大块代码分解成小函数 2、今日事今日毕&#xff0c;如果没毕&#xff0c;就留到明天。 如果下班之前还没有解决的问题&#xff0c;那么你需要做的&#xff0c;就是关闭电脑&#xff0c;把它留到明天。 中途不要再想着问题了&#xff01; 3、…

【LeetCode】不同的二叉搜索树 [M](卡特兰数)

96. 不同的二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&a…

学会使用LoadRunner录制脚本

1.LoadRunner安装 https://blog.csdn.net/weixin_48584088/article/details/129012469 2.Loadrunner的基本概念 LoadRunner是一种适用于许多软件体系架构的自动负载测试工具&#xff0c;从用户关注的响应时间、吞吐量&#xff0c; 并发用户和性能计数器等方面来衡量系统的性…

Linux数据流重定向

数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据&#xff0c;给它传输到其他地方去 如果我们要执行一个命令&#xff0c;它通常是这样的&#xff1a; 标准输入、输出、错误stdin标准输入0stdout标准输出1stderr标准错误输出2标准输入&#xff08;stdin&#xff09;…

ESP-IDF:使用多任务测试互斥体mutex

代码&#xff1a; #include <stdio.h> #include “sdkconfig.h” #include “freertos/FreeRTOS.h” #include “freertos/task.h” #include “freertos/semphr.h” #include “esp_system.h” #include “esp_spi_flash.h” /互斥体测试/ SemaphoreHandle_t xmutex; …

【html弹框拖拽和div拖拽功能】原生html页面引入vue语法后通过自定义指令简单实现div和弹框拖拽功能

前言 这是html版本的。只是引用了vue的语法。 这是很多公司会出现的一种情况&#xff0c;就是原生的页面&#xff0c;引入vue的语法开发 这就导致有些vue上很简单的功能。放到这里需要转换一下 以前写过一个vue版本的帖子&#xff0c;现在再加一个html版本的。 另一个vue版本…

CentOS8基础篇5:用户账号与用户组的创建

一、用户与用户组概念 Linux是一个多用户、多任务的服务器操作系统&#xff0c;多用户多任务指可以在系统上建立多个用户&#xff0c;而多个用户可以在同一时间内登录同一个系统执行各自不同的任务&#xff0c;而互不影响。 Linux用户是根据角色定义的&#xff0c;具体分为三…

JVM - 内存分配

目录 JVM的简化架构和运行时数据区 JVM的简化架构 运行时数据区 PC寄存器 Java栈 Java堆 方法区 运行时常量池 本地方法栈 栈、堆、方法区交互关系 Java堆内存模型和分配 Java堆内存概述 Java堆的结构 对象的内存布局 对象的访问定位 Trace跟踪和Java堆的参数配…

【漏洞真实影响分析】Apache Kafka Connect 模块JNDI注入(CVE-2023-25194)

系列简介&#xff1a; 漏洞真实影响分析是墨菲安全实验室针对热点漏洞的分析系列文章&#xff0c;帮助企业开发者和安全从业者理清漏洞影响面、梳理真实影响场景&#xff0c;提升安全应急响应和漏洞治理工作效率。 漏洞概述 Apache Kafka Connect服务在2.3.0 至 3.3.2 版本中&…

sql server安装并SSMS连接

博主简介&#xff1a;原互联网大厂tencent员工&#xff0c;网安巨头Venustech员工&#xff0c;阿里云开发社区专家博主&#xff0c;微信公众号java基础笔记优质创作者&#xff0c;csdn优质创作博主&#xff0c;创业者&#xff0c;知识共享者,欢迎关注&#xff0c;点赞&#xff…

vue3使用vis绘制甘特图制作timeline可拖动时间轴,时间轴中文化

本文写作顺序&#xff1a;效果展示——子组件封装——父组件传值 仅js的原始图&#xff08;回归初始化&#xff09;、撤销&#xff08;上一步&#xff09;功能实现&#xff0c;样式需要自己调整 目录前言&#xff1a;参考文档文章一、实现效果&#xff1a;二、安装插件及依赖&a…

0代码实现接口自动化测试 —— RF框架实践

robotframework是一款关键字自动化测试框架&#xff0c;可能做各种类型的自动化测试。本文介绍通过 robotframework 来实现接口测试。 01、安装接口请求的第三方库 pip install robotframework-requests 在python安装目录的Lib\site-packages可以看到 02、接口关键字基础 ro…

【操作系统】操作系统IO技术底层机制和ZeroCopy

1.DMA技术详解 &#xff08;1&#xff09;应用程序 从 磁盘读写数据 的时序图&#xff08;未用DMA技术前&#xff09; &#xff08;2&#xff09;什么是DMA 技术 (Direct Memory Access&#xff09; 直接内存访问&#xff0c;直接内存访问是计算机科学中的一种内存访问技术。…

设计模式之美总结(开源实战篇)

title: 设计模式之美总结&#xff08;开源实战篇&#xff09; date: 2023-01-10 17:13:05 tags: 设计模式 categories:设计模式 cover: https://cover.png feature: false 文章目录1. Java JDK 应用到的设计模式1.1 工厂模式在 Calendar 类中的应用1.2 建造者模式在 Calendar …

Pyton接口自动化相关【易报错问题及解决方法】

Pyton接口自动化相关【易报错问题及解决方法】 目录&#xff1a;导读 Python怎么链接数据库 python 链接数据库时报错 TypeError: %d format: a number is required, not str 是因为端口号写成字符串格式的了 python exists判断文件是否存在 pycharm下查看日志文件中文乱码…

【数据挖掘实战】——电力窃漏电用户自动识别

【数据挖掘实战】——电力窃漏电用户自动识别一、背景和挖掘目标二、分析方法与过程1、初步分析2、数据抽取3、探索分析4、数据预处理5、构建专家样本三、构建模型1、构建窃漏电用户识别模型2、模型评价3、进行窃漏电诊断拓展思考项目代码地址&#xff1a;https://gitee.com/li…

LaoCat带你认识容器与镜像(实践篇二下)

实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 接上章内容&#xff0c;接下来该章围绕Docker安装并运行之RabbitMQ、ElasticSearch&#xff0c;大部分命令来源于DockerHub官网&#xf…