H5游戏开垦,的部分经历分享

时间:2019-10-04 09:45来源:美高梅游戏网站
聊聊 CSS3 中的 object-fit 和 object-position 2016/11/22 · CSS ·CSS3 本文作者: 伯乐在线 -TGCode。未经小编许可,禁止转发! 接待参加伯乐在线 专辑笔者。 前段时间径直劳累将JavaScript学习的笔记

聊聊 CSS3 中的 object-fit 和 object-position

2016/11/22 · CSS · CSS3

本文作者: 伯乐在线 - TGCode 。未经小编许可,禁止转发!
接待参加伯乐在线 专辑笔者。

前段时间径直劳累将JavaScript学习的笔记整理成都电子通信工程高校子书,也没怎么空闲时间写新的作品。趁着今日有一点点空闲,决定再来折腾一下CSS3中的多个属性:object-fitobject-position

那多个奇葩的天性是做如何的呢?其实它们是为了管理替换元素(replaced elements)的自适应难题,简单来讲,便是管理替换到分的变形(这里指长度宽度比例变形)难题。

美高梅游戏网站 ,等等,好像多了贰个名词,啥叫替换元素?替换到分其实是:

  • 其故事情节不受CSS视觉格式化模型调节的成分,举例image,嵌入的文书档案(iframe之类)恐怕applet,叫做替换到分。比:img元素的故事情节平日会被其src属性钦点的图像替换掉。替换来分常常有其原有的尺码:多个本来的小幅度,三个本来的莫斯中国科学技术大学学和贰个原来的比值。譬喻一幅位图有固有用相对单位钦定的升幅和惊人,进而也可以有固有的宽高比率。另一方面,别的文书档案也恐怕未有原本的尺寸,比如贰个单手的html文书档案。
  • CSS渲染模型不思考替换到分内容的渲染。那个替换来分的表现独立于CSS。object,video,textarea,input也是替换来分,audio和canvas在少数特定情景下为替换到分。使用CSS的content属性插入的指标是佚名替换来分。

其一本来不是本身脑子暴风来的,而是引用旁人的解释:引用

科学普及的更迭成分有<video>、<object>、<img>、<input type=”image”>、<svg>、<svg:image>和<svg:video>等。

一旦看的稀里纷纭扬扬的也没涉及,接着往下看,小编深信不疑您会分晓!

1、object-fit

语法:

object-fit: fill | contian | cover | none | scale-down;

1
object-fit: fill | contian | cover | none | scale-down;
  • fill : 默许值。填充,可替换到分填满整个内容区域,大概会变动长度宽度比,导致拉伸。
  • contain : 包涵,保持原有的尺码比例,有限援助可替换来分完整展现,宽度或可观最少有二个和剧情区域的增进率或中度一致,部分内容会空白。
  • cover : 覆盖,保持原有的尺寸比例,保险内容区域被填满。因而,可替换到分大概会被切掉一部分,进而不能够完全体现。
  • none : 保持可替换元素原尺寸和比例。
  • scale-down : 等比缩短。就恍如依次安装了none或contain, 最后表现的是尺寸极小的充足。

倒霉意思,我又要摆妹子来诱惑你们了,看功效图:

美高梅游戏网站 1

地方的七个例证的代码:

