移动端布局vw和vh、em与rem

JavaScript023

移动端布局vw和vh、em与rem,第1张

盒模型是由padding、margin、width、height 这几个属性构成的。一个元素在网页中占据的真正空间大小就是盒模型的大小,而非简单的宽高值。

padding 和 margin 在设置百分比时,纵向的值并不是按照父级的 height 来计算的 ,而是按照宽度。

margin 四个方向的百分比均是按照父元素的宽度(640px)进行计算的,也就是说,每个p标签的宽度为 116px(18%),高度就是220px(83%),如此计算,一个p元素盒模型的大小为 128px*308px。

CSS 的基本模型着重于 排版 的需求,因此水平和垂直方向上的排版并不是同等权重的。当文字排列方向为横向排列时,就采用水平方向上的排版模式。排版默认是水平宽度一定,垂直方向上可以无限延展。当文字排列方向为纵向时,就采用垂直方向上的排版模式,也就是高度一定,水平方向上无限拓展。

使用百分比设置内外边距时,文字书写方向就决定了 margin、padding 是按照 height 还是 width 来计算。

宽度和高度,设置百分比时,就是按照对应父盒子的宽高(不是总宽总高,换句话说,不包含内外边距)来计算的。

行高设置百分比时,是针对当前元素的字体尺寸来进行计算的。比如,当前元素默认字体大小为 16px,那设置行高 line-height: 100% ,也就是 line-height: 16px ,也等同于 line-height: 1 。

vw、vh、em、rem,这些单位都是在CSS3中新增的相对度量单位。但是在移动端开发中,应该选取哪个单位作为主力开发?

em :em 是相对于当前对象内文本的字体大小进行设置的。如果当前对象内文本字体尺寸为被 人为设置 ,则相对于人为设置的值。换句话说,如果当前div字体大小为12px,那 1em=12px。由于每一级都需要进行单独的计算,所以很不适合用来做移动端的相对度量单位;

rem :这个单位,在刚出来不久,就让每个开发人员都眼前一亮。虽然 rem 也是和字体相关的相对度量单位,但是,它比em更加简单方便。首先,rem 是按照根元素字体的大小进行设置的,所以只要在根元素设置字体大小,不管在哪一个元素使用rem,都是不会受到其他影响的。

有了 rem 这个特性,它就能与 JS 配合,很好地解决了移动端的各种像素大小问题。首先通过JS获取设备宽度,然后根据设备宽度来调整HTML这个元素的文字大小。

由于新增的初期,vw 的兼容性是非常不容乐观的,各大主流浏览器都阵亡的前提下,rem + JS 独占了移动端端一个主流布局方式。

vw、vh 是针对移动设备,如果视窗的大小发生改变,这两个值也会跟着发生相应的变化。所以在使用情况上来看,vw 比 rem 更加的智能。由于现在的主流浏览器对vw的兼容性是非常成熟的,所以现在移动端布局主要考虑 vw。

开设设计稿的宽度是 350px,设计稿中一个盒子的大小为 100px * 100px,那如果想将100px转换成vw单位,首先要知道在设计稿中,1vw 代表的像素是多少,比如这里设计稿是350px,那1vw = 350 / 100 = 3.5px,那盒子大小为100px,换算成vw就是 100 / 3.5 = 28.57vw。

具体换算可以按照下面的公式

750px下测量的宽度 / 750 * 100)

《特效化妆师大对决》百度网盘高清资源免费在线观看: 

链接: https://pan.baidu.com/s/1v07nZKOz2T9tLCvWJSuHUQ

提取码:g22m  

美国一部真人秀节目,本节目比拼的是选手在模特身上制作科幻和恐怖电影中的人体特效。

我的世界怎么获得玩家头颅呢,其实需要玩家们将指定透露编写到僵尸的身上,然后击杀僵尸便可以获得,小编在这里为玩家们介绍详细操作流程。

以前1.7时刷出带玩家头颅的生物十分简单,指令格式就是:

/summon Zombie ~ ~1 ~

{Equipment:[{},{},{},{},{id:"minecraft:skull",Damage:3,Count:1,tag:{SkullOwner:PotatoMaster101}}]}

