HTML定位——绝对定位和相对定位、固定定位

一,HTML中为什么需要定位?

1、浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子

2、定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子

二,定位

1.定位的组成

定位=定位模式+边偏移

定位模式:定位模式用于指定一个元素在文档中的定位方式。

边偏移:边偏移则决定了该元素的最终位置。

2,绝对定位

  • 绝对定位指的是通过规定HTML元素在水平和垂直方向上的位置来固定元素,基于绝对定位的元素不会占据空间。
  • 绝对定位的位置声明是相对于已定位的并且包含关系最近的祖先元素。如果当前需要被定为的元素没有已定位的祖先元素作为参考值,则相对于整个网页。
代码展示:
<style>
    .big {
        width: 900px;
        height: 600px;
        background-color: black;
        position: relative;
    }

    .box4 {
        width: 150px;
        height: 100px;
        background-color: red;
         position: absolute;
        top: 150px;
        left: 200px; 
    }
</style>
<body>
    <div class="big">
        <div class="box4"></div>
    
    </div>



效果图如下:

编辑

3、相对定位

  • 相对定位与绝对定位的区别在于它的参照点不是左上角的原点,而是该元素本身原先的起点位置。并且即使该元素偏移到了新的位置,也仍然从原始的起点处占据空间。
  • <style>
        .wrap {
            width: 900px;
            height: 600px;
            background-color: black;
            position: relative;
        }
        
        .box1 {
            width: 150px;
            height: 100px;
            background-color: aqua;
            position: relative;
            left: 100px;
            top: 10px;
        }
        
        .box2 {
            width: 150px;
            height: 100px;
            background-color: antiquewhite;
            /* position: relative; */
            left: 130px;
            bottom: 50px;
        }
        
        .box3 {
            width: 150px;
            height: 100px;
            background-color: olivedrab;
            /* position: relative; */
            left: 170px;
            bottom: 100px;
        }
        
        .box4 {
            width: 150px;
            height: 100px;
            background-color: lightcoral;
            position: absolute;
            top: 150px;
            left: 200px;
        }
     
        
        .box6 {
            width: 150px;
            height: 100px;
            background-color: rgb(27, 173, 83);
        }
    </style>
    
    <body>
    
        <div class="wrap">
            <div class="box1"></div>
            <div class="box2"></div>
            <div class="box3"></div>
            <div class="box4"></div>
            <div class="box5"></div>
            <div class="box6"></div>
        </div>
    </body>




效果图如下:

编辑

3、固定定位


position:fixed;


固定定位永远都会相对于浏览器窗口进行定位,固定定位会固定在浏览器的某个位置,不会随滚动条滚动。最常用的就是电脑里面是不是弹出的小广告,如果你不差掉它,当时滑动鼠标查看网页时,小广告一直会在那里,还有常用的就是网站或者APP的导航栏和底部的选择栏。

4,静态定位 (默认)


选择器 { position:static;}


5、粘性定位
选择器 {position:sticky;}

三、定位的扩展

1、绝对定位盒子的居中算法
加了绝对定位i的盒子不能通过 margin:0 auto;水平居中,但是可以通过以下计算方法实现水平和垂直居中。
(1)left:50%; :让盒子的左侧移动到父级元素的水平中心位置。
(2)margin-left : -100px; : 让盒子向左移动自身宽度的一半。

2、定位的特殊性

绝对定位和固定定位也和浮动类似。
(1)行内元素添加绝对或者固定定位,可以直接设置高度和宽度。
(2)块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。

结语;今天的分享就到这了,有什么问题请私信,谢谢。

#哔哩哔哩实习#
全部评论
很细致
1 回复 分享
发布于 2022-08-20 14:15 安徽
这个很实用,感谢分享
点赞 回复 分享
发布于 2022-08-18 12:00 陕西

相关推荐

今天周一休息,突发奇想写一篇阶段总结。如题,我已经去了一个和Java彻底毫无关联的行业。曾经我以为自己能在计算机行业发光发热,没想到刚入行一年多就当了逃兵。从最开始的热爱到现在一看到代码就厌恶,不知道自己经历了什么。所以我去干什么了?答案是:在成都当了租房销售。上班那会压力大了就念叨着去干租房中介,但是一直下不去这个决心,想着自己学了四年多的计算机知识,终究还是不甘心。终于在某一天准备八股文的时候,看着无数篇和工作内容关系不大的理论知识,那一刻下定决心,决定尝试一下销售行业,也算是给自己一个交代。后面阴差阳错的投了成都自如去当租房管家,没想到面试很顺利,在当天一百多个面试的人里面,我成为了为数不多通过的几个幸运儿之一。目前已经培训通过,正式入职,也开了单,也有压力但是每天过得很开心,真心喜欢那种和人交流的感觉,哪怕是最后没有选择找我租房。说这些也是想告诉那些大三,大四正在找Java实习而焦虑的同学:你们现在还年轻,选择很多,容错率也很高,可以尽情去尝试自己喜欢的行业和工作。不用因为某一次的面试没通过或者简历石沉大海而焦虑,更不用因为身边人都在挤编程的独木桥就强迫自己跟风。也算是自己的碎碎念吧,也希望自己能在新的领域取得一点小成就。也祝牛油工作顺利!
沉淀小子:干啥都不丢人啊,生存是必须要的,销售很考验一个人综合素质能力的,好的销售人脉和资源可不比写字楼的白领差啊
点赞 评论 收藏
分享
03-03 19:02
已编辑
东华理工大学 Node.js
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务