移动端网站开发前端学习总结

1.关于适配:

移动端适配可以使用lib-flexible(也可配合百分比宽度一起使用)十分适用于webapp适配

Font-size默认为12px 以rem为单位。

关于lib-flexible详解:http://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html

注意:应用lib-flexible与响应式布局(媒介查询应用不同的样式)难以兼容,因为lib-flexible会改变媒体查询关键的width属性 使其不准确 参考

lib-flexible的问题研究:https://www.cnblogs.com/lyzg/p/5117324.html

.container设置max-width: 640px;width: 100%;。应用lib-flexible时也可设置为固定宽度width:10rem;overflow: hidden;(二者都是将屏幕的width等分出来的单位,显示效果一般无二)

2.webapp的1px边框过粗问题(还没发现简单可靠的方案)

现在大部分手机的分辨率很高,一个css像素1px,可能相当于2个甚至3个物理分辨率像素

导致1px会比实际的粗(虽然使用lib-flexible,但在在安卓设备下,此问题依然存在)

解决方法(利用transform达到零点几px的效果):

https://www.cnblogs.com/lunarorbitx/p/5287309.html

2.input 有placeholder情况下不要设置行高,否则会偏上

placeholder属性会使文本位置偏上时解决办法:line-height: (和input框的高度一样高)---pc端解决方法 line-height:normal ---移动端解决方法

3.为了更好的兼容,会使用完整的viewport设置(<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />)

viewport也可作为宽度单位,一些参数设定,width viewport 宽度(数值/device-width),height viewport 高度(数值/device-height),initial-scale 初始缩放比例,user-scalable 是否允许用户缩放(yes/no)。

关于meta:http://www.cnblogs.com/libin-1/p/5979300.html

  1. Display:flex;可以达到很好的布局效果,自适应效果不错 注意:定义了flex、align-items等 后 子元素magain 和 float属性受影响甚至失效

Flex弹性布局详解:https://www.cnblogs.com/nuannuan7362/p/5823381.html

5.有表单元素的地方一般需要外面加上form元素做父容器,并加上submit

6.在input框获得焦点时文字被清空用value 在input框输入文字时被清空用placeholder

7.当border对布局产生影响时(border会导致容器所占面积变大),可用属性box-sizing:border-box解决(border在元素内部了,不会在外面占空间)

8.webkit表单元素的默认外观怎么重置

.css{-webkit-appearance:none;}

清除input默认样式

.Input{border-color:transparent;outline:none;;border-width 0;:padding:0 0;}

9.媒体查询:给不同屏幕大小的手机设置特殊样式

@media only screen  and (min-device-width : 320px)  and (max-device-width : 375px){}

  1. 可用于图片适配查询devicePixelRatio=2,采用2x的背景图(background-size:contain)

高清屏及适配不同设备的方案总结:https://www.cnblogs.com/sese/p/5977486.html

11.用aftet伪类和定位可以对盒子达到特殊的修饰效果

为盒子底部加上一条宽度为96%的边框

.div:after{

position: absolute;

bottom: 0;

left: 4%;

content: ‘‘;

display: block;

height: 1px;

width: 96%;

}

