返回顶部
首页 > 资讯 > 精选 >怎么在移动端布局中实现动态rem
  • 181
分享到

怎么在移动端布局中实现动态rem

2023-06-08 06:06:44 181人浏览 泡泡鱼
摘要

怎么在移动端布局中实现动态rem?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 首先我们先介绍当下的长度单位px 像素em 一个M的宽度 / 一个汉字的宽度 1em =

怎么在移动端布局中实现动态rem?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1. 首先我们先介绍当下的长度单位

px 像素

em 一个M的宽度 / 一个汉字的宽度 1em == 自身的 font-size

rem 全称 root em 是根元素(html)的 font-size

vh 全称 viewport height 100vh == 视口高度

vw 全程 viewport width 100vw == 视口宽度

因为网页的默认font-size: 16px 所以1rem默认是 16px chrome 的最小字体像素默认是 12px

一个元素在没有设置font-size的情况下会去继承父元素的font-size

2. 移动端的布局

移动端的布局一般就两种

  • 一是整体缩放

  • 二是百分比布局

 先说整体缩放

整体缩放,其实就是将pc端的网页缩小到手机端屏幕能看到网页全貌的大小

苹果手机刚出来时就是使用这种布局,苹果公司研究发现世界上大多数的网页宽度是980px,然而苹果手机的宽度像素是320px,所以苹果手机的浏览器用320像素的屏幕宽度去模拟980px的宽度,实现了整体缩放

