首页 > 其他分享 >CSS-position 定位

CSS-position 定位

时间:2023-11-27 14:47:35浏览次数:54  
标签:定位 盒子 solid top height position CSS

 

1.介绍

  • css定位属性允许对元素进行定位改变其在页面的位置。
  • css有三种基本定位机制:普通流、浮动和绝对定位。
  • 普通流的元素的位置由元素在html中的位置决定。

 

2.定位属性

  设置偏移量:left、right、top、bottom(左、右、上、下)

3.定位方式

 ①静态定位(static):(很少用)

    默认值,默认布局。

 ②相对定位(position:relative):(重点)
    设置偏移量:left、right、top、bottom
    不会脱离文档流(从上往下)

 

代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <title>Document</title>
 7     <!-- <link rel="stylesheet" href="../position.css/position1.css"> -->
 8 
 9     <style>
10         .box1{
11     width: 300px;
12     height: 200px;
13     border: 2px solid blue;
14     background-color: aqua;
15 }
16 .box2{
17     /* 盒子2宽高300*200 */
18     width: 300px;
19     height: 200px;
20     /* 盒子2边框、背景色 */
21     border: 2px solid black;
22     background-color: blueviolet;
23     /* 盒子2偏移量:上、左 */
24     top: 100px;
25     left: 100px;
26     /* 相对自己定位 */
27     position: relative;
28 }
29     </style>
30 </head>
31 <body>
32     <div class="box1">盒子1</div>
33     <div class="box2">盒子2</div>
34 </body>
35 </html>

视图:

 


 

 ③绝对定位(position:absolute):(重点)
    设置偏移量:left、right、top、bottom
    脱离文档流(从上往下)

代码:

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>
    <style>         /* 盒子1 */         .box1{             width: 200px;             height: 150px;             border: 2px solid black;             background-color: pink;         }         /* 盒子2 绝对固定 左偏移 100px */         .box2{             width: 200px;             height: 150px;             border: 2px solid blue;             background-color: palegreen;             /* 绝对固定 左偏移 100px  */             position: absolute;             left: 100px;         }         /* 盒子3 */         .box3{             width: 200px;             height: 150px;             border: 2px solid red;             background-color: purple;         }     </style> </head> <body>     <div class="box1">盒子1</div>     <div class="box2">盒子2</div>     <div class="box3">盒子3</div> </body> </html>

视图:


 

 ④父相子绝:(嵌套)(重点)
  配合使用:
    1.给父元素设置相对定位
    2.给子元素设置绝对定位
  此时,绝对定位是相对于父元素的。

相对定位:相对于自己进行偏移,绝对定位相对于整个页面进行偏移
     不单独使用绝对定位

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .box1{
            /* 盒子1 父元素 */
            width: 500px;
            height: 350px;
            border: 2px solid rebeccapurple;
            /* 相对定位  左边距为一半 */
            position: relative;
            left: 150px;
            top: 100px;
        }
        /* 盒子2 子元素 */
        .box2{
            width: 110px;
            height: 100px;
            background-color: yellow;
            border: 2px solid black;
            /* 盒子2 子元素 绝对定位 左偏移100px 上偏移200px */
            position: absolute;
            left: 100px;
            top: 200px;
        }
    </style>
</head>
<body>
    <!-- 嵌套 -->
    <div class="box1">盒子1
        <div class="box2">盒子2</div>
    </div>
</body>
</html>

视图:


 

 ⑤固定定位(position:fixed):

    不受滚动条影响
    不会脱离文档流;

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        /* body height设高一点 */
        body{
            height: 2000px;
        }
       /* 盒子2 */
       .box2{
        width: 50px;
        height: 88px;
        border: 2px solid gray;
        background-color: burlywood;
        position: fixed;
        right: 0px;
        top: 200px;
       }
    </style>
</head>
<body>
    <div class="box2">盒子2</div>
</body>
</html>

视图:


 

 ⑥粘性定位(position:sticky):

    超过阈(yu)值一直会定位;

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .box1{
            width: 88px;
            height: 188px;
            border: 2px solid black;
            /* 显示滚动条 */
            overflow: auto;
            /* 居中 */
            margin: 0px auto;
            /* 父元素 相对固定 */
            position: relative;
            top: 0px;
        }
        #li3{
            /* 粘性定位 top偏移20px */
            top: 20px;
            position: sticky;
            background-color: slategrey;
        }
        li{
            list-style: none;
        }
    </style>
