手机自适应的单位rem,与自适应网页的区别

一个网站有的会分为pc站和移动站,有的网站只有pc站,而现在更多的是自适应的站点。
现在针对自适应的网页设计有很多模板,如bootstrap,它会让你轻松定制一个只适应网站,而现在大多数的网站并不是靠程序员凭空开发的前端与后端,都会运用已经成熟的框架创建自己的网站,如一些集成很好的wordpress框架,和织梦dede等。
自适应的页面,只需要监测不同的屏幕尺寸,使用@media(),写出不同尺寸下的不同尺寸即可.

而现在更多的人使用手机,这就使网页的用户体验度更好,很多大公司都会采用pc站和移动站分开设计。
前端开发者会使用PX,em,rem等单位在设计网页中体现
在最开始的时候我会使用px,这样可以把UI设计稿一个px不差的,完美的设计出来,会使用@media做自适应调整,一个自适应的网站就设计好了。
REM单位:我想说REM单位更适应于制作移动端的网页
网上有很多版本的手机自适应布局的版本介绍

1.使用@media()做自适应

html{
    font-size:1em;
}
@media only screen and (min-width: 371px){
    html {font-size:66%;}
  }
  @media only screen and (min-width: 401px){
      html {font-size: 80%;}
  }
  @media only screen and (min-width: 428px){
      html {font-size: 50%;}
  }

2.使用js控制元素font-szie的大小

<script type="text/javascript">
	(function(e,t){var i=document,n=window;var l=i.documentElement;var r,a;var d,o=document.createElement("style");var s;function m(){var i=l.getBoundingClientRect().width;if(!t){t=540}if(i>t){i=t}var n=i*100/e;o.innerHTML="html{font-size:"+n+"px;}"}r=i.querySelector(‘meta[name="viewport"]‘);a="width=device-width,initial-scale=1,maximum-scale=1.0,user-scalable=no,viewport-fit=cover";if(r){r.setAttribute("content",a)}else{r=i.createElement("meta");r.setAttribute("name","viewport");r.setAttribute("content",a);if(l.firstElementChild){l.firstElementChild.appendChild(r)}else{var c=i.createElement("div");c.appendChild(r);i.write(c.innerHTML);c=null}}m();if(l.firstElementChild){l.firstElementChild.appendChild(o)}else{var c=i.createElement("div");c.appendChild(o);i.write(c.innerHTML);c=null}n.addEventListener("resize",function(){clearTimeout(s);s=setTimeout(m,300)},false);n.addEventListener("pageshow",function(e){if(e.persisted){clearTimeout(s);s=setTimeout(m,300)}},false);if(i.readyState==="complete"){i.body.style.fontSize="16px"}else{i.addEventListener("DOMContentLoaded",function(e){i.body.style.fontSize="16px"},false)}})(750,750);
</script>

本段js代码适合设计稿宽度为750px,定义body的字体样式为body{font-size: 0.32rem;},以后写每个div的宽度,每个元素的字体大小,只用(它实际的像素除以100)rem,即可。
本人亲测可以使用.PS:这段js代码会检测你的屏幕尺寸大小,计算相应的根字体大小,达到很好的视觉体验。---间距合适,字体大小合适

 

原文地址:https://www.cnblogs.com/cheryshi/p/9269729.html

时间: 2024-10-08 10:47:32

手机自适应的单位rem,与自适应网页的区别的相关文章

【高度自适应】基于像素(px)为单位的高度自适应,适合单屏页面

/*基于像素(px)为单位的高度自适应,适合单屏页面*/ //设置高度(延伸到浏览器底部 或 延伸到参考元素底部,可以设置减少量) $.fn.fnSetHeight = function(A, B) { if (this.length > 0) { //参数处理 var $Reference, Decrease; switch (arguments.length) { case 0: $Reference = $(window); Decrease = 0; break; case 1: if

手机游戏引擎libgdx-1.2 分辨率自适应

libgdx从1.0版本开始,stage分辨率自适应方法发生了改变. 我们查看stage的构造方法: public Stage (Viewport viewport) { this(viewport, null); } 我们必须手工去创建一个自己的Viewport才行. new Stage((new ScalingViewport(Scaling.stretch, width, height, new OrthographicCamera()))); ScalingViewport :可缩放视角

rem实现自适应

总结一下,rem实现自适应:用rem代替px,配合媒体查询设置font-size 首先,px是死的.若一律用px,那就会大的显得小,小的屏幕显得大.其次,rem是活的,通过设置字体大小可以引起rem的改变,为什么? ①因为rem和px有一个对应关系,因为对应关系是固定的,举个栗子:5对应15,15对应25,对应关系是差为10,但是其实这个不太利于口算,但是如果我们把它写成0对应10,10对应20,对应关系没变,但是就利于 口算 了.一般来说 ,浏览器默认字体大小是16px,设置62.5%后就有1

css 相对单位rem详解

CSS3新增了一个相对单位rem(root em,根em),这个单位引起了广泛关注.这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素.这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应.目前,除了IE8及更早版本外,所有浏览器均已支持rem.对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明.这些浏览器会忽略用rem设定的字体大小.

css3 使用新的字体单位rem

网页要多终端匹配,传统字体单位px满足不了,考虑使用rem单位 rem 是相对于根节点的 为此,如下代码,先让根节点单位为10px,之后就方便使用rem了 html { font-size: 62.5%; }  body { font-size: 1.4rem; } /* =14px */ h1   { font-size: 2.4rem; } /* =24px */ 非常好的是,rem ie9支持 如要兼容ie9以下浏览器,可 html { font-size: 62.5%; }  body 

[CSS3教程]相对单位rem详解

作者:zhanhailiang 日期:2015-01-28 定义 CSS3新增了一个相对单位rem,其官方定义如下: font size of the root element rem,em,px单位的区别 rem单位和em单位都是相对大小,px是绝对大小.其区别在 em基于当前元素的(如果没设置就是继承其父元素的)font-size,这样会出现一些组合问题: rem则是只相对于根元素的font-size,即只需要设置根元素的font-size,其它元素使用rem单位设置成相应的百分比即可: 兼

CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下网站源码方法: 一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div class="box-left">        <a href="" targ

移动端 单位 rem

rem是指相对于根元素的字体大小的单位(相对单位) rem和em的区别,em相对于父元素的字体大小的单位.rem相对于根元素html字体大小计算, px是一个绝对的单位. 所以rem可以实现强大的屏幕适配布局 例如: html{ font-size:20px; } .btn{ width:6rem; height:3rem; } //<div class='btn'></btn>那么.btn的宽度为120px;高度为60px; 所以在做移动端适配的时候就要根据不同分辨率设置font

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别--转

其中,在地址栏按回车又分为两种情况.一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host    192.168.3.174:8080User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*