为了看到效果,要将 <meta name="viewport"> 这一部分删除

 <style>        div{            width:980px;            margin:0 auto;            background:#f0f0f0;        }        ul{            list-style:none;        }        li{            float:left;            margin-left:10px;            }        clearfix::after{            content:"";            display:block;            clear:both;        }    </style></head><body>    <div>        <ul>            <li>选项1</li>            <li>选项2</li>            <li>选项3</li>            <li>选项4</li>            <li>选项5</li>            <li>选项6</li>        </ul>    </div></body>

怎么在移动端布局中实现动态rem

但这种整体缩放的用户体验并不好,所以pass,我们来讲百分比布局

百分比布局

//百分比布局<style>        .child{            background-color:#ccc;            text-align:center;            width:40%;            margin:10px 5%;            float:left;        }        .clearfix::after{            content:"";            display:block;            clear:both;        }    </style></head><body>    <div class="parent clearfix">        <div class="child">选项1</div>        <div class="child">选项2</div>        <div class="child">选项3</div>        <div class="child">选项4</div>    </div></body>

怎么在移动端布局中实现动态rem

可以看到百分比布局能自动适应屏幕宽度。

但是百分比布局有个缺点,宽度和高度不能做任何关联

可以看上面的gif图,宽度一直变长,然而高度没有变化

为了让选项方块的高度是宽度的一半,实现该效果我们需要知道屏幕的宽度,再来确定选项的宽度和高度

这里可以使用vw,但vw的兼容性比较差,我们可以使用rem来代替vw

首先rem是以html的font-size为基准的,所以我们可以让html的font-size==pageWidth

<script>let pageWidth = window.innerWidth;    document.write('<style>html{font-size:'+ pageWidth/10 +'px}</style>')</script>

为了更好的使用rem,这里1rem等于屏幕宽度的10分之1。注意不能做到1rem==屏幕的百分之1。因为浏览器的最小 font-size是12px ;

按如上改动代码

<style>.child{            background-color:#ccc;            text-align:center;            width:4rem;            height:2rem;            margin:10px 0.05rem;            float:left;            line-height:2rem;        }        .clearfix::after{            content:"";            display:block;            clear:both;        }</style></head><body>    <div class="parent clearfix">        <div class="child">选项1</div>        <div class="child">选项2</div>        <div class="child">选项3</div>        <div class="child">选项4</div>    </div></body>

效果入图

怎么在移动端布局中实现动态rem

可以看到宽度和高度都能按百分比变化了,但是我们会发现一个很麻烦的东西,设计师给我们的设计稿,我们却必须把每个元素的像素单位换算为rem。这里我们就要sCSS来换算px了

3.scss动态换算px

@function pxToRem($px){    @return $px/$designWidth*10+rem;//10是把整个屏幕分为10rem}$designWidth:320;//设计稿宽度.child{    background-color:#ccc;    text-align:center;    width:pxToRem(128);//4rem;    height:pxToRem(64);//2rem;    margin: 10px pxToRem(1.6);    float:left;    line-height:pxToRem(64);}.clearfix::after{    content:"";    display:block;    clear:both;}

关于怎么在移动端布局中实现动态rem问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 怎么在移动端布局中实现动态rem

本文链接: https://lsjlt.com/news/252300.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在移动端布局中实现动态rem
    怎么在移动端布局中实现动态rem?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 首先我们先介绍当下的长度单位px 像素em 一个M的宽度 / 一个汉字的宽度 1em =...
    99+
    2023-06-08
  • 怎么利用vw+rem进行移动端布局
    小编给大家分享一下怎么利用vw+rem进行移动端布局,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!简单介绍下rem布局方案rem是css中的长度单位,1rem=根元素html的font-size值。当页面中所有元素都使用r...
    99+
    2023-06-08
  • 怎么理解CSS中的rem及移动端的布局方法
    本文小编为大家详细介绍“怎么理解CSS中的rem及移动端的布局方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么理解CSS中的rem及移动端的布局方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2024-04-02
  • 移动端rem怎么用
    这篇文章给大家分享的是有关移动端rem怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、为什么要用rem博客很久没写了,原因很简单。最近接手了一个项目,要同时做PC和移动端...
    99+
    2024-04-02
  • html5活动页之移动端REM布局适配的示例分析
    这篇文章主要为大家展示了“html5活动页之移动端REM布局适配的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5活动页之移动端REM布局适配的...
    99+
    2024-04-02
  • 使用html5怎么实现移动端自适应布局
    这篇文章给大家介绍使用html5怎么实现移动端自适应布局,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用媒体查询,下面制定了几种适应方式,例如第一个表示屏幕宽度在320px-360px之间的,html字体大小适配为1...
    99+
    2023-06-09
  • CSS3移动端vw+rem不依赖JS如何实现响应式布局的方法
    这篇文章给大家分享的是有关CSS3移动端vw+rem不依赖JS如何实现响应式布局的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。js有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持下,js...
    99+
    2023-06-08
  • 前端开发中移动端如何实现自适应布局
    这篇文章将为大家详细讲解有关前端开发中移动端如何实现自适应布局,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一. 在HTML的头部加入meta标签在HTML的头部,也就是head标签中增加meta标签,告...
    99+
    2023-06-08
  • HTML中移动端有什么布局方案
    这篇文章给大家分享的是有关HTML中移动端有什么布局方案的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   注意:代码运行是file协议,在chrome里不支持引用本地文件,会...
    99+
    2024-04-02
  • vue中怎么使用rem适配移动端屏幕
    这篇“vue中怎么使用rem适配移动端屏幕”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么使用rem适配移动端屏幕...
    99+
    2023-07-04
  • 使用Rem怎么实现自适应布局
    本篇文章给大家分享的是有关使用Rem怎么实现自适应布局,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在移动端我们一般会设置布局视口宽度=设备宽度,即内容呈现的区域在设备屏幕内。...
    99+
    2023-06-08
  • 怎么使用rem或viewport进行移动端适配
    这篇文章主要介绍怎么使用rem或viewport进行移动端适配,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在开发移动端界面时,移动端适配一直是一个比较头疼的事情,常见的移动端适配有viewport适配,rem适配,...
    99+
    2023-06-09
  • 怎么在HTML5中实现移动端复制功能
    本篇文章为大家展示了怎么在HTML5中实现移动端复制功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用clipboard.js实现移动端粘贴复制 clipboard.js是一款很强大的粘贴复制的...
    99+
    2023-06-09
  • 怎么在HTML5中实现一个移动端弹幕动画效果
    怎么在HTML5中实现一个移动端弹幕动画效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。思路把单个内容编辑好,计算自身宽度,确定初始位置 移动的距离是屏幕宽度js动...
    99+
    2023-06-09
  • 详解Css Flex 弹性布局在移动端开发中的应用
    在移动设备的普及和多样化的时代,响应式设计已经成为了Web开发的标配。而CSS Flex 弹性布局作为一种响应式设计的解决方案,能够很好地适应不同屏幕尺寸和设备方向的变化,因此在移动端开发中应用广泛。什么是CSS Flex 弹性布局CSS ...
    99+
    2023-10-21
    移动端开发 弹性布局 CSS flex
  • vue-cli配置lib-flexible + rem如何实现移动端自适应
    这篇文章给大家分享的是有关vue-cli配置lib-flexible + rem如何实现移动端自适应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装flexiblenpm&nb...
    99+
    2024-04-02
  • Android动态布局实现多主题切换
      之前做过一个项目(随心壁纸),主要展示过去每期的壁纸主题以及相应的壁纸,而且策划要求,好可以动态变换主题呈现方式,这样用户体验会比较好。嗯,好吧,策划的话,咱们也没法反...
    99+
    2022-06-06
    布局 Android
  • 使用Html5怎么在移动端实现一个无缝滚动动画
    使用Html5怎么在移动端实现一个无缝滚动动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。html骨架其实很简单,最外面的<div>是做固定的窗口,里面的<...
    99+
    2023-06-09
  • vue怎么实现移动端div拖动效果
    本文小编为大家详细介绍“vue怎么实现移动端div拖动效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现移动端div拖动效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、分享代码html代码&...
    99+
    2023-06-29
  • 移动端Vue2.x Picker的全局调用实现
    目录什么是Picker组件Picker组件存在的问题解决思路选项解释解决方案目录划分描绘Picker容器创建Picker思路大纲Picker函数createshowhideremov...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作