12.input::-webkit-input-placeholder{ color: #******;}//改变提示字体的颜色,不会改变用户输入字的颜色(pc端页面还要写兼容性)

13.font-family: ‘Microsoft YaHei‘,‘Cabin‘, ‘Arial‘, ‘STXihei‘, ‘华文细黑‘, ‘SimSun‘, ‘宋体‘, ‘Heiti‘, ‘黑体‘, ‘STSong‘;(默认微软雅黑,如果没有微软雅黑再用其它的字体,电脑端也是一样)

  1. 父元素如果有旋转属性或者scare放大缩小属性都会使得pisition:flex失灵变成pisition:absolute的效果

大神的解释:https://www.zhangxinxu.com/wordpress/2015/05/css3-transform-affect/

15.用p标签与高度相关时必需要设置line-hight(没有特殊要求时设为font-size的值),因为p标签会默认行高为字体大小加上下留的空白高度(默认上下留白)

16.去除-webkit-的滚动条

#content::-webkit-scrollbar{ display:none; }

设置滚动条样式

/*滚动条宽度*/

#content::-webkit-scrollbar{ width:5px; }

/*滚动条滑块*/

#content::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.25); border-radius:3px; }

/*滚动条的整个背景*/

#content::-webkit-scrollbar-track-piece{ background:#eee; }

  1. text-align:justify规定如何对齐行文本进行对齐和分隔,对于长文本行内整齐效果好

注意(多行使用时当文字两端占满整行宽度时才有效.)

18.阻止旋转屏幕时自动调整字体大小html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {-webkit-text-size-adjust:none;}

19.禁止用户选中文字

-webkit-user-select:none

20.flex布局兼容性问题(移动端兼容性较为良好)

Android ;2.3 开始就支持旧版本 display:-webkit-box;4.4 开始支持标准版本 display: flex;

IOS: 6.1 开始支持旧版本 display:-webkit-box;,7.1 开始支持标准版本display: flex;

  1. 移动端字体小于12px使用四周边框或者背景色块,可能出现安卓文字偏上bug问题,可以使用整体放大1倍再缩放scale,而且字体不要是奇数

不足:改用a标签(有链接跳转的地方), 像最左、最右、居中此类有特点的位置要保证在任何情况下都能保持特点(比如居中用百分比定位,左右用flex布局属性、margin-最左用left、或者浮动),  不要只考虑展示效果(也要为交互便捷考虑比如有两个地方应用input range和select), 了解webkit对标签或input控件的渲染效果,内部的标签要活用不要只用div减少识别性和快捷性,关于文件放置相同功能模块的网页和css放在一个文件夹下面,index,login等跳转功能较多或模块的主体页面放在最外层,要写各种机型的兼容HTC、三星等(腾讯gituht上有)

原文地址:https://www.cnblogs.com/shineipangtuo/p/10277149.html

时间: 2024-11-02 16:17:01

移动端网站开发前端学习总结的相关文章

移动端 Web 开发前端知识整理

文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. HTML5 可以做什么 拍照 获取地理位置 手势 canvas 绘图和动画(硬件加速) localstorage,本地缓存 HTML5 动画效果 demo http://fff.cmiscm.com/#!/main CSS3 动画 http://isux.tencent.com/css3/inde

移动端网站开发常见问题解决【知识点】

安卓浏览器看背景图片,有些设备会模糊因为手机分辨率太小,如果按照分辨率来显示网页,字会非常小,安卓手机devicePixoRadio比较乱,有1.5的,有2的也有3的.想让图片在手机里显示更为清晰,必须使用2x的背景图来代替img标签(一般情况下都是2倍的),或者指定background-size:contain;都可以 2.防止手机中页面放大和缩小 <meta name="viewport" content="width=device-width,initial-sc

动态网站开发技术学习4:ASP.NET内置对象之Request对象

Request对象的作用是与客户端交互,收集客户端的Form.Cookies.超链接,或者收集服务器端的环境变量. request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息.客户端可通过HTML表单或 在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据.request的各种方法主 要用来处理客户端浏览器提交的请求中的各项参数和选项. Request对象用于封装客户端请求信息,检索浏览器向服务器发送的消息.当用户访问网站时,服务器从

动态网站开发技术学习2:VS 2010制作作第一个简单示例网站

制作一个简单示例网站的步骤: 一,启动VS 2010开发环境,选择菜单中的"文件",选择其中的"新建",再选择"网站",会弹出"新建网站"对话框. 二,在"新建网站"的对话框,在"已安装模板"中选择Visual C#,右侧的选择"ASP.NET网站"选项,单击"新建网 站"中的"文件系统",下拉菜单中有"文件系统&qu

网站开发JS学习总结

近期使用Yii开发了一个网站,前台使用了大量的Js交互效果,由于之前一直研究php,对javascript使用不多,导致项目进行中,进度缓慢,JS调试频频出错,不过,最后还是通过几天的努力,将问题解决了,现在对这段时间工作小结一下,以便后续项目开发时,可以借鉴,快速完成任务. 项目使用了colorbox插件,在使用该插件过程中,出现了一个iframe高度自适应的问题,这个问题花了本人接近半天的时间才搞定.所以有必要记录下来. a. 去网站(http://www.jacklmoore.com/co

移动端网站开发总结2

这段时间一直在做移动端的网站,顺便写一点总结吧,随便写的,想到什么写什么,所有若有幸被各位所看到,可以无视哈.... 1. 1 $(document).bind("click",function(e){ 2 var target = $(e.target); 3 if(target.closest(".pop").length == 0){ 4 $(".pop").hide(); 5 } 6 }) 这段代码,是在做右上角菜单时候用到的,  意思是

web 开发前端学习

bootstrap:  http://www.bootcss.com/ bootstrap:   http://www.runoob.com/bootstrap/bootstrap-tables.html jquery:  http://www.runoob.com/jquery/jquery-hide-show.html bootstrap模版: https://shapebootstrap.net/popular-items 医院主题模版:http://medicalpress.inspir

I am back-电商网站开发&amp;jQuery

hi 之前有将近两周的时间没有更新,除了懒就是其他的事情耽误了.现在好了,回家了,虽然家里停水,外面又有积雪,天寒地冻的,但诸多不便,都比不过有点闲的好. 开搞每个学PHP的必经之路——电商网站的开发. 1.电商网站开发——前端 一.首页制作 1.1 概况&准备 整个电商网站包括什么呢,就是首页信息,后面的分类信息页,商品详情页,购物页面,售后页面等等,所以就一步步做.自己做的时候可以简单的画个概况图来指导开发,免得逻辑搞混. 准备:项目文件夹,其中要有images(图片素材),js(javas

移动端web开发初探之Vuejs的简单实战

这段时间在做的东西,是北邮人论坛APP的注册页.这个注册页是内嵌的网页,因为打算安卓和IOS平台同时使用.因此实际上就是在做移动端的web开发了. 在这过程中遇到了不少有意思的东西. DEMO的github地址在这里 内容提要: meta标签 Vuejs的简单实战 CSS移动端全屏背景 CSS移动端动画初探 meta标签 这点与在PC端写前端有着很大的区别,移动端的meta标签简直多.我就说说我所用到的标签. <!-- 1.如果支持Google Chrome Frame:GCF,则使用GCF渲染