<style> .box{ position:relative; float:left; margin:0 10px 40px 10px; width:150px; height:150px; } .box>img{ width:100%; height:100%; background-color:#000; } .fill{ object-fit:fill; } .contain{ object-fit:contain; } .cover{ object-fit:cover; } .none{ object-fit:none; } .scale{ object-fit:scale-down; } </style> <div class="box"> <img src="example-girl.jpg" class="fill" alt=""> </div> <div class="box"> <img src="example-girl.jpg" class="contain" alt=""> </div> <div class="box"> <img src="example-girl.jpg" class="cover" alt=""> </div> <div class="box"> <img src="example-girl.jpg" class="none" alt=""> </div> <div class="box"> <img src="example-girl.jpg" class="scale" alt=""> </div>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<style>
.box{  
  position:relative;  
  float:left;  
  margin:0 10px 40px 10px;  
  width:150px;  
  height:150px;  
}  
.box>img{  
  width:100%;  
  height:100%;  
  background-color:#000;  
}  
.fill{  
  object-fit:fill;  
}  
.contain{  
  object-fit:contain;  
}  
.cover{    
  object-fit:cover;  
}  
.none{  
  object-fit:none;  
}  
.scale{  
  object-fit:scale-down;  
}  
</style>
 
<div class="box">  
  <img src="example-girl.jpg" class="fill" alt="">  
</div>  
<div class="box">  
  <img src="example-girl.jpg" class="contain" alt="">
</div>  
<div class="box">  
  <img src="example-girl.jpg" class="cover" alt="">
</div>  
<div class="box">  
  <img src="example-girl.jpg" class="none" alt="">
</div>  
<div class="box">  
  <img src="example-girl.jpg" class="scale" alt="">
</div>

探访那些职能,小编想同志们最关心的的应有是宽容性,点这里点这里

2、object-position

object-position属性决定了它的盒子里面替换来分的对齐格局。

语法:

object-position: <position>

1
object-position: <position>

暗中同意值是50% 50%,相当于居中功能,其取值和CSS中background-position性子取值一样。(假设素不相识background-position,能够瞄瞄这里《CSS3 Background》)

举个例子:替换到分位于内容区域的左上角

img{ object-fit: contain; object-position: 0 0; }

1
2
3
4
img{
  object-fit: contain;
  object-position: 0 0;
}

效果图:

美高梅游戏网站 2

比如说:替换来分相对于左下角10px 10px地方一定

img{   object-fit: contain;   object-position: bottom 10px left 10px; }

1
2
3
4
img{
  object-fit: contain;
  object-position: bottom 10px left 10px;
}

效果图:

美高梅游戏网站 3

自然,你也得以动用calc()来定位:

img{   object-fit: contain;   object-position: calc(100% - 10px) calc(100% - 10px); }

1
2
3
4
img{
  object-fit: contain;
  object-position: calc(100% - 10px) calc(100% - 10px);
}

效果图:

美高梅游戏网站 4

它还帮忙负数:

img{   object-fit: contain;   object-position: -10px calc(100% - 10px); }

1
2
3
4
img{
  object-fit: contain;
  object-position: -10px calc(100% - 10px);
}

效果图:

美高梅游戏网站 5

总之,object-position的天性表现与backgound-position长期以来同等的。

兼容性:点这里

到此地,那八个属性算是讲完了,就是那样简单。

打赏接济自身写出越来越多好文章,感谢!

打赏笔者

H5游戏开拓:消灭星星

2018/01/25 · HTML5 · 游戏

原稿出处: 坑坑洼洼实验室   

「消灭星星」是一款很杰出的「解决类游戏」,它的玩的方法很简短:消除相连通的同色砖块。

美高梅游戏网站 6

canvas api

2016/01/11 · HTML5 · Canvas

原稿出处: 韩子迟   

浏览器 HTTP 缓存原理剖析

2015/10/27 · HTML5 · 1 评论 · HTTP

原来的书文出处: 毛桃夭夭   

从前项目中相见了非常多浏览器缓存相关的难题,也在网络查过资料,搞过服务器的布署,来确认保障客商端加载服务器财富的快慢和财富有效。近年来稳重看了下http左券夹钟缓存相关的有个别性格,总计一下。

关于启用 HTTPS 的一部分经验分享(二)

2015/12/24 · 基本功本领 · HTTP, HTTPS

原来的书文出处: imququ(@屈光宇)   

小说目录

  • SSL 版本选用
  • 加密套件选拔
  • SNI 扩展
  • 证件选择

几天前,壹个人相恋的人问小编:都说推荐用 Qualys SSL Labs 那个工具测量试验 SSL 安全性,为啥有个别安全实力很强的大商家评分也异常低?作者感到那一个标题应当从两上边来看:1)国内顾客终端境况复杂,比很多时候降落 SSL 安全计划是为着合营越来越多客户;2)确实有一部分大厂商的 SSL 配置十分不规范,特别是安插了一部分引人瞩目不应该使用的 CipherSuite。

自小编前边写的《关于启用 HTTPS 的一部分经验分享(一)》,首要介绍 HTTPS 如何与一些新出的安全规范同盟使用,面向的是当代浏览器。而后天那篇小说,越多的是介绍启用 HTTPS 进度中在老旧浏览器下大概遭遇的主题素材,以及怎么样选拔。

打赏援助本身写出更加的多好小说,多谢!

任选一种支付格局

美高梅游戏网站 7 美高梅游戏网站 8

1 赞 收藏 评论

1. 游戏准绳

「消灭星星」存在四个版本,但是它们的平整除了「关卡分值」有些出入外,另外的条条框框都以一模二样的。笔者介绍的本子的游戏准则整理如下:

1. 色砖分布

  • 10 x 10 的表格
  • 5种颜色 —— 红、绿、蓝,黄,紫
  • 每类色砖个数在钦赐区间内随机
  • 5类色砖在 10 x 10 表格中随性所欲分布

