最近研究微贷网的移动端代码,发现他们网站在适配不同宽度屏幕的显示情况时,发现他们并不是利用rem单位,而是利用js动态设置mete的viewport来达到适配的效果. 感觉挺不错的,也不需要计算什么东西,单位继续用px.代码分享下: // 计算缩放比例 (function () { var phoneScale = parseInt(window.screen.width) / 375; document.write('<meta name="viewport" content=…
前言 作为一个小前端,经常要和H5打交道,这就面临着不同终端的适配问题. Flexible方案通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值,给我更贴切的体会就是通过js脚本根据设备的dpr和设计图的宽度来计算出html的font-size值,然后就运用rem单位开发可以等比例缩放的H5页面. 但是!Flexible已经完成了他自身的历史使命,我们可以放下Flexible,拥抱新的变化. 做到适配要解决的问题 在移动端布局,我们需要面对两个最为重要的问题:…
主题 HTML移动端页面开发适配 rem布局原理 什么是适配,为什么要适配 我们拿到的设计图一般是以640,750,1080分辨率为基准设计的,而现在的手机终端各式各样,分辨率不同,逻辑像素不同 ,适口不同,所以为了让我们的页面在每个设备上都可以良好的展示,那么就需要为这些设备做统一的处理,这个过程就称为移动端适配. 需要知道的一些概念: 物理像素(physical pixel) 一个物理像素是显示器(手机屏幕)上最小的物理显示单元,可以理解为我们平时说的分辨率: 设备独立像素(density-…
Flexible到今天也有几年的历史了,解救了很多同学针对于H5页面布局的适配问题.而这套方案也相对而言是一个较为成熟的方案.简单的回忆一下,当初为了能让页面更好的适配各种不同的终端,通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值: 从而让页面达么缩放的效果,也变相的实现页面的适配功能.而其主要的思想有三点: 根据dpr的值来修改viewport实现1px的线 根据dpr的值来修改html的font-size,从而使用rem实现等比缩放 使用Hack手段用r…
H5 端 rem 适配方案与 viewport 适配 rem rem 是 CSS3 新增的一个相对单位(root em,根 em) 只根据当前页面 HTML 页面的 font-size 设置,如果根目录的 font-size 为 18px,则 1rem=18px 媒体查询设置 @media screen and (min-width: 320px) { html { font-size: 32px; } } @media screen and (min-width: 375px) { html…
前言 页面自适应PC端.移动端大体上可以分为两种: 1.在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2.两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 本文记录在java后端进行PC端.移动端页面适配的方案 工程结构 想要实现后端统一适配,首先要规范好工程结构 后端代码,跟之前差不多,响应的viewName路径,直接从业务模块开始,适配工作交给aop:两套页面,对应的业务模块,分别放在两个目录下面 aop适配器 统一的适配工作交由aop环绕切面进…
流体布局:使用百分比来设置元素的宽度,元素的高度按照实际值. 但是流体布局中存在一个边框的问题,元素的边线无法计入百分比. 两种解决办法: 1)width:calc(20% - 4px) 2)width:20%; box-sizing:border-box box-sizing这个属性能够改变盒子尺寸的计算方式,content-box是默认的盒子尺寸计算方式,而border-box改变默认计算方法,将边框也算在盒子尺寸中,所以这样设置后,width的20%也包括了边框的4px,就解决了这个问题.…
新手必看 广播系统 事件系统 准备工作 初始化项目 引入 laravel-websockets 软件包 启动 websocket 监听 主要流程 创建两个页面 建立 socket 连接 手机端扫码登陆 简单的登陆页 登陆验证 服务端触发登陆事件 创建登陆事件 在事件中发送广播 触发 页面跳转(重点) 初始化项目 > composer create-project --prefer-dist laravel/laravel joker > cd joker > php artisan ke…
研究移动端页面已经有许久了,一直执着于rem来开发,不谈性能怎么样,单从工作效率上看影响了不少,首先要固定设计稿的宽度,一般都是固定在640px,然后在根据根目录的字体大小来计算出每个元素的rem的值,无疑在开发中切图,每个元素都要去计算一边,是不是感觉很麻烦,有没有一种方法,像切PC端页面一样,切了直接写css,不用去计算这么麻烦,答案是肯定有的!好吧,先给大家看一下,我以前用rem来开发的技术文章吧! 好了,废话不多说,进入今天的正题,轻松使用px开发移动端页面!就在前天浏览微信的“天天酷跑…
手机与浏览器 移动端开发主要针对手机,ipad等移动设备,随着地铁里的低头族越来越多,移动端开发在前端的开发任务中站的比重也越来越大.各种品牌及尺寸的手机也不尽相同.尺寸不同就算了分辨率,视网膜屏  自动的各种内核的浏览器,想想头都大了. 先说下浏览器.在中国有多少种浏览器? ie.百度.360.搜狗.火狐.欧朋.Chrome.谷歌.行者无疆.财猫省钱.遨游.Wise光速.UC.智慧.QQ.海豚...(大概有70-80多种) 五花八门,还好不用担心这都是表象.虽然浏览器各不相同但从浏览器的内核来…
--------------------HTML5新结构标签--------------------1.h5新增的主要语义化标签如下: 1.header 页面头部.页眉 2.nav 页面导航 3.article 一篇文章 4.section 文章中的章节 5.aside 侧边栏 6.footer 页面底部.页脚 pc端兼容需要引用对应的js脚本<script type="text/javascript" src="//cdn.bootcss.com/html5shiv/…
移动端开发中,有一些基本概念需要理解清楚,才能更好的组织编程逻辑.在刚接触时,移动端视口的缩放和rem单位的缩放搞混淆了,弄得自己很蒙圈.所以仔细总结下自己的理解. 移动端的适配,我理解为两点: 第一点就是视口的缩放配置,牵扯出视口和像素等概念.目的是为让我们的CSS样式中逻辑像素匹配到手机终端的物理像素,让网页视图适合手机屏幕.虽然在代码中只是一个语句就解决的问题,但要理解它,要弄懂很多概念.<关于像素Pixel历史的详解看下一篇文档> 第二点就是rem单位的使用,目的是为了我们只需要一份代…
html5--2.10综合实例2-移动端页面练习 学习要点 通过一个简单的移动手机页面,复习学过的内容 手机网页的测试 手机布局的屏幕设定 手机网页的测试方法 直接在手机上测试,比较麻烦,效果好 电脑上下载手机模拟器 利用浏览器自带的功能 name="viewport":屏幕设定 maximum-scale=1.0,minimum-scale=1.0:initial-scale=1.0:最大最小缩放比例为1:其实就是不允许点击缩放 user-scalable=0,width=devic…
html5--项目实战-仿天猫(移动端页面) 总结: 1.标准搜索栏的做法:这里是弹性布局,放大镜和小话筒是background img 2.手机尾部导航做法:这是一个个 li 标签,每个li标签占%25 3.手机尾部导航固定方法:相对定位外加距离底部为0 position: fixed; bottom: 0; 4.标题栏做法:浮动布局,一部分左浮动,一部分右浮动 5.背景渐变效果:效果很好 background-image: linear-gradient(to bottom,#B0C4DE,…
CSS5:移动端页面(响应式) 如果手机端和PC端页面差别很大,就不要写响应式,不要写@media 就直接将两个页面拆开成两个文件就可以了.关于判断是手机端你还是PC端,就交给后端来做只有一些新闻站点和博客站点用响应式,因为布局简单,响应式足够 1.媒体查询 media query 媒体:电脑,纸张,都是媒体含义:如果媒体满足0到800 之间,那么会应用这里面的样式 <style> @media (max-width: 800px){/*如果媒体满足0到800 之间,那么会应用这里面的样式*/…
<script> var phoneWidth = parseInt(window.screen.width); var phoneHeight = parseInt(window.screen.height); var phoneScale = phoneWidth/750; //除以的值按手机的物理分辨率 var ua = navigator.userAgent; if (/Android (\d+\.\d+)/.test(ua)) { var version = parseFloat(R…
1.pc端页面在移动端显示,默认视口宽度是980px(也就是body宽度是980px),可通过meta标签设置为需要的尺寸,比如页面中元素最大宽度是1220px,则如下所示 <meta name="viewport" content="width=1220"> 2.如果不想让页面有水平滚动条又有元素需要固定在屏幕底部,则可以按以下方法操作 1)给html页面设置视口宽度 2)判断是否为移动设备,对pc和移动设备分别设置样式,如下: $(function(…
开始写前端页面也有了快两年时间,从一开始的懵逼到现在的淡定,但是不能改变我还是一只小菜鸟的事实,平时遇到的一些问题都会记录在文件夹里,现在都整理一下大家一起分享自己平时也翻翻看看~ 不知道大家平时写的时候是用的什么,但是我一般用的是这几个:px,百分比,em,rem 一.首先咱先了解下这几个都是啥,有啥区别: px:就是像素,相对于屏幕分辨率而言的,简单来说就是平时我们写静态页面时用px作单位,但是在firefox/chrome会发现我们的布局发生了变化: 百分比:这比较适合块状的页面设计,但是…
这个问题在前端H5页面开发可以说是一个老生常谈的问题了.由于以前所有遇到的问题以及解决方法都会以文档的形式记录在电脑里,而非github或者blog,所以现在才一点一滴的整理上来,就当是一个心路历程吧. 由于开发习惯,我现在使用HBuilder 这个前端IDE.调试页面会经常直接打开工具栏中的chrome,然后打开chrome devtool ,问题解决后,会直接把链接放到微信中,基于微信自带的浏览器浏览.这时候就比较蛋疼了,每一次更改一个css,然后在微信浏览,由于微信自带浏览器的机制问题,无…
1. 移动页面开发基础 1.1 像素——什么是像素 像素是 Web 页面布局的基础,那么到底什么才是一个像素呢? 像素:一个像素就是计算机屏幕所能显示一种特定颜色的最小区域.这是像素的概念,实际上,Web 前端开发领域,像素有以下两层含义: (1) 设备像素:设备屏幕的物理像素,对于任何设备来讲物理像素的数量是固定的. (2) CSS像素:这是一个抽象的概念,它是为 Web 开发者创建的. 如下图,是在缩放比例为1,即 scale = 1 的情况下,设备像素和CSS像素示意图: 我们再来考虑这样…
对于html5移动端网页编写CSS网上有很多介绍的文章,但在实际使用过程中还是会纠结. 网上的资料太多,且大多都是技术介绍型,特别是针对android上,网上写的各种麻烦,各种复杂,各种不接地气儿... 我在做移动端网页时,总是和美工设计的页面有出入,主要还是由于双方对移动端HTML5实现页面还了解还不够. 今天就研究一下各大互联网公司对于移动端页面的处理方式. 主要研究对象:BAT(度娘,阿狸,企鹅)这几家的移动端网站或webapp 主要研究点:viewport的设置,字体的设置,图片原始宽高…
<meta name="viewport" content="width=1202"> //这行代码可以使PC端页面同比例缩放,不至于变形…
前言 这个也是从早读课转载的.如有侵权请联系我马上下架. 正文从这开始-- 移动端页面调试一般分两步.第一步我们需要把本地(pc端)写的页面效果展现在移动端,一个很方便的办法是用 fiddler 作为代理,具体可以参考 如何用 fiddler 代理调试本地手机页面,这样我们就能在自己的手机上看到真机效果,有时还可以用 alert 调试一些 js:当然,有时仅仅展现样式还不够,我们希望能像 chrome 面板或者 firebug 一样查看元素的 css 样式,甚至可以在控制台看到 js 的 con…
相信很多前端的小伙伴一定会遇到一个问题, 比如我编写完一个页面,某个地方需要进行调整细节或者是哪个地方怎么调整都不对,在pc端还好,有google,firefox之类可以调节页面的工具,虽说这些工具有模拟手机的页面的功能,但是毕竟 真机上调试与浏览器上调试还是有挺大差别的,那有人会问了,有没一款可以针对 移动端调试的工具呢,答案是肯定的. weinre 就能比较好的解决这个问题的,下面我们就来了解下怎么用 weinre调试移动端页面吧 一:远程调式工具-weinre Weinre是什么? Wei…
大家好,本人之前用nginx熟熟的,后来一段时间不用,当今天再次想使用的时候,发现,悲催的是,竟然忘记怎么用了!噢噢,于是乎,就从网上搜索怎样让nginx和移动端页面联系在一起测试. 可惜的是,我搜索了很多篇文章,都不对路~焦急,惶恐,悲催~所有的心情策马奔腾哇啦哇啦啦~~ 后来经过联系之前同事,各种测试,终于启动成功啦啦啦~~ 好了,开始说步骤了,大家仔细听哦,搬起小板凳,赶紧坐前面来. 第一步,nginx整个文件夹,放在自己电脑的任意盘里,建议直接放到某盘的根目录(D,E,F等盘): 第二,…
移动端页面调试一般分两步.第一步我们需要把本地(pc端)写的页面效果展现在移动端,一个很方便的办法是用 fiddler 作为代理,具体可以参考 如何用 fiddler 代理调试本地手机页面,这样我们就能在自己的手机上看到真机效果,有时还可以用 alert 调试一些 js:当然,有时仅仅展现样式还不够,我们希望能像 chrome 面板或者 firebug 一样查看元素的 css 样式,甚至可以在控制台看到 js 的 console 输出,UC浏览器开发者版可以方便地做到这点,具体可以参考 如何使用…
移动端页面已经进行的第三次改版,这个版本遇到的最大难题就是页面跳转的问题. 项目需求: 页面上有分别有优惠估价.我要估价.历史竞拍这三个Tab选项卡,当用户点击估价,选择品牌以后,前端需要去请求品牌接口,获取品牌数据,进一步获取车系和车型. 项目实现:考虑到每个接口之间的数据传递问题.考虑把品牌车型车系的代码全部放在一个页面上.同事首先想到的是使用"前端路由" 这个东西.上网百度百度一下什么是前端路由.(可以读下这篇文字http://www.tuicool.com/articles/N…
这个是通用的  css reset.这个版本适用于 移动端页面 如果需要在 PC端使用,可以 修改 html{font-size: 10px;}为html{font-size: 12px;} 其他地方不需要修改   ========================================= @charset "utf-8"; html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blo…
很多时候,我们前端在写移动端页面的时候,虽然目前chrome有调试模式,可以模拟手机的部分效果,但仍有部分效果需要直接在手机上进行页面的调试,今天就在这里推荐一个适合windows+安卓的无需连接局域网即可测试的方法. 一.首先在PC和手机上分别下载chrome浏览器,同时用数据线将手机使用调试模式连接电脑,这一步很简单,百度也有很多教程就不重复介绍了. 二.在pc端的chrome浏览器中输入chrome://inspect ,即可进入调试状态.如果正确的连接了手机,则会出现如图所示的界面. 三…
我们在页面的时候,很多时候用到了弹出层,消息提醒,确认框等等,统一样式的弹出框可以使页面更加优美.在此,我整理一下我们项目的移动端和PC端页面常用的弹出层. 一.移动端 我们需在页面引入弹出框的样式和js <link href="__STATIC__/weui.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src=&…