</head>
<body>
    <div class="box1">盒子1 
        <li>列表1</li>
        <li>列表2</li>
        <li id="li3">列表3</li>
        <li>列表4</li>
        <li>俩表5</li>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
        <li>列表4</li>
        <li>俩表5</li>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
        <li>列表4</li>
        <li>俩表5</li>
    </div>
</body>
</html>

 

视图:

 

 

4.扩展

  • 居中盒子--margin: auto
  • overflow:auto--滚动条
  • 设置元素的堆叠顺序(z-index):
    • 需定位;
    • 数字越小,越在下展示;数字越大,越在上展示;



   

 

标签:定位,盒子,solid,top,height,position,CSS
From: https://www.cnblogs.com/warmNest-llb/p/17858965.html

相关文章

  • 直播平台制作,css之如何清除浮动
    直播平台制作,css之如何清除浮动<styletype="text/css">  li{    list-style:none;    height:100px;    width:100px;    float:left;    background:red;    margin-left:20px;  }     .father:after,......
  • uniapp接入腾讯地图实现定位导航功能。
    转自:https://blog.csdn.net/qq_54753561/article/details/129500254 打开腾讯地图的官网注册账号登陆进入,滑入我的头像开发者信息:https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview 2找到添加的应用,添加key 3 webService API查询 4然后......
  • 【略读论文|时序知识图谱补全】Tucker Decomposition with Frequency Attention for T
    会议:ACL,时间:2023,学校:北京航空航天大学,多伦多大学关键词:基于张量分解;频率注意力;正则化摘要:之前基于张量分解的TKGC模型存在仅独立考虑一种关系与一个时间戳的组合,忽略了嵌入的全局性质的问题。本文的方法:一种频率注意力(FA)模型来捕获一个关系与整个时间戳之间的全局时间依赖性。......
  • css选择
     类型选择器类型指h1,p,a这类h1{color:red;} 全局选择器以*开头  类选择器.highlight{background-color:yellow;}<h1class="highlight">Classselectors</h1>指向特定元素类span.highlight{background-color:yellow;}<p>Veggiesesbonusvobis,pr......
  • css基本
    css被称为样式语言本人理解html如是房子css即是装修p{color:red;  width:500px;  border:1pxsolidblack;} p整个结构称为规则p->为选择器选择多个元素p,h1{color:red;}<linkhref=pathrel=stylesheet/> paddingbordermarginbackground-......
  • vue 根据js的变量来设置css 里面的属性的属性值
    1.通过动态绑定style,声明css变量"--fontColor",把变量”fontColor”赋给“--fontColor”2.在css中使用var函数读取“--fontColor”变量点击查看代码<template><divclass="wen_style":style="{'--fontColor':fontColor}">当前字体的颜色......
  • 超宽带无线通信技术(UWB)源码,室内定位系统
    UWB超宽带定位技术概念:   超宽带无线通信技术(UWB)是一种无载波通信技术,UWB不使用载波,而是使用短的能量脉冲序列,并通过正交频分调制或直接排序将脉冲扩展到一个频率范围内。UWB的主要特点是传输速率高、空间容量大、成本低、功耗低等,必将成为解决企业、家庭、公共场所等高速因......
  • css伪类选择器
    点击查看代码:nth-child(){},用来选择父元素下的第n个子元素。注意::nth-child(){}是根据父元素下所有子元素进行排序:nth-child(2n){},选中父元素下偶数行的子元素。:nth-child(2n+1){},选中父元素下奇数行的子元素。:nth-child(odd){},选中父元素下奇数行的子元素。:nth-chil......
  • MAT工具分析Dump文件(大对象定位)
     前段时间线上服务经常发生卡顿,经过排查发现是大对象引起的Fullgc问题,特此记录排查逻辑。 目录目的一、获得服务进程二、生成dump文件三、下载mat工具四、使用mat工具导入第二步生成的dump文件五、导入后得到如下界面六、定位大对象(方法一)七、定位大对象(方法二)......
  • CSS多行文本溢出显示省略号
    ##WebKit内核浏览器解决办法display:-webkit-box 将对象作为弹性伸缩盒子模型显示;-webkit-box-orient 设置或检索伸缩盒对象的子元素的排列方式;text-overflow:ellipsis 用省略号“…”隐藏超出范围的文本。-webkit-line-clamp是用来限制在一个块元素显示的文本的行数,......