SkullOwner后面就填写正版玩家的名字,然后就会刷出一个带着他的头颅的僵尸。但是,1.8出来后,用此指令刷出的僵尸并不会带着玩家头颅,而只会带着一个默认的玩家头颅。所以,要如何刷出一个带着PotatoMaster101玩家的头颅的僵尸呢??

这条指令是:

/summon Zombie ~ ~1 ~

{Equipment:[{},{},{},{},{id:"minecraft:skull",Damage:3,Count:1,tag:

{SkullOwner:{Name:"PotatoMaster101",Id:"cb2671d5-90b8-4dfe-9b1c-73683d451d1a",

Properties:{textures:[0:{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDEsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",

Signature:"p19+tj7CgYGhHox4rz7OXyLA9uiF770W19RrRuMu0ZJhL476U68H82A1Ic07gf93ipxNxkzXUHTlDUsi//K1ROAmqCII25jDY7HDskkgjGuAg0QAHcWslJQ8hsDhih4+qNdTdP0E5vYpIt+z4xdEDt8uZ4GNiaMC8lWqrcndNnM034c7EZ8ZqZ9NhKbBDyxkdR0WouDVPvvzWVpU+BsMt9ojw1lhLgDJQ/bA1ei94at42YVYEz2nnJ8iK9HJnU0g9QbHDGAeIoGysqN7Ps22yUtg4Bwun13c/uDe68X8WXQ1SImMINPNYMzPfjErOamwzVW/J0uiM90Htn93HbuNgLXkZZDPiez/G1KnoWcQzodDjpbHfT5p9IHcKN4cDcCS7UpLxmH5D8v8//Oo8qeJisQC34F1DrRaKDh6Ryn3y5+/JGxqHr5QO7ACtotubsAxEv1ODc95Ra1OETXuU38k5OLSu/a/dV/vhvm+gskfPBmpM4eZj9E8HLDeV1Aac9Zgljh8z5vKeYT6H+IO5R+jTZ1ji+BCB5csyEPcmZqdgnSg+V2Fw4cfq5L3Bi8mWAdlkYNhhdyyfVFzGzTq4n8DcDjMMNkcRgTpfq/f5pasK+hFKZG1a46a1u/buKIGS72NnoIxgu4LsGjjT/NRHt5tr8pYQjP5NkX5SQ2xPycoN8k="},

{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDgsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",Signature:"yG+gsPF3+5IIqVJYLLQ5VF8Q64dt3j0RYn7odoeoOm/7cIo8xmJu5U3ohpC+mzGh7fJfYXkVUOHZhzbBS3sfkFYMfKgVPtCjXOKv/ZWqEbvs3sVePqu8Gz3qFt6P0UWk2PE/BaVF8m3U6/d4/mjdk0hTa0lGKqbDpFGV1T1P7jEAi4VMEgmN8b0wc9tSBU665F/iD4/TJR4q7g8QuFHvJn9VcwQh8er7cFtxGYKc7LEbqWO5F+8LDu52zClFOV1BuYDlk0dcXXwxolurUwXATKXGyrKCD4IthbCihFFCu0HZa5ytYiuaoxXQ3b1zr9iCjWmVib0wVBCIDVqiU9NLReFZG2TdX2l7XLAl//HfvHIog0DHb4huU0py8PDO2oW+i1iVCwFFIcHrYSpyOeOxpfVSyg8x4+5zCs+A9VPJ+sfWc74CwYsVculQTAH9YnTp+ZKcJxQsDs3Cq/ByMWurnFLQa3v8kd/cHQVjGp5OipPgd959/ce7kMcWu/ndEHvWjsr2N0bGAZRkB4wU9s+0hpwlrfknbYxkCkjwhvxuZLprHaDUSiura0r64XkaiM659enDWIPGkKRWQAfVRqqG+HAhtg1HymZAXLGzQUa5oGDDunndiTK6iAk8hzn7YlMShZDG0efZ38T60U3epykVwqlXZgCeuHUqoqx9SyjjSRY="}]}}}}]}

大家别被吓到。这就是1.8新的刷出带玩家头颅生物的指令。因为MC1.8玩家的皮肤什么储存都变了,所以要加入特殊的属性。之后大家会问:指令里98%都是乱码,我们怎么知道这些都是什么东西??我们怎么编写一个这样的指令??

于是,Theqmagnet就创造出了一种可以刷出自定义玩家头颅生物的方法。这个方法也是比较复杂。

教程

首先,要做的是随便放置一个指令方块,然后上面放一个箱子。十分简单,普通箱子就可以。之后就是重点。要做的是,用/give指令刷出一个自定义玩家头颅。MC1.8里,/give指令还是可以像以前那样刷出自定义玩家头颅的,不需要任何数据什么,但/summon不行了。/give刷出的指令格式是:

/give @p minecraft:skull 1 3

{SkullOwner:(玩家名字)}

这个和1.7一样,我就不多说了。玩家名字处填写要自定义玩家头颅生物的玩家头颅。比如要我的头颅就写PotatoMaster101。之后是难点。大家要做的是:把刚才/give拿到的头颅放在地上,然后换回生存模式,打爆头颅。之后拿起头颅。因为创造模式打坏东西不掉落,只有生存才会掉落。玩 家会问:那不是一样吗?头颅还是老样子,答案是错,因为:/give刷出头颅后,那个头颅就和以前1.7的一样,放在地上后会变换成玩家的头颅。但 是,MC1.8后,头颅里面就会包含自定义信息。所以,我们需要带有的自定义信息的头颅。很简单,一旦头颅放在地上后变换成玩家头颅后,游戏会自动给头颅 加入信息,所以我们就不需要担心了。用生存打坏已经加好信息的头颅再把他捡起来,那就有MC1.8自定义信息的头颅了。(注意!!一定要确认游戏的方块掉落开启了。可以用 /gamerule doTileDrops true 开启)

之后就是重点了!!我们需要提取他的信息。这就是箱子的作用了。MC1.8里/summon指令刷出自定义头颅生物的话一定要包含信息,不包含就不会刷出。

第一步:把刚才生存打坏的头颅放到箱子里去。注意箱子里别放其他东西,就放刚才打坏的一个头颅就可以了。之后就要控制箱子下面的指令方块了。指令方块里面的指令是:

/blockdata ~ ~1 ~

{Lock:""}

大家看见,这个指令就是把上面刚才放入头颅的箱子给锁掉了。玩家会问:这又有什么意思呢???错,意思很重要。激活指令方块后把箱子锁掉。然后再点开指令方块。MC1.7更新后指令方块升级了,不光可看指令,还可以看出指令激活后的输出。这就是我们需要的!!看指令方块的输出。因为输出里面会出现头颅的信息。之后教大家怎么看输出。点开指令方块后大家会发现有2个条,第一个是指令,下面一个就是输出了。玩家要的信息就在输出里面。比如我的输出就是:(不知怎么复制粘贴,用CTRL+a可以选择全部,然后用CTRL+c复制。粘贴用CTRL+v)。

[12:56:51] Block data updated to:

{Items:[0:{id:"minecraft:skull",Damage:3s,Count:1b,tag:

{SkullOwner:{Name:"PotatoMaster101",Id:"cb2671d5-90b8-4dfe-9b1c-73683d451d1a",

Properties:{textures:[0:{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDEsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",Signature:"p19+tj7CgYGhHox4rz7OXyLA9uiF770W19RrRuMu0ZJhL476U68H82A1Ic07gf93ipxNxkzXUHTlDUsi//K1ROAmqCII25jDY7HDskkgjGuAg0QAHcWslJQ8hsDhih4+qNdTdP0E5vYpIt+z4xdEDt8uZ4GNiaMC8lWqrcndNnM034c7EZ8ZqZ9NhKbBDyxkdR0WouDVPvvzWVpU+BsMt9ojw1lhLgDJQ/bA1ei94at42YVYEz2nnJ8iK9HJnU0g9QbHDGAeIoGysqN7Ps22yUtg4Bwun13c/uDe68X8WXQ1SImMINPNYMzPfjErOamwzVW/J0uiM90Htn93HbuNgLXkZZDPiez/G1KnoWcQzodDjpbHfT5p9IHcKN4cDcCS7UpLxmH5D8v8//Oo8qeJisQC34F1DrRaKDh6Ryn3y5+/JGxqHr5QO7ACtotubsAxEv1ODc95Ra1OETXuU38k5OLSu/a/dV/vhvm+gskfPBmpM4eZj9E8HLDeV1Aac9Zgljh8z5vKeYT6H+IO5R+jTZ1ji+BCB5csyEPcmZqdgnSg+V2Fw4cfq5L3Bi8mWAdlkYNhhdyyfVFzGzTq4n8DcDjMMNkcRgTpfq/f5pasK+hFKZG1a46a1u/buKIGS72NnoIxgu4LsGjjT/NRHt5tr8pYQjP5NkX5SQ2xPycoN8k=",},

{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDgsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",Signature:"yG+gsPF3+5IIqVJYLLQ5VF8Q64dt3j0RYn7odoeoOm/7cIo8xmJu5U3ohpC+mzGh7fJfYXkVUOHZhzbBS3sfkFYMfKgVPtCjXOKv/ZWqEbvs3sVePqu8Gz3qFt6P0UWk2PE/BaVF8m3U6/d4/mjdk0hTa0lGKqbDpFGV1T1P7jEAi4VMEgmN8b0wc9tSBU665F/iD4/TJR4q7g8QuFHvJn9VcwQh8er7cFtxGYKc7LEbqWO5F+8LDu52zClFOV1BuYDlk0dcXXwxolurUwXATKXGyrKCD4IthbCihFFCu0HZa5ytYiuaoxXQ3b1zr9iCjWmVib0wVBCIDVqiU9NLReFZG2TdX2l7XLAl//HfvHIog0DHb4huU0py8PDO2oW+i1iVCwFFIcHrYSpyOeOxpfVSyg8x4+5zCs+A9VPJ+sfWc74CwYsVculQTAH9YnTp+ZKcJxQsDs3Cq/ByMWurnFLQa3v8kd/cHQVjGp5OipPgd959/ce7kMcWu/ndEHvWjsr2N0bGAZRkB4wU9s+0hpwlrfknbYxkCkjwhvxuZLprHaDUSiura0r64XkaiM659enDWIPGkKRWQAfVRqqG+HAhtg1HymZAXLGzQUa5oGDDunndiTK6iAk8hzn7YlMShZDG0efZ38T60U3epykVwqlXZgCeuHUqoqx9SyjjSRY=",},],},},},Slot:0b,},],id:"Chest",Lock:"""",z:135,y:5,x:-528,}

对,没错。信息已经全部都包含在指令方块的输出里面了。这个输出他会告诉你箱子的坐标,里面的物品,物品在箱子里的位置,指令方块激活时间等等。如果有物品的话他会显示物品的详细信息,所以头颅的信息也会显示出来!但是大家看这输出十分的乱,不知道信息在哪?这个也十分的简单。玩家要提取出信息的话就是复制粘贴。首先要做的就是把所有的输出复制粘贴到一个文档里,然后进行整理和删除不必要的地方,最后就留下信息,然后可以复制到/summon指令里。

OK。以上的输出的话,需要的地方就是:

{id:"minecraft:skull",Damage:3s,Count:1b,tag:

{SkullOwner:{Name:"PotatoMaster101",Id:"cb2671d5-90b8-4dfe-9b1c-73683d451d1a",

Properties:{textures:[0:{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDEsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",Signature:"p19+tj7CgYGhHox4rz7OXyLA9uiF770W19RrRuMu0ZJhL476U68H82A1Ic07gf93ipxNxkzXUHTlDUsi//K1ROAmqCII25jDY7HDskkgjGuAg0QAHcWslJQ8hsDhih4+qNdTdP0E5vYpIt+z4xdEDt8uZ4GNiaMC8lWqrcndNnM034c7EZ8ZqZ9NhKbBDyxkdR0WouDVPvvzWVpU+BsMt9ojw1lhLgDJQ/bA1ei94at42YVYEz2nnJ8iK9HJnU0g9QbHDGAeIoGysqN7Ps22yUtg4Bwun13c/uDe68X8WXQ1SImMINPNYMzPfjErOamwzVW/J0uiM90Htn93HbuNgLXkZZDPiez/G1KnoWcQzodDjpbHfT5p9IHcKN4cDcCS7UpLxmH5D8v8//Oo8qeJisQC34F1DrRaKDh6Ryn3y5+/JGxqHr5QO7ACtotubsAxEv1ODc95Ra1OETXuU38k5OLSu/a/dV/vhvm+gskfPBmpM4eZj9E8HLDeV1Aac9Zgljh8z5vKeYT6H+IO5R+jTZ1ji+BCB5csyEPcmZqdgnSg+V2Fw4cfq5L3Bi8mWAdlkYNhhdyyfVFzGzTq4n8DcDjMMNkcRgTpfq/f5pasK+hFKZG1a46a1u/buKIGS72NnoIxgu4LsGjjT/NRHt5tr8pYQjP5NkX5SQ2xPycoN8k=",},

{Value:"eyJ0aW1lc3RhbXAiOjEzOTgxNDI1ODMzMDgsInByb2ZpbGVJZCI6ImNiMjY3MWQ1OTBiODRkZmU5YjFjNzM2ODNkNDUxZDFhIiwicHJvZmlsZU5hbWUiOiJQb3RhdG9NYXN0ZXIxMDEiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VkZjNiY2MwYThlMjMwNGI4MTgyODdmMWVmYWMyYmRiYzc5OWZiMmNkYWFkODk5MjFlZDUyODEzM2Y2YTFmOSJ9fX0=",Signature:"yG+gsPF3+5IIqVJYLLQ5VF8Q64dt3j0RYn7odoeoOm/7cIo8xmJu5U3ohpC+mzGh7fJfYXkVUOHZhzbBS3sfkFYMfKgVPtCjXOKv/ZWqEbvs3sVePqu8Gz3qFt6P0UWk2PE/BaVF8m3U6/d4/mjdk0hTa0lGKqbDpFGV1T1P7jEAi4VMEgmN8b0wc9tSBU665F/iD4/TJR4q7g8QuFHvJn9VcwQh8er7cFtxGYKc7LEbqWO5F+8LDu52zClFOV1BuYDlk0dcXXwxolurUwXATKXGyrKCD4IthbCihFFCu0HZa5ytYiuaoxXQ3b1zr9iCjWmVib0wVBCIDVqiU9NLReFZG2TdX2l7XLAl//HfvHIog0DHb4huU0py8PDO2oW+i1iVCwFFIcHrYSpyOeOxpfVSyg8x4+5zCs+A9VPJ+sfWc74CwYsVculQTAH9YnTp+ZKcJxQsDs3Cq/ByMWurnFLQa3v8kd/cHQVjGp5OipPgd959/ce7kMcWu/ndEHvWjsr2N0bGAZRkB4wU9s+0hpwlrfknbYxkCkjwhvxuZLprHaDUSiura0r64XkaiM659enDWIPGkKRWQAfVRqqG+HAhtg1HymZAXLGzQUa5oGDDunndiTK6iAk8hzn7YlMShZDG0efZ38T60U3epykVwqlXZgCeuHUqoqx9SyjjSRY=",}

大家看见,输出里的时间物品什么都可以删除。只要把信息提取出来就可以了。以上就是信息。信息部分就是从Item的{Id 后面开始,然后结束到 Slot: 部分。之后就是要把信息加入到/summon指令里去了。(注意:这里本人推荐使用NotePad ++ 来编辑指令。因为NotePad ++ 也是一个编辑文本的软件,但是有编程的属性。所以可以看清括号什么,方便编辑指令不出错。)。之后就很简单,用/summon的话格式就是:

/summon Zombie ~ ~1 ~

{Equipment:[{},{},{},{},{(输入信息)}]}

大家看见,这里就是用了简单的{Equipment}。在最后一个括号里输入信息,因为那是头盔的位置,而头颅可以带在头盔位置。之后我就不多说了,大家自己整理下括号什么,最后就成功了。所以我说要NotePad++,分辨括号什么。