首页 > 其他分享 >CSS中深入浅出系列之盒子定位:绝对定位!(脱离文档流)

CSS中深入浅出系列之盒子定位:绝对定位!(脱离文档流)

时间:2024-10-20 22:18:18浏览次数:9  
标签:定位 color top 深入浅出 height background position CSS

#在CSS中当一个元素被设置为绝对定位时,它会脱离正常的文档流,不再占据原本在页面布局中的空间。这意味着其他元素会忽略它的存在,就好像它不存在一样,如设计页面中的覆盖层、弹出框等时非常有用处。#

一、 绝对定位的定义

1、前言

  • 绝对定位可以用于脱离文档流,盒子从标准流中脱离,与相对定位不同,绝对定位对其后的兄弟盒子定位没有影响,原先在正常文档流中所占的空间会关闭,如同原来就不存在过一样。

  • 元素通过定位后,会生成一个新的块级框。

2、绝对定位的包含块

①. 包含块的定义

  • 在盒子定位中对于没有脱离文档流的元素:包含块就是其父元素.
  • 对于脱离文档流的元素:包含块是第一个拥有定位属性的祖先元素(如果所有祖先都没定位,那包含块就是整个页面)。

②. 包含块的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 父容器 */
        article{
            width: 250px;
            height: 350px;
            background-color: gray;
            position: relative;
        }
        
       /* 盒子 */
        div{
            width: 220PX;
            height: 100px;
            background-color: antiquewhite;
            border: black 2px solid;
            /* 外边距 */
            margin: 2PX;
            top: 5%;
            left: 5%;    
        }
        #div1{
            background-color: red;
            position: relative;
        }
        #div2{
            background-color: rgb(59, 223, 100);
            position: relative;
        }
        #div3{
            background-color: blue;
            position: relative;
        }

    </style>
</head>
<body>
    <article >
       <div id="div1">盒子一</div>
       <div id="div2">盒子二</div>
       <div id="div3">盒子三</div>
    </article>
</html>
代码运行后如下:

二、 绝对定位的使用

1、前言

  • 在盒子定位中通过给元素设置 position:absolute即可实现绝对定位
  • 精确控制位置:使用 left、right、top、bottom 四个属性调整位置。
  • 层叠顺序:绝对定位的元素会根据其设置的 z-index 值来确定层叠顺序。

2、绝对定位的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100PX;
            height: 100px;
            /* background-color: antiquewhite; */
            border: 2PX black solid;
            /* 外边距 */
            margin: 3PX;    
        }
        #div1{
            background-color: red;
            position: relative;        
        }
        #div2{
            background-color: rgb(59, 223, 100);
            position: absolute;
            left: 50px;
            top: 50px;
        }
        #div3{
            background-color: rgb(116, 63, 122);
        }
        article{
            width: 300px;
            height: 300px;
            background-color: gray;
            position: relative;
        }
    </style>
</head>
<body>
    <article>
       <div id="div1">红</div>
       <div id="div2">绿</div>
       <div id="div3">蓝</div>
    </article>

</html>
代码运行后如下:

3、绝对定位的特点

  • 在盒子定位中,使用绝对定位,会脱离文档流,对父元素、兄弟元素造成影响。
  • 绝对定位、浮动不能同时设置,如果同时设置,浮动失效,以定位为主。
  • left 不能和 right 一起设置, top 和 bottom 不能一起设置。

 ①、绝对定位的浮层作用

  • 浮层的作用在于它的独立性和突出性,一般只在需要时出现,完成特等的的任务或提供必要的信息后,会消失或隐藏,不会长期占据页面空间。
  • 有助于保持页面的简洁和清晰,避免信息过载。

②绝对定位的综合使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     <style>
        #div1{
            width: 30px;
            height: 30px;
            position: absolute;
            background-color: aliceblue;
            left: 100PX;
            top: 100PX;
        }
        #div2{
            width: 30px;
            height: 30px;
            position: absolute;
            background-color: aliceblue;
            left: 250px;
            top: 100PX;
        }
        #div3{
            width: 30px;
            height: 30px;
            position: absolute;
            background-color: red;
            left: 180px;
            top: 200PX;
        }
        #div4{
            width: 20px;
            height: 20px;
            position: absolute;
            background-color: green;
            left: 185px;
            top: 205PX;
        }
        #div5{
            width: 150px;
            height: 25px;
            position: absolute;
            background-color: aliceblue;
            left: 123px;
            top: 290PX;
        }
        article{
            width: 400px;
            height: 400px;
            background-color: gray;
            position: absolute;
            left: 550px;
            top: 50px;
        }
     </style>