2. 免去准绳

多少个或多个以上同色砖块相连通就是可被免除的砖头。

3. 分值法规

  • 解除总分值 = n * n * 5
  • 奖励总分值 = 三千 – n * n * 20

「n」表示砖块数量。上面是「总」分值的法则,还大概有「单」个砖块的分值准绳:

  • 清除砖块得分值 = 10 * i + 5
  • 剩余砖块扣分值 = 40 * i + 20

「i」表示砖块的索引值(从 0 起首)。简单地说,单个砖块「得分值」和「扣分值」是贰个等差数列。

4. 关卡分值

关卡分值 = 1000 + (level – 1) * 三千;「level」即当前关卡数。

5. 及格条件

  • 可清除色块不设有
  • 计算分值 >= 当前关卡分值

地点七个规范化还要构建游戏手艺够过得去。

大旨骨骼


 

<canvas id="canvas" width=1000 height=1000 style="border: 1px black dotted"></canvas> <script> var ctx = document.getElementById('canvas').getContext('2d'); </script>

1
2
3
4
5
<canvas id="canvas" width=1000 height=1000 style="border: 1px black dotted"></canvas>
 
<script>
  var ctx = document.getElementById('canvas').getContext('2d');
</script>

浏览器缓存原理

SSL 版本选用

TLS(Transport Layer Security,传输层安全)的前身是 SSL(Secure Sockets Layer,保险套接字层),它最先的多少个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开垦,从 3.1 发轫被 IETF 标准化并更名,发展到现在已经有 TLS 1.0、TLS 1.1、TLS 1.2 八个版本。TLS 1.3 退换会比不小,近来还在草案阶段。

SSL 1.0 从未公开过,而 SSL 2.0 和 SSL 3.0 都设有安全难题,不推荐使用。Nginx 从 1.9.1 起头默许只支持 TLS 的多少个本子,以下是 Nginx 法定文书档案中对 ssl_protocols 配置的辨证:

Syntax: ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];
Default: ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Context: http, server
Enables the specified protocols. The TLSv1.1 and TLSv1.2 parameters work only when the OpenSSL library of version 1.0.1 or higher is used.

但不幸的是,IE 6 只扶助 SSLv2 和 SSLv3(来源),也正是说 HTTPS 网址要援救 IE 6,就务须启用 SSLv3。仅这一项就能够招致 SSL Labs 给出的评分降为 C。

有关小编:TGCode

美高梅游戏网站 9

路途虽远,无所畏 个人主页 · 作者的小说 · H5游戏开垦,的部分经历分享。 9 ·    

美高梅游戏网站 10

2. MVC 设计格局

作者此次又是使用了 MVC 方式来写「消灭星星」。星星「砖块」的数据结构与各类气象由 Model 完结,游戏的主干在 Model 中完成;View 映射 Model 的扭转并做出相应的作为,它的天职首借使显得动画;用户与娱乐的竞相由 Control 完成。

从逻辑规划上看,Model 非常重而View 与 Control 非常轻,可是,从代码量上看,View 相当的重而 Model 与 Control 相对非常轻。

矩形


实心:

// 填充色 (默许为粉深黄) ctx.fillStyle = 'darkSlateBlue'; // 规定画布左上角坐标为 (0, 0) // 矩形左上角坐标 (0, 0) // 矩形大小 100*100 ctx.fillRect(0, 0, 100, 100);

1
2
3
4
5
6
7
// 填充色 (默认为黑色)
ctx.fillStyle = 'darkSlateBlue';
 
// 规定画布左上角坐标为 (0, 0)
// 矩形左上角坐标 (0, 0)
// 矩形大小 100*100
ctx.fillRect(0, 0, 100, 100);

空心:

// 边框颜色 (默许法国红) ctx.strokeStyle = 'darkSlateBlue'; // 规定画布左上角坐标为 (0, 0) // 矩形左上角坐标 (0, 0) // 矩形大小 100*100 ctx.strokeRect(0, 0, 100, 100);

1
2
3
4
5
6
7
// 边框颜色 (默认黑色)
ctx.strokeStyle = 'darkSlateBlue';
 
// 规定画布左上角坐标为 (0, 0)
// 矩形左上角坐标 (0, 0)
// 矩形大小 100*100
ctx.strokeRect(0, 0, 100, 100);

文字版描述

①浏览器第贰回访问服务器财富 /index.html

在浏览器中从未缓存文件,直接向服务器发送乞求。

