客户端页面粗略见解

近期做客户端页面,很是迷茫,过程中,学习了不少知识,仅作总结,以备参考。

一般我们拿到设计稿是640px宽度的
这个时候,把图片按照640px原大小切下,另存为png
使用ps把设计稿缩放一半50%
按照这个缩放之后的320px宽度,切页面
里面的图片background-size:50 % 50%
图片 字体 间距 都是 缩放一半的,按照320px的测量来写
设置样式 html {font-size:62.5%}
在使用rem写大小的时候 1rem=10px 按照这个比例 去进行换算
比如 缩放320px的设计稿 里面的字体大小是12px.这个时候,写css就是 12/10=1.2rem大小
图片 大小是30px.这个时候css写 图片宽度:30/10=3rem 高度可以height:auto
意思就是 图片 高保真,按照原图切,写样式的时候,按照缩放之后的大小写,即可

最外层设置宽度 100%。或者(max-width:640px;)
* {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
这样可设置padding,而不会撑破布局
或者 个性化定制 css设置 html{font-size:10px}
之后,下面进行 写 span{font-size:2rem;}也就是 相当于 span{font-size:20px}
当日后需要调整字体大小的时候,直接在 html{font-size:10px}这里修改 10px的大小即可。修改一个地方
改变了全局的字体大小

这里为什么说到设置了 font-size:62.5% & font-size:10px 之后,就是相当于 1rem=10px呢
因为,目前大部分浏览器默认字体是 16px.所以^

说到这里,一般的业务需求,这样做,可以,.每个机型显示的字体大小都是一样大小的.
如果业务需求,不同机型,不同的字体大小.iphone6上面的字体大小,大于iphone4上面的字体,这样的需求时候
就需要
@media screen and (min-width:100px){ /* iPhone 4,5 */
html{ font-size: 10px;}
}
@media screen and (min-width:320px){ /* iPhone 4,5 */
html{ font-size: 10px;}
}
@media screen and (min-width:375px){ /* iPhone 6 */
html{ font-size: 12px;}
}
@media screen and (min-width:414px){ /* iPhone 6 plus */
html{ font-size: 12px;}
}
@media screen and (min-width:600px){
html{ font-size:14px;}
}
这样设置了.下面 1rem=10px span{font-size:1rem}
或者使用百分比
@media all and (max-width: 320px) {
html,
body {
font-size: 62.5%;
}
}
@media all and (min-width: 321px) and (max-width: 413px) {
html,
body {
font-size: 72.5%;
}
}
@media all and (width: 414px) {
html,
body {
font-size: 82.5%;
}
}
这样设置之后,也是按照 1rem=10px 去进行换算

<!DOCTYPE HTML>
<html>
<head>
<!--申明当前页面的编码集-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--网页标题-->
<title>HTML5移动端开发模板</title>
<!--网页关键词-->
<meta name="keywords" content="" />
<!--网页描述-->
<meta name="description" content="" />
<!--适配当前屏幕-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<!--禁止自动识别电话号码-->
<meta name="format-detection" content="telephone=no" />
<!--禁止自动识别邮箱-->
<meta content="email=no" name="format-detection" />
<!--iphone中safari私有meta标签,
允许全屏模式浏览,隐藏浏览器导航栏-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<!--iphone中safari顶端的状态条的样式black(黑色)-->
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<style type="text/css">
/*reset 重置*/
@charset "utf-8";

body,ul,ol,p,h1,h2,h3,h4,h5,dl,dd,form,input,textarea,
td,th,button,strong,em,select,video,canvas{margin:0;padding:0;}
li{list-style:none;}
table{ border-collapse:collapse;}
textarea{resize:none;overflow:auto;}
img{ border:none; vertical-align:middle;}
em{ font-style:normal;}
a{ text-decoration:none;}
a,input{
-webkit-appearance: none;/*屏蔽阴影*/
-webkit-tap-highlight-color:rgba(0,0,0,0);
/*ios android去除自带阴影的样式*/
}
a, img {
/* 禁止长按链接与图片弹出菜单 */
-webkit-touch-callout: none;

}
html{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body {
/* 禁止选中文本(如无文本选中需求,此为必选项) */
-webkit-user-select: none;
user-select: none;
-webkit-font-smoothing: antialiased; //让页面里的字变得清晰。
-moz-osx-font-smoothing: grayscale; //让页面里的字变得清晰。
}
/*public*/
@media screen and (min-width:100px){ /* iPhone 4,5 */
html{ font-size: 10px;}
}
@media screen and (min-width:320px){ /* iPhone 4,5 */
html{ font-size: 10px;}
}
@media screen and (min-width:375px){ /* iPhone 6 */
html{ font-size: 12px;}
}
@media screen and (min-width:414px){ /* iPhone 6 plus */
html{ font-size: 12px;}
}
@media screen and (min-width:600px){
html{ font-size:14px;}
}
body{font-family: "Helvetica Neue", Helvetica, "STHeiTi", sans-serif;
overflow-x:hidden; overflow-y:auto;
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.clearfix {
zoom: 1;
}
.fl{float:left;}
.fr{float:right;}
</style>
</head>
<body>
<div>
<div>这是一个移动端开发模板</div>
</div>
</body>
</html>
PS:这段模板参考 段亮博客
http://www.duanliang920.com/learn/web/html5/321.html

感谢网络诸位大神指点,才得已汇总,仅作参考。

时间: 2024-11-07 02:09:31

客户端页面粗略见解的相关文章

纯客户端页面关键字搜索高亮jQuery插件

一.效果抢鲜展示 此插件是我今天下午写的,为了直观地看到是个什么东东,先展示效果,您可以狠狠地点击这里:搜索页面文字jQuery插件Demo 下图为Demo页面的两个测试截图 – 测试页面HTML代码取自豆瓣网帮助页面: 下载 您可以狠狠地点击这里:jquery.textSearch-1.0.js 文件较小,功能简单,恕不打包~~ 二.功能简述 从上图也应该看出来了,就是对HTML页面上的文字内容进行高亮标记,这个可以用在内容搜索上.纯粹的客户端程序,与后台一点瓜葛都没有. 三.如何使用 使用方

webform的跨页面传值、客户端的页面跳转、超链接

一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key=value&key=value"            用&可以实现传递多个值. 通过这种方式就把要传递的值传到要跳转的页面去了. 2.跨页面取值: 在跳转到的页面的C#代码服务端进行取值 用: string value = Request["key"]; 二.客

php部分---文件上传:错误处理、 客户端和服务器端的限制

1.客户端页面 <!---客户端的配置 1.表单页面 2.表单发送方式为post 3.表单form中添加enctype="multipart/form-data" -------> <body> <form action="doaction.php" method="post" enctype="multipart/form-data"> <input type="file&

通过javascript库JQuery实现页面跳转功能代码

通过javascript库JQuery实现页面跳转功能代码的四段代码实例如下. 实例1: 1 2 3 4 $(function(){ var pn = $("#gotopagenum").val();//#gotopagenum是文本框的id属性 location.href = "NewList.aspx?pagenum="+pn;//location.href实现客户端页面的跳转 }); 实例2: 实现跳转:window.location = 'user!add.

ASP.NET - 处理页面

客户端与服务端数据交互 要把本地数据提交给服务端,就要使用form元素,服务端通过request[表单元素的name]就可以获取表单元素的value. form的两种提交方式 Get方式:提交的表单数据会显示在浏览器地址栏的地址后边,数据量小使用Get方式.此为默认. Post方式:以密送的形式提交表单的数据到服务器,数据量比较大的时候使用Post方式.只要在页面点击过表单里点击过提交按钮,那么当你点击浏览器的刷新按钮或右击页面刷新都会产生提交行为,也即会产生重复提交表单数据. <form ac

2014.12.03 页面控件

就是托控件,没啥好说的... Response :响应 从服务端--客户端 Write("字符串"):向客户端页面输出一段文字 Redirect("URL"):重定向 End():结束向客户端的输出 Request:请求 从客户端--服务端 Request["名"]:获取客户端用post或get方式传递过来的数据. Request.Form["名"]:获取客户端用post方式传递过来的数据. Request.QueryStri

JSP页面以及简单的指令

?JSP(Java Server Pages)是指: ?在HTML中嵌入Java脚本语言 ?由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本语言命令 ?然后将生成的整个页面信息返回给客户端 页面组成 ? JSP指令 指令作用: 控制这个页面产生的Servlet的整体结构 ?指令一般形式: <%@ directive {attr="value"} %> ?directive 指令类别 1. page指令 作用:指示页面相关的信息. 2.include指令 作用:包含另

jsp页面跳转和请求的各种方法

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8

location.hash来保持页面状态

/*本例是为了在客户端页面返回时保存状态,采用hash值记录的模式,为了使用方便所写的存取hash值的库,时间仓促,望指出错误.*/var pageStateHash = { hashArray: [], getHashArray: function() { var _self = this; if (window.location.hash.replace('#','') != '') { _self.hashArray = window.location.hash.replace('#','