</body>
    <article>
       <div id="div1"></div>
       <div id="div2"></div><br>
       <div id="div3"></div>
       <div id="div4"></div>
       <div id="div5"></div>
   </article>
</html>
代码运行后如下:

标签:定位,color,top,深入浅出,height,background,position,CSS
From: https://blog.csdn.net/CH040708/article/details/143092337

相关文章

  • 第六章元素应用 CSS
    6.1使用CSS设置字体样式6.1.1.字体类型语法:font-fanily:字体名称;参数:字体名称按优先顺序排列,以逗号隔开。如果字体名称包含空格,则应用引号括起。说明:用font-family属性可控制显示字体。不同的操作系统,其字体名是不同的。对于Windows系统,其字体名就如Word中的“字体”......
  • CSS基础速刷 - 非布局样式(未完待续)
    全称:CascadingStyleSheet2.选择器选择器{属性:值;属性:值;}选择器用于匹配HTML元素,有不同的匹配规则,多个选择器可以叠加。浏览器解析CSS选择器方式和我们写选择器的方式是相反的:从右往左选择器分类伪元素(双冒号)是真实存在的元素,可以被显示出来的元素;伪类(单冒号),当鼠......
  • 横扫CSS - HTML知识复习
    HTML常见元素<metaname="viewport">视口,默认像素980px。适配移动端。HTML版本对比HTML元素分类按默认样式分:块级block(div、p)、行内/内联inline(span)、inline-block(select)按内容分:*4.嵌套关系块级元素可以包含行内元素块级元素不一定能包含块级元素行内元素......
  • 【CSS in Depth 2 精译_052】第三部分:现代 CSS 代码组织 + 第 8 章:概述层叠图层及其嵌
    当前内容所在位置(可进入专栏查看其他译好的章节内容)【第三部分现代CSS代码组织】✔️【第八章层叠图层及其嵌套】✔️8.1用layer图层来操控层叠规则(上篇)✔️8.1.1图层的定义(上篇)✔️8.1.2图层的顺序与优先级(精译中⏳)8.1.3revert-layer关键字文......
  • CSS--如何用清除浮动来解决父盒高度塌陷及文字环绕的影响
    一.父盒的高度塌陷概念在CSS中,当父元素的高度没有明确指定时,其高度由子盒撑开。若子盒全部浮走,则高度塌陷为0。实验一父盒高度为0的初始排列<style>article{/*给父盒设置宽度和背景*/width:1000px;/*height:600px;*/......
  • html+css实现下拉动画
    下拉动画是一个网页上经常看到的东西,有些这是控制它的出现,没有过渡效果,不是很丝滑,市面上看到的文章也只有改变固定高度的,而如何实现父元素的高度不确定的情况下,由子元素的高度作为整体高度,下面为我的代码,仅供参考。<!DOCTYPEhtml><htmllang="en"><head><metacharse......
  • CSS--盒子的浮动
    盒子浮动概念浮动是CSS中的一种定位方式,可以使元素脱离正常的文档流,并相对于其父元素或其他元素进行定位。在布局中,可以使用浮动来实现盒子的位置调整和元素的排列。通过设置元素的float属性为left或right,可以使元素向左或向右浮动。浮动的元素会尽可能地靠向父元素的边缘或......
  • 逼自己看完!!CSS布局技术之——两列布局
    看完你就又多学了一点了!两列布局样式 CSS3中提供了多列布局的支持,可以将文本内容以多列的形式进行排列。通过设置列数和间距等属性,可以控制列布局的样式。很多网站都有些共同的特点,如页面顶部放置一个大的导航栏或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权......
  • 第六章元素应用CSS
    6.1使用CSS设置字体样式font-family:设置字体的类型font-weight:设置字体的粗细font-size:设置字体的大小font-style:设置字体的倾斜6.1.1.字体类型        字体:具有传递语义功能和美学效应两方面作用        CSS:提供font-family属性来控制文本的字体类型......
  • 第六章 元素应用css
    6.1使用css设置字体样式6.1.1.字体类型h1{ font-family:fangsong;}6.1.2.字体大小font-size:25px;6.1.3.字体粗细font-weight:500;6.1.4.字体倾斜font-style:italic;6.2使用CSS设置文本样式6.2.1.文本水平对齐方式text-align:center;6.2.2......