定位网页元素

一、postion定位

  <div id="father">
    <div class="box1">第一个盒子</div>
    <div class="box2">第二个盒子</div>
    <div class="box3">第三个盒子</div>
  </div>
示例图

1.postion相关属性值

postion相关属性值
1.1 static属性值
  • HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。


    默认遵循正常文档流
1.2 relative属性值
  • 相对定位:相对自身原来的位置进行偏移
    偏移设置:top、left、bottom、right

  • left和top正、负取值的方向


    取值方向
  • 示例:将第一个盒子相对自己原来的位置进行移动

    .box1{
          position: relative;
          left: 10px;
          top: 10px;
    } 
    
相对定位
  • 相对定位元素的规律
    (1)设置相对定位的盒子会相对它原来的位置,通过指定偏移,到达新的位置
    (2)设置相对定位的盒子仍在标准文档流中,它对父级盒子和相邻的盒子都没有任何影响
    (3)设置相对定位的盒子原来的位置会被保留下来
1.3 absolute属性值
  • 偏移设置: left、right、top、bottom .

  • 绝对定位不设置偏移量
    设置了绝对定位但没有设置偏移量的元素将保持在原来的位置。
    在网页制作中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况


    不设置向上的偏移量,盒子仍然位于原来的位置
  • absolute 注意的几个点
    示例:将第二个盒子用绝对定位进行布局
    (1)使用了绝对定位的元素以它最近的一个“已经定位”的“祖先元素” 为基准进行偏移,例下:

    #father{
          border: 1px solid black;
          width: 500px;
          margin: 0 auto;
          position: relative;    /*设置父类元素相对定位*/
      }
    /**/
    .box2{
          position: absolute;
          left: 100px;
          top: 40px;
      }
    
父类设置了相对定位时

(2)如果没有已经定位的祖先元素,会以浏览器窗口为基准进行定位,例下:


父类没设置相对定位时

(3)绝对定位的元素从标准文档流中脱离,这意味着它们对其他元素的定位不会造成影响,例下
当二个盒子进行绝对定位操作时,其他两个盒子的定位并不会时候到影响

其他元素不会受到影响

(4)元素位置发生偏移后,它原来的位置不会被保留下来

1.4 fixed属性值
  • fixed为固定定位
  • 偏移设置: left、right、top、bottom
  • 类似绝对定位,不过区别在于定位的基准不是祖先元素,而是浏览器窗口
    相当于固定在浏览器窗口的位置,在浏览器上下滚动时,不会对元素造成影响
1.5 sticky属性值
  • stucky为粘性定位
  • 它会产生动态效果,很像relative和fixed的结合:一些时候是relative定位(定位基点是自身默认位置),另一些时候自动变成fixed定位(定位基点是视口)

2.定位小结

  • 注意:相对定位限制绝对定位

意思是当父类设置相对定位时,子类设置绝对定位,子类的变化只是会在父类容器里面去变化,父类随意移动,子类也会随父类一起移动变化

2.1 相对定位
  • 特性
    (1)相对于自己的初始位置来定位
    (2)元素位置发生偏移后,它原来的位置会被保留下来
    (3)层级提高,可以把标准文档流中的元素及浮动元素盖在下边
  • 使用场景
    相对定位一般情况下很少自己单独使用,都是配合绝对定位使用,为绝对定位创造定位父级而又不设置偏移量
2.2 绝对定位
  • 特性
    (1)绝对定位是相对于它的定位父级的位置来定位,如果没有设置定位父级,则相对浏览器窗口来定位
    (2)元素位置发生偏移后,原来的位置不会被保留
    (3)层级提高,可以把标准文档流中的元素及浮动元素盖在下边
    (4)设置绝对定位的元素脱离文档流
  • 使用场景
    一般情况下,绝对定位用在下拉菜单、焦点图轮播、弹出数字气泡、特别花边等场景
2.3 固定定位
  • 特性
    (1)相对浏览器窗口来定位
    (2)偏移量不会随滚动条的移动而移动
  • 使用场景
    一般在网页中被用在窗口左右两边的固定广告、返回顶部图标、吸顶导航栏等

二、z-index属性

1.z-index属性概念

z-index 属性指定一个元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

  • z-index属性值:整数,默认值为0
  • 设置了position属性时,z-index属性值可以设置各元素之间的重叠高低。
  • z-index值大的位于值小的层上方。
z-index概念图

2.示例

  • html代码

     <div>
      <img src="./day1/练习4:flex布局练习/image/book.jpg" alt="图书" class="img"/>
      <h1 class="text">书名:创新公司</h1>
    </div>
    
  • css代码1:

    <style>
      .text{
          left: 0;
          top: 0;
          position: absolute;
          
          z-index: 1;
      }
      .img{
          height: 200px;
      }
      </style>
    

当.text的z-index的值设为1时,文字在图片上方


文字在图片上方
  • css代码2

    <style>
      .text{
          left: 0;
          top: 0;
          position: absolute;
          
          /* z-index: 1; */
          z-index: -1;
      }
      .img{
          height: 200px;
      }
    </style>
    

当.text的z-index的值设为-1时,文字在图片下方


文字在图片的下方

三、网页元素透明度

1.opacity属性

值:从0到1(完全透明到不透明),值越小越透明
对背景和文字都能进行透明化
  • html代码

    <body>
        <div class="div1">元素1</div>
        <div class="div2">元素2</div>
    </body>
    
  • css代码

    <style>
      .div1{
          height: 200px;
          width: 200px;
          background-color: red;
          /* opacity: 0.5; */
          color: black;
      } 
    
      .div2{
          height: 200px;
          width: 200px;
          margin-top: 50px;
          background-color: red;
          opacity: 0.5;
          color: black;
      }
    </style>
    
  • 呈现效果


    opacity透明度

2.rgba属性

值:从0到1(完全透明到不透明),且值位于rgba第四位。
例如:rgba(145,232,178,0.5)
只是对背景颜色进行透明化,对文字无效果
  • css代码

    <style>
      .div1{
          height: 200px;
          width: 200px;
          background: rgba(255, 0, 0, 0.5);
          color: black;
      } 
    
      .div2{
          height: 200px;
          width: 200px;
          margin-top: 50px;
          background: rgb(255, 0, 0, 1);
          color: black;
      }
    </style>
    
  • 呈现效果


    rgba透明度

3.Filter属性

filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。
  • 例如,代码

     .img{ 
          filter: opacity(50%);
     }
    
透明度对比

4.opacity和rgba以及filter的区别

  • 有opacity属性的所有后代元素都会继承 opacity 属性,设置了该属性的元素的所有后代子代都会被透明化
  • rhba后代元素不会继承透明属性,一般只是作用于背景
  • filter一般属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度),一般制作用于图片
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349