服务器重临  200 OK,实体中回到 index.html文件内容,并安装二个缓存过期光阴,二个文件修改时间,一个依照index.html内容总结出来的实体标识Entity Tag,简称Etag。

浏览器将/index.html路线的呼吁缓存到地面。

②浏览器第叁回访谈服务器财富 /index.html

出于地点曾经有了此路线下的缓存文件,所以那三遍就不直接向服务器发送央求了。

首先开展缓存过期判别。浏览器依据①中设置缓存过期时间剖断缓存文件是还是不是过期。

情景一:若未有过期,则不向服务器发送诉求,直接行使缓存中的结果,此时大家在浏览器调整台北得以见见  200 OK(from cache) ,此时的情形正是一心选取缓存,浏览器和服务器并未有其余交互的。

场景二:若已过期,则向服务器发送央求,此时央浼中会带上①中设置的文件修改时间,和Etag

然后展开资源立异推断。服务器依照浏览器传过来的公文修改时间,判定自浏览器上壹回呼吁之后,文件是否未曾被修改过;依据Etag,判别文件内容自上一回呼吁之后,有未有发生变化

意况一:若二种判定的下结论都以文本并未有被修改过,则服务器就不给浏览器发index.html的剧情了,直接告知它,文件并未有被涂改过,你用你那边的缓存吧—— 304 Not Modified,此时浏览器就能从本地缓存中获得index.html的剧情。此时的意况叫合同缓存,浏览器和服务器之间有三回呼吁交互。

动静二:若修改时间和文件内容判定有擅自二个一贯不经过,则服务器会受理本次哀告,之后的操作同

①自己的文字表达技术恐怕有数,为了尽量把那一个流程描述清楚一些,下边

加密套件选用

加密套件(CipherSuite),是在 SSL 握手中须要构和的很要紧的贰个参数。客商端会在 Client Hello 中带上它所协助的 CipherSuite 列表,服务端会从当中选定三个并经过 Server Hello 重返。借使顾客端帮助的 CipherSuite 列表与服务端配置的 CipherSuite 列表未有交集,会促成一点都不大概成功商业事务,握手战败。

CipherSuite 包涵二种才能,比如认证算法(Authentication)、加密算法(Encryption)、音讯认证码算法(Message Authentication Code,简称为 MAC)、密钥交流算法(Key Exchange)和密钥衍生算法(Key Derivation Function)。

SSL 的 CipherSuite 协商业机械制具有独具特殊的优越条件的扩大性,每一种 CipherSuite 都急需在 IANA 注册,并被分配多少个字节的注明。全体 CipherSuite 能够在 IANA 的 TLS Cipher Suite Registry 页面查看。

OpenSSL 库帮助的满贯 CipherSuite 能够由此以下命令查看:

openssl ciphers -V | column -t 0xCC,0x14 - ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=ECDSA Enc=ChaCha20-Poly1305 Mac=AEAD ... ...

1
2
3
openssl ciphers -V | column -t
0xCC,0x14  -  ECDHE-ECDSA-CHACHA20-POLY1305  TLSv1.2  Kx=ECDH        Au=ECDSA   Enc=ChaCha20-Poly1305  Mac=AEAD
... ...

0xCC,0x14 是 CipherSuite 的数码,在 SSL 握手中会用到。ECDHE-ECDSA-CHACHA20-POLY1305 是它的称呼,之后几局地各自代表:用于 TLSv1.2,使用 ECDH 做密钥交流,使用 ECDSA 做表明,使用 ChaCha20-Poly1305 做对称加密,由于 ChaCha20-Poly1305 是一种 AEAD 方式,无需 MAC 算法,所以 MAC 列展现为 AEAD。

要打听 CipherSuite 的越来越多内容,能够翻阅那篇长文《TLS 研商剖判 与 当代加密通讯左券设计》。由此可知,在布局 CipherSuite 时,请必须参照他事他说加以考察权威文书档案,如:Mozilla 的推荐配置、CloudFlare 使用的安插。

以上 Mozilla 文书档案中的「Old backward compatibility」配置,以及 CloudFlare 的配备,都得以很好的同盟老旧浏览器,包罗 Windows XP / IE6。

事先见到有个别大厂商以致协助包涵 EXPORT 的 CipherSuite,那几个套件在上世纪由于美利坚合众国出口限制而被弱化过,已被占有,实在未有理由再利用。

编辑:美高梅游戏网站 本文来源:H5游戏开垦,的部分经历分享

关键词:

  • 上一篇:没有了
  • 下一篇:没有了