前端html原生页面兼容多端H5和移动端适配方案

目录

    • 图片
    • 代码
    • 最后

图片

是一个注册页面
请添加图片描述

代码

自己查看效果

注意: 单位全部用rem这样才能保证兼容性适配多端,px转rem转换公式
1px = 1/37.5rem
所以想要20px应该对应20/37.5 = 0.53rem

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /><title>注册五福亿家</title><style>* {margin: 0;padding: 0}/* 但这样我们会发现在写布局的时候会非常复杂,也就是你需要自己手动去计算一下对应的rem值,
比如上面的font-size设计稿上是20px,那我们就要计算一下20px对应的rem是多少,
按我们上面的规则,1px = 1/37.5rem,所以20px应该对应20/37.5 = 0.53rem */.register {width: 10rem;height: 4rem;/* background-color: antiquewhite; *//* 18px 以18px字体为基准*/font-size: 0.48rem;}.register_box {padding: 0.4rem 0.98rem;box-sizing: border-box;}.register_nav {padding: 2.4rem 0;padding-bottom: 1.46rem;}.title {font-size: 0.69rem;font-weight: 600;margin-bottom: 0.42rem;}.register_form {display: flex;flex-direction: column;}.form_list {display: flex;align-items: center;}.form_list_tit {font-size: 0.45rem;/* 	position: relative;bottom: 1px; */width: 3rem;}.form_list_ipt {width: 4.96rem;height: 1.2rem;border-bottom: 0.02rem solid #f4f4f4;/* border: 0.02rem solid red; */display: flex;justify-content: center;}.form_list_ipt input {outline: none;background: transparent;border: none;outline: medium;width: 100%;/* font-size: 0.45rem; */}// 当输入框获取焦点时.form_list_ipt input:focus {outline: none;background-color: transparent;}// 选择输入文本时,默认蓝色,改为透明::selection {background: transparent;}::-moz-selection {background: rgb(241, 241, 241);}/* 阅读 */.read {padding-top: 0.4rem;display: flex;flex-direction: row;align-items: center;}.read_size {font-size: 0.1rem;color: f4f4f4;}.read_size_grn {font-size: 0.1rem;color: rgb(26, 173, 88);}.read_size_radio {margin-right: 0.1rem;}.read_size_rgt {margin-right: 0.1rem;}#registerBtn {width: 100%;height: 1.2rem;line-height: 1.2rem;font-size: 0.45rem;border-radius: 0.58rem;color: #ffffff;background-color: #19ad57;margin: 0.4rem 0;text-align: center;}</style><script>function setRootRem() {const root = document.documentElement;/** 以iPhone6为例:布局视口为375px,我们把它分成10份,则1rem = 37.5px,* 这时UI给定一个元素的宽为375px(设备独立像素),* 我们只需要将它设置为375 / 37.5 = 10rem。*/const scale = root.clientWidth / 10root.style.fontSize = scale + 'px'}setRootRem()window.addEventListener('resize', setRootRem)</script></head><body><div class="register"><div class="register_box"><div class="register_nav"><div class="title">注册五福亿家</div></div><div class="register_form"><div class="form_list"><div class="form_list_tit">手机号</div><div class="form_list_ipt"><input type="number" id="mobile" placeholder="请填写手机号"></div></div><div class="form_list"><div class="form_list_tit">昵称</div><div class="form_list_ipt"><input type="text" id="nick_name" placeholder="请填写昵称"></div></div><div class="form_list"><div class="form_list_tit">推荐人</div><div class="form_list_ipt"><input type="number" id="referee_id" placeholder="请填写推荐人"><!-- <input type="number" id="input"> --></div></div><div class="form_list"><div class="form_list_tit">登录密码</div><div class="form_list_ipt"><input type="password" id="password" placeholder="请填写登录密码"></div></div><div class="form_list"><div class="form_list_tit">确认登录密码</div><div class="form_list_ipt"><input type="password" id="repassword" placeholder="请填写确认登录密码"></div></div><div class="form_list"><div class="form_list_tit">支付密码</div><div class="form_list_ipt"><input type="password" id="pay_password" placeholder="请填写支付密码"></div></div><div class="form_list"><div class="form_list_tit">确认支付密码</div><div class="form_list_ipt"><input type="password" id="repay_password" placeholder="请填写确认支付密码"></div></div></div><div class="read"><div class="read_size read_size_radio"><input type="radio" checked></div><div class="read_size read_size_rgt">我已阅读并接受</div><div class="read_size_grn">《用户协议》</div><div class="read_size"></div><div class="read_size_grn">《隐私政策》</div></div><div id="registerBtn">注册</div></div></div></body><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.js"></script><script>var mobile = document.getElementById('mobile');var nick_name = document.getElementById('nick_name');var referee_id = document.getElementById('referee_id');var password = document.getElementById('password');var repassword = document.getElementById('repassword');var pay_password = document.getElementById('pay_password');var repay_password = document.getElementById('repay_password');var registerBtn = document.getElementById('registerBtn');registerBtn.onclick = function() {var mobiles = mobile.value;var nickName = nick_name.value;var refereeId = referee_id.value;var passwords = password.value;var repasswords = repassword.value;var payPassword = pay_password.value;var repayPassword = repay_password.value;// 验证  if (!mobiles || !nickName || !refereeId || !passwords || !repasswords || !payPassword || !repayPassword) {// alert('账号或密码不能为空')alert('请输入,不能为空')return}// 提交数据  $.ajax({type:"POST",url:'https://wfyj.yunjingwl.com/index.php/api/user.useropen/register',data: {app_id: 10001,mobile: mobiles,nick_name: nickName,referee_id: refereeId,password: passwords,repassword: repasswords,pay_password: payPassword,repay_password: repayPassword,// type: 'add',},// https://www.cnblogs.com/hanguidong/p/9442927.html // 用JSON来传数据,靠JSONP来跨域// dataType: 'JSONP',dataType: 'JSON',// Headers:{// 	"Access-Control-Allow-Origin":'*'// },crossDomain: true,success: function(json) {alert(json.msg)},error: function(code) {alert(code)}})}</script>
</html>

最后

感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于时空数据的培训 GAN:实用指南(第 01/3 部分)

第 1 部分&#xff1a;深入了解 GAN 训练中最臭名昭著的不稳定性。 一、说明 GAN 是迄今为止最受欢迎的深度生成模型&#xff0c;主要是因为它们最近在图像生成任务上产生了令人难以置信的结果。然而&#xff0c;GAN并不容易训练&#xff0c;因为它们的基本设计引入了无数的不稳…

可变参数JAVA

public class Main {public static void main(String[] args) {//方法形参的个数是可以变化的//格式&#xff1a;属性类型...名字System.out.println(getSum(1,2,3,4,5,6,7,8));}//通过键值对对象来遍历&#xff1b;public static int getSum(int a,int...args){//可变参数;int…

ArcGIS 10.7安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…

【蓝桥杯选拔赛真题60】Scratch旋转风车 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch旋转风车 一、题目要求 编程实现 二、案例分析 1、角色分析

Linux自动化构建项目工具——Makefile/makefile

目录 一&#xff0c;背景知识 二&#xff0c;makefile/Makefile的编写 1.创建makefile/Makefile文件 2.在Makefile文件里写编译代码 3.伪目标——.PHONY 1.伪目标的特点 2.怎样实现总是被执行 4.Makefile/makefile文件的不同编写风格 1.背景知识 2.改写 一&#xff0c;背…

goaccess 日志分析 nginx

分析命令&#xff1a; goaccess -a -d -f /mnt/winshare/access-2023070112.log -p goaccess.conf -o /mydata/nginx/html/2023070112_new.html分析日志时的参数 goaccess使用参数详解-a 开启 UserAgent 列表。开启后会降低解析速度 -c 在程序开始运行时显示 日志/日期 配…

nbcio-boot移植到若依ruoyi-nbcio平台里一formdesigner部分(三)

因为这个版本的若依plus不支持本地文件上传&#xff0c;所以需要增加这些本地上传文件的后端代码 和前端代码修改。 1、后端部分 先配置跳过测试吧&#xff0c;平时编译也不需要这个 <!--添加配置跳过测试--><plugin><groupId>org.apache.maven.plugins<…

新增动态排序图、桑基图、AntV组合图,DataEase开源数据可视化分析平台v1.18.10发布

2023年9月14日&#xff0c;DataEase开源数据可视化分析平台正式发布v1.18.10版本。 这一版本的功能升级包括&#xff1a;数据集方面&#xff0c;对字段管理的后台保存做了相关优化&#xff0c;降低了资源消耗&#xff1b;仪表板方面&#xff0c;对联动、查询结果以及过滤组件等…

分享!JetBrains IDE中的GitLab支持

GitLab是流行的基于git的软件开发和部署平台之一&#xff0c;虽然很长一段时间以来&#xff0c;所有基本git操作都已经可以通过GitLab实现&#xff0c;但GitLab集成仍是JetBrains社区的一大最热门请求。为此&#xff0c;JetBrains团队今年与GitLab联手提供了这种类型的集成。 …

PWA及小程序在系统生态方面的支持对比

PWA代表“渐进式网络应用”&#xff08;Progressive Web Application&#xff09;。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验&#xff0c;包括离线访问、推送通知、后台同步等功能&#xff0c;同时又具有网页的优势&#xff…

SQL SERVER 中无法删除table ‘biao’,因为它不存在或者您不具备相应的权限

删除table表 1.删除表示提示&#xff1a;SQL SERVER 中无法删除table ‘biao’&#xff0c;因为它不存在或者您不具备相应的权限。2.原因3.解决方法3.1 图3.2 图3.3 图3.4 图 1.删除表示提示&#xff1a;SQL SERVER 中无法删除table ‘biao’&#xff0c;因为它不存在或者您不具…

Linux基础入门

一、操作系统安装方法 1、使用u盘安装 工具&#xff08;前提条件&#xff09;&#xff1a; <1>u盘 <2>镜像文件iso/msdn.itellyou.cn <3>把u盘做成PE&#xff1a;大白菜/老毛桃/winPE/软碟通/ultralSO 设置BIOS&#xff1a;通过u盘启动 安装系统&…

go 包的引入

本文介绍下下go包的管理&#xff0c;以linux平台为例。 先看下目录结构&#xff1a; test目录下的test.go test2目录下的test.go 主函数的调用 此时执行会报错&#xff0c;需要用mod进行包的管理,执行下面命令 go mod init godir 生成go.mod文件 执行结果&#xff1a;

【Spring Boot】数据缓存Redis实现高并发 —— Redis入门

&#x1f33f;欢迎来到衍生星球的CSDN博文&#x1f33f; &#x1f341;本文主要学习Redis的入门 &#x1f341; &#x1f331;我是衍生星球&#xff0c;一个从事集成开发的打工人&#x1f331; ⭐️喜欢的朋友可以关注一下&#x1faf0;&#x1faf0;&#x1faf0;&#xff0c;…

【Redis】深入探索 Redis 的数据类型 —— 列表 List

文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表&#xff08;ziplist&#xff09;3.2 链表&#xff08;lin…

1-5 AUTOSAR数据交换文件ARXML

总目录——AUTOSAR入门详解AUTOSAR入门详解目录汇总&#xff1a;待续中。。。https://xianfan.blog.csdn.net/article/details/132818463 目录 一、Arxml文件 二、各类ARXML文件 一、Arxml文件 arxml文件是AUTOSAR&#xff08;Automotive Open System Architecture&#xff0…

nbcio-boot移植到若依ruoyi-nbcio平台里一formdesigner部分(四)

到目前为止&#xff0c;虽然基础的formdesigner部分已经完成&#xff0c;但流程用formdesigner提交与审批过程中的显示还有问题。 1、后端部分 其中FormConf修改如下&#xff1a; package com.ruoyi.flowable.core;import lombok.Data;import java.util.List; import java.uti…

Python用若干列的数据多条件筛选、去除Excel数据并批量绘制直方图

本文介绍基于Python&#xff0c;读取Excel数据&#xff0c;以一列数据的值为标准&#xff0c;对这一列数据处于指定范围的所有行&#xff0c;再用其他几列数据数值&#xff0c;加以筛选与剔除&#xff1b;同时&#xff0c;对筛选与剔除前、后的数据分别绘制若干直方图&#xff…

微信小程序的疫苗接种预约设计与实现vue+uniapp

对于本小程序的疫苗预约的设计来说&#xff0c;系统开发主要是采用java语言&#xff0c;在整个系统的设计中应用MySql数据库来完成数据存储&#xff0c;具体根据疫苗预约信息的现状来进行开发的&#xff0c;具体根据现实的需求来实现疫苗预约网络化的管理&#xff0c;各类信息有…

一线大厂Redis高并发缓存架构实战与性能优化

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据&#xff0c; 缓存层和存储层都不会命中&#xff0c; 通常出于容错的考虑&#xff0c; 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询&#xff0c; 失…