边玩Minecraft边学CSS的定位方式
2017-07-06 本文已影响0人
XY圆圆
相对定位、绝对定位
准备工作
background:url('images/grass.png')
<p>将上次的土块模型中的background换成土块
在css块状结构中换背景图
但是将图形放上去以后被拉升了
要使图像像素保持不变,有一个css的background-size来限定
</p>
background-size: contain;是限定在盒装大小之内
![](https://img.haomeiwen.com/i6669065/afee78499842db8f.png)
最后一步:在顶上放一朵小花
![](https://img.haomeiwen.com/i6669065/0e222b7f44a8dbe4.png)
在css中写了一朵花的样式,然后在HTML中加入新的标签样式
![](https://img.haomeiwen.com/i6669065/62130446bd2c5a66.png)
相对定位
目标:把花移动到第二层空白的位置
相对定位:定位系统的参照坐标系和坐标点
相对于自己之前本应该在的位置的偏移量
![](https://img.haomeiwen.com/i6669065/a7941d1792abd568.png)
距离顶部偏移64px,距离左侧偏移128px
position: relative;
left: 64px;
top:64px;
![](https://img.haomeiwen.com/i6669065/96967c4f1657a2dc.png)
之前的空白占位不会消失
绝对定位
![](https://img.haomeiwen.com/i6669065/de3264efa412f773.png)
position: absolute;
在css中加入一行代码后小黄花的占位消失了
![](https://img.haomeiwen.com/i6669065/2709f16621c6f934.png)
![](https://img.haomeiwen.com/i6669065/6a45795c3087a23d.png)
![](https://img.haomeiwen.com/i6669065/cb48c7d755706be3.png)
![](https://img.haomeiwen.com/i6669065/b3b0e55e74b98590.png)
问题的原因是yellow-flower的父级没有定义是absolute还是relative
![](https://img.haomeiwen.com/i6669065/e6e99846ed132263.png)
出现刚刚偏差的原因:当上次没有定义是绝对还是相对的时候就会往上追溯,刚才BG的父级是body,由于默认的margin不为0,就有了8px的偏差
基于定位的居中
body{ margin:0;
background:url('images/brick.jpg');
background-size:150px 150px;}
居中定位之前的准备工作
![](https://img.haomeiwen.com/i6669065/ce3be5d4037832d3.png)
用绝对定位的百分百
内层元素处于外层元素的50% 的位置
要先把定位方式改成absolute
position: absolute;
left:50%;
top:50%;
![](https://img.haomeiwen.com/i6669065/07840aa19e5db124.png)
![](https://img.haomeiwen.com/i6669065/a5ebb8c0389ce7f3.png)
transform: translate(-50%,-50%);
![](https://img.haomeiwen.com/i6669065/833d5acad51d2c0a.png)