• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

CSS 之 position 相对定位元素 absolute ,relative,fix 等

position 属性规定元素定位类型。这个属性定义建立元素布局所用的定位机制任何元素都可以定位:

  • 绝对固定元素会生成一个块级框,而不论该元素本身是什么类型

  • 相对定位元素会相对于它的正常默认位置进行偏移。

  • static 为 默认值

image.png

1. relative 演示

relative 是相对于 正常位置 偏移。它并不影响附近的元素

<html>
<head>

<style type="text/css">
  * {
      padding: 0;
      margin: 0;
  }
  div {
   border: 1px solid #000;
   width: 100px;
   height: 100px;
   margin: 100px
  }
  
  .box2{
   position: relative;
   background: orange;
  }
</style>

</head>

<body>
  <div class="box1">box1</div>
  <div class="box2">box2</div>
  <div class="box3">box3</div>
</body>

</html>


我们把 box2 (黄色) 改成 relative; 然后改变 left , right , top, bottom ,效果如下

image.png

1. absolute 演示

绝对定位的元素,相对于它的最近的已定位祖先元进行定位。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(一般是 body)

<html>
<head>
<style type="text/css">

  * {
      padding: 0;
      margin: 0;
  }
  
  .box1 {
   border: 1px solid #000;
   width: 100px;
   height: 100px;
   margin: 100px;
  }
  
  
  .box2{
   width: 30px;
   height: 30px;
   background: orange;
   position: absolute;
   
  }
  
</style>
</head>
<body>

  <div class="box1">
  
    <div class="box2">box2</div>
  </div>
  
  
  <div class="box1">
  
  </div>
</body>
</html>

情况一: box1 box2 祖先,但是 box1 不是定位,那么当 box2 绝对定位,它参照的是 body

image.png

情况二:想让 box2 参照 box1 定位,那么 box1 也要 已定位元素

  • 给 box1 加上样式 position: relative;

image.png


: 如果只是想让 box2 相对于 box1 定义,其实用 relative 更简单一点,直接将 box2 改成 relative 即可。



0
0
下一篇:Vue 项目浏览器内 Console 中显示 [HMR] Waiting for update signal from WDS 解决方案

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。