绝对定位right:0;无效_女屌丝前端逆袭记(四)之定位

相信看过我前面写过的三篇文档,对float、盒子模型、边距有了认识,那么我接下来介绍的这个可谓在布局中起到一个重要的作用,它就是"定位”。

定位的作用:定位可以让元素摆放在你想要摆放的位置。

先来看定位的模式:

在css中,position属性用于定义元素的定位模式,其基本语法格式如下,属性值的说明如图1所示:

选择器{position:static|relative|fixed|absolute|inherit}

d47aa758cfc6e404ec98b271102c7abf.png

图1.position属性值的说明

其次是元素的定位属性(边偏移),如图2所示:

d670eef317785b9eca1948baa776143a.png

图2.使用定位后的边偏移

比如top:10px;left:40px等。

常用的定位是:相对定位、固定定位、绝对定位。

1.静态定位:对于边偏移无效,一般用他清除定位,它相当于标准文档流。

2.相对定位

相对定位:相对于自身原来的位置进行定位,原来的位置保持不变,没有脱离标准文档流。

如果想为元素设置相对定位,需要设置position:relative;,被设置的元素是相对于自身原来的位置进行定位。可以通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置,然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性值大小确定,偏移前的位置保持不变。比如我们想要让一个div元素相对当前位置下移50px,如图3所示。

1297cf1099f0292c869ec1167a263108.png

图3.设置相对定位的盒子

2.绝对定位:相对于第一个父元素进行定位,常用在图标或者需要放在某个元素上面的盒子,脱离标准文档流并会发生元素模式转换(转换为行内块元素)。

如果想为元素设置绝对定位,需要设置position:absolute;,这条语句的作用将元素从文档流中脱离出来,不占用原来元素自身的空间位置,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父级元素进行绝对定位。如果不存在就逐级向上排查,直到相对于body元素,即相对于浏览器窗口,如图4所示。

f1aaeea847def8107a4898968f24ccb6.png

图4.给盒子2设置绝对定位后的效果

从图片显示效果可以看出,给盒子2设置绝对定位后,盒子1跑到了盒子2的下面。

3.固定定位:相对于浏览器窗口进行定位,常使用固定导航,脱标并会发生元素模式转换(转换为行内块元素),此处我就不演示了,可以自己写一下。

如果想为元素设置固定定位,需要设置position:fixed;,直接以浏览器窗口作为参考进行定位,它是浮动在页面中,元素位置不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小。因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响。

通常相对定位和绝对定位配合使用:子元素使用绝对定位,最近的父元素必须使用相对定位。

当然可以。以下是一份Java版本的《屌丝逆袭》策划案: 一、游戏概述 《屌丝逆袭》是一款以逆袭为主题的Java游戏。玩家将扮演一个屌丝角色,通过挑战各种任务和关卡,逐渐提升自己的能力,成为一名成功人士。游戏采用2D横版的画面风格,操作简单易上手,适合各种年龄段的玩家。 二、游戏玩法 1.人物设置 玩家可以选择男角色,并自定义角色的外观和属性。角色属性包括力量、敏捷、智力和生命值等,不同属性会对游戏过程产生不同的影响。 2.关卡设置 游戏分为多个关卡,每个关卡有不同的任务和挑战。玩家需要通过关卡,完成任务,获得金币和经验值,提升自己的能力。随着关卡的逐渐升级,任务和挑战也会变得越来越难。 3.装备系统 游戏中设置不同等级的装备,玩家可以通过购买或任务奖励获得装备,提升自己的属性和能力。不同的装备有不同的属性加成,玩家需要根据自己的需求和游戏情况选择合适的装备。 4.商城系统 游戏中设置商城,玩家可以通过金币或充值购买各种道具和装备。商城中的物品种类繁多,包括装备、技能书、药品等,可以帮助玩家在游戏中更好地完成任务和挑战。 5.技能系统 游戏中设置各种技能,玩家可以通过任务奖励或商城购买技能书,提升自己的技能等级。不同的技能有不同的效果,可以帮助玩家在游戏中更好地应对不同的挑战和任务。 6.成就系统 游戏中设置成就系统,玩家可以通过完成特定的任务和挑战获得成就称号和奖励。成就系统不仅可以帮助玩家提升自己的游戏体验,还可以增加游戏的乐趣和挑战性。 三、游戏特点 1.简单易上手,适合各种年龄段的玩家; 2.丰富的角色和装备系统,可以让玩家自由选择和定制自己的角色; 3.多样化的任务和挑战,可以让玩家在游戏中不断挑战自我,提高自己的能力; 4.成就系统和商城系统,可以让玩家获得更多的奖励和乐趣; 5.游戏采用Java语言编写,具有良好的稳定性和可移植性。 、游戏技术实现 1.游戏采用Java语言编写,使用Eclipse或IntelliJ IDEA等开发工具; 2.游戏采用Java2D图形库实现2D横版画面风格; 3.游戏采用MySQL数据库存储玩家数据; 4.游戏采用Java Socket实现多人联机模式; 5.游戏采用Java Swing实现用户界面和控件。 以上是一份Java版本的《屌丝逆袭》策划案,希望能够对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值