meta

自适应布局 的 解决方案

喜你入骨 提交于 2020-02-08 03:44:52
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— 手淘的H5页面是如何实现多终端的适配 ? 那么趁此 Amfe阿里无线前端团队双11技术连载 之际,用一个实战案例来告诉大家,手淘的H5页面是如何实现多终端适配的,希望这篇文章对大家在Mobile的世界中能过得更轻松。 目标 拿一个双11的Mobile页面来做案例,比如你实现一个类似下图的一个H5页面: 目标很清晰,就是做一个这样的H5页面。 DEMO 请用手机扫下面的二维码 痛点 虽然H5的页面与PC的Web页面相比简单了不少,但让我们头痛的事情是要想尽办法让页面能适配众多不同的终端设备。看看下图你就会知道,这是多么痛苦的一件事情: 点击 这里 查看更多终端设备的参数。 再来看看手淘H5要适配的终端设备数据: 看到这些数据,是否死的心都有了,或者说为此捏了一把汗出来。 手淘团队适配协作模式 早期移动端开发,对于终端设备适配问题只属于Android系列,只不过很多设计师常常忽略Android适配问题,只出一套iOS平台设计稿。但随着iPhone6,iPhone6+的出现,从此终端适配问题不再是Android系列了,也从这个时候让移动端适配全面进入到“杂屏”时代。 上图来自于

HTML5 头部【快速编写】

浪子不回头ぞ 提交于 2020-02-08 02:17:09
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> # 设置网页文件展示时使用的字符集(编码) <meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript"> #为搜索引擎定义关键词 <meta name="description" content="  "> #定义网页描述内容 <meta name="author" content="  "> # 定义网页作者 <meta http-equiv = "refresh" content = "30" > #每30秒钟刷新当前页面: <link rel="shortcut icon" href="图片url">                 #可在标题左侧显示logo                  <title>标题</title> <link rel="stylesheet" type="text/css" href="css的url"> #载入外部css代码 < script type=”text/javascript” src=”js的url” > </ script > #载入外部js代码 </head> #<meta> 标签提供了元数据. 元数据不显示在页面上,但会被浏览器解析

关于html的相关讲解

回眸只為那壹抹淺笑 提交于 2020-02-08 02:02:03
浏览器chrome Chrome它内部有一个解析器,这个解析器就是解析我们的代码,各个浏览器的内核不一样,所以存在浏览器的兼容。这个内核是一个引擎。 谷歌的内核是webkit 引擎是v8。 客户端的请求过程。 1.重点 传输协议 2.返回的是数据不是文件。 解析超文本标记语言html。俗称标签。 浏览器的窗口是window 安卓app的窗口是webview。 学习我们使用的标签 <!DOCTYPE html>这个放在文档的开头代表什么? 该功能告诉浏览器以w3c的标准解析和渲染页面。 浏览器解析页面有两种模式,第一种按照浏览器自己的方式解析。叫怪异模式 第二中采用w3c的标准解析页面 这叫标准模式。 如果不写这个声明,各个浏览器就会以自己的方式解析,采用怪异模式,在不同浏览器下就有不同的表现,叫了这个声明,就按照标准模式解析,所有浏览器保持一致。 看见了这个声明 就知道他是一个h5页面。H5新增的特性就可以使用。 Html根节点标签 Head 头部标签 Meta标签 元信息标签 Charset=”utf-8” 字体编码,国际的编码是utf-8(浏览器的解析标准) 国内大陆的是gb2312 台湾香港繁体 字体编码是 big5 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale

复习

半世苍凉 提交于 2020-02-08 01:14:58
12.17 浏览器 chrome Chrome 它内部有一个解析器,这个解析器就是解析我们的代码,各个 浏览器的内核不一样,所以存在浏览器的兼容。这个内核是一个 引擎。 谷歌的内核是 webkit 引擎是 v8 。 客户端的请求过程。 1. 重点 传输 协议 2. 返回的是 数据不是文件。 解析超文本标记语言 html 。俗称标签。 浏览器的窗口是 window 安卓 app 的窗口是 webview 。 学习我们使用的标签 <!DOCTYPE html> 这个放在文档的开头代表什么? 该功能告诉浏览器以 w3c 的标准解析和渲染页面。 浏览器解析页面有两种模式,第一种按照浏览器自己的方式解析。叫怪异模式 第二中采用 w3c 的标准解析页面 这叫标准模式。 如果不写这个声明,各个浏览器就会以自己的方式解析,采用怪异模式,在不同浏览器下就有不同的表现,叫了这个声明,就按照标准模式解析,所有浏览器保持一致。 看见了这个声明 就知道他是一个 h5 页面。 H5 新增的特性就可以使用。 Html 根节点标签 Head 头部标签 Meta 标签 元信息标签 Charset=”utf-8” 字体编码,国际的编码是 utf-8( 浏览器的解析标准 ) 国内大陆的是 gb2312 台湾香港繁体 字体编码是 big5 <meta name="viewport" content="width

VUE组件

≡放荡痞女 提交于 2020-02-08 00:41:53
v-once指令   v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="app"> <input type="text" v-model="msg"> <input type="text" v-model="msg" v-once> <p>{{ msg }}</p> <p v-once>{{ msg }}</p> </div> </body> <script src="js/vue.js"></script> <script> new Vue({ el: '#app', data: { msg: '初始值' } }) </script> </html> v-cloak指令:防止页面闪烁 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title></title> <style> [v-cloak] { display: none; } </style> </head> <body> <div id="app" v-cloak> {{ }} {{ }} {{

JS DOM属性,包括固有属性和自定义属性,以及属性获取、移除和设置

ぃ、小莉子 提交于 2020-02-07 21:59:15
属性分为固有属性property和自定义属性attribute 固有属性查看 固有属性可以通过ele.property 来获取,自定义属性不行 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> <script> myReady(function(){ var input=document.querySelector("input"); console.log(input.type);//text console.log(input.value);//txt console.log(input.a);//undefined console.log(input.title);//"" }); </script> </head> <body> <input type="text" value="txt" a="b"> </body> </html> .attributes 返回类数组,获取所有属性,包括自定义属性和固有属性 如果定义了同名属性,后面的属性会被忽略 如果自定义属性时出现了大写

DRF框架之ModelSerializer序列化器

谁说我不能喝 提交于 2020-02-07 20:08:58
ModelSerializer是Serializer的子类,序列化和反序列化跟Serializer一样。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动生成一系列字段 基于模型类自动为Serializer生成validators,比如unique_together 包含默认的create()和update()的实现 在使用 ModelSerializer序列化器时,我们只需要定义好序列化器类,并指定好对应的模型类和字段即可。 例如: # 定义ModelSerializers序列化器 class BookInfoModelSerializer(serializers.ModelSerializer): '''定义图书信息的ModelSerializers序列化器''' class Meta: # 指定序列化器对应的模型类 # model = 模型类名 model = BookInfo # 指定序列化和反序列化操作的字段 fields = '__all__' # __all__表示所有字段进行序列化 Shell测试代码: >>> from booktest.serializers import BookInfoModelSerializer >>> s = BookInfoModelSerializer() >>> s

JS DOM用不同方法获取节点及对节点插入、复制和移除

99封情书 提交于 2020-02-07 18:42:49
操作节点的方法 appendChild() insertBefore() replaceChild() cloneNode() normalize() splitText() sppendChild() 追加子元素 .firstElementChild() 第一个子元素节点 返回值是被操作的那个子节点 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> <script> myReady(function(){ var ul=document.getElementById("myul"); var txt=document.createTextNode("4"); var li=document.createElement("li"); li.appendChild(txt); var myli=ul.appendChild(li); console.log(myli);//返回值是被操作的那个子节点 // 获取到的第一个子元素被移动到了最后 var firstLi=ul

FastDFS 同步文件及目录结构

随声附和 提交于 2020-02-07 11:18:05
一、FastDFS服务器端运行时目录结构 ${base_path} |__data:存放数据文件 |__logs:存放日志文件 其中,${base_path}由配置文件中的参数“base_path”设定。 1. tracker server tracker server目录及文件结构: ${base_path} ---- 网上说在这个路径下查找,但是实际上本人找不到,而是在安装tracker时创建的文件夹(/apps/fastdfs/tracker1/data)才找到 |__data | |__storage_groups[_new].dat:存储分组信息 | |__storage_servers[_new].dat:存储服务器列表 |__logs |__trackerd.log:tracker server日志文件 数据文件storage_groups.dat和storage_servers.dat中的记录之间以换行符(/n)分隔,字段之间以西文逗号(,)分隔。 storage_groups.dat中的字段依次为: group_name:组名 storage_port:storage server端口号 storage_servers.dat中记录storage server相关信息,字段依次为: group_name:所属组名 ip_addr:ip地址 status:状态

Ansible角色管理-Roles(实例演示!!!)

夙愿已清 提交于 2020-02-07 10:17:57
Ansible角色管理 Roles的概述 Roles能够根据层次型结构自动装载变量文件、task以及handlers等。 简单来讲,Roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们。 Roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。 Roles的目录 目录名称 具体含义 files 用来存放由copy模块或script模块调用的文件 templates 用来存放j正则模板,template模块会自动在此目录中寻找正则模板文件 tasks 此目录应当包含一个main.yml文件,用于定义此角色的任务列表,此文件可以使用include包含其它的位于此目录的task文件 handlers 此目录应当包含一个main.yml文件,用于定义此角色中触发条件时执行的动作 vars 此目录应当包含一个main.yml文件,用于定义此角色用到的变量 defaults 此目录应当包含一个main.yml文件,用于为当前角色设定默认变量 meta 此目录应当包含一个main.yml文件,用于定义此角色的特殊设定及其依赖关系 在playbook中使用Roles的步骤 创建以roles命令的目录 #yum装完默认就有 mkdir /etc/ansible/roles/ -p 创建全局变量目录 mkdir /etc