1

从植物大战僵尸谈谈CSS定位布局

 2 years ago
source link: https://blog.csdn.net/weixin_39570751/article/details/121941017
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

运行效果:

image.png

image.png

步骤1:先把页面搞一搞

首先,我们需要创建一个HTML页面,把场地图片引入进来。

image.png

注释已经写得很清楚了,读者自己看下css的含义即可,不必去深究。

步骤2:相对定位

相对定位就是移动一个标签,根据什么来移动呢?对了,就是根据它原来的位置移动,就这么简单。比如,我现在要移动这块场地,就这样做:

可以看到场地被往下移动了80px,top代表顶部距离原来位置的长度,类似的属性还有left,bottom,left。这个步骤只是为了展示,现在请把这一行代码删除吧。

top: 80px;

步骤3:绝对定位

绝对定位的意思,可以简单地这样理解,就是根据某一个相对定位(relative)的标签,从它的左上角顶点开始移动。我们来看案例:

image.png

如图所示,豌豆射手设置了

position: absolute;

因为外层div是相对定位,因此豌豆射手就相对于外层div做绝对定位。然后我们只需要调整topleft,就可以将豌豆射手放到它该去的地方。

image.png

大概是这个位置:

image.png

成功啦,好简单哦鼓掌,吧唧吧唧。哈哈哈,学会了吗,这就是绝对定位!

步骤4:浮动布局

所谓浮动布局,就是让一个标签要么左浮动,要么右浮动。让我们重新开一个页面吧。

放入一个豌豆

image.png

这种就叫做标准的文档流,img是行内标签,那么放置多个的时候,img也会从左往右依次排序。如果我要让豌豆以浮动的方式靠右浮动,看一下该怎么做?

image.png

可以看到,豌豆靠右边了。接下来,我们再放一个太阳,不加浮动。

image.png

可以看到,太阳是在豌豆的左边的,这就是浮动的好处,不管其他元素怎么排列,右浮动的豌豆就是漂浮在右边。再来说下什么叫做清除浮动?首先,我们把豌豆设置为左浮动,太阳设置为右浮动。

image.png

然后,我们再把外层div的高度注释掉:

image.png

image.png

发现,div变成了一条线,这是因为,当一个容器里面所有的元素都浮动了,那么容器的高度就会发生塌陷,解决办法是清除浮动。在最后一个浮动元素后面加上这个:

<div style="clear: both;"></div>

image.png

我们看到,div的高度被里面的元素重新撑起来啦!一般我们会有一个叫做clearfix的类,专门做这个事情的。清除浮动的办法有很多,但是我建议学这个就足够了。我们学的是技术,不是背一本字典。

<div class="clearfix"></div>

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK