【脱离文档流的三种方法】

简介: 【脱离文档流的三种方法】

什么是脱离文档流?

这个标签脱离文档流的管理,不受文档流的布局约束,并且这个标签在原文档流中所占的空间也被清楚掉了

脱离文档流的3种方法为:

方法1:float浮动

方法2:flexed

方法3:absolut绝对定位

方法1【float浮动】:

<!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>
        .main{
            width: 800px;
            height: 800px;
            border: 3px solid black;
        }
        .box1{
            width: 200px;
            height: 200px;
            border: 3px solid red;
        }
        .box2{
            width: 200px;
            height: 200px;
            border: 3px solid green;
            float: right;
        }
        .box3{
            width: 200px;
            height: 200px;
            border: 3px solid blue;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="box3"></div>
    </div>
</body>
</html>

.float: 浮动,为元素设置float属性

让元素脱离原本的文档流独立开来,单独实现向左或向右

在设置float属性之后元素自动设置为块级元素,并且不会占据原本的位置

未设置浮动:

48e36d540e5947a5bd05458b0457e77c.png

设置浮动后:【float:right】

d21ea55965db435e8f80e676962d4266.png

方法2【fixed】:

<!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>
        html,body{
            height: 10000px;
        }
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 200px;
            height: 200px;
            background-color:gray;
            /* position: fixed; */
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

未设置fixed

cc2f0c85bbfb48859a6f451e2b4f95dc.png

设置fixed后

e302f1c83e3240e1855855261076a9c5.png

fixed:设置此属性的元素在位置上总是相对于body标签,也就是说在网页中设计此类标签不会随着网页的上下滑动而变化总是固定在网页的一个位置

方法3【absolut】:

设置box1相对于main的位置

<!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>
        *{
            margin: 0;
            padding: 0;
        }
        .head{
            width: 800px;
            height: 500px;
            border: 3px solid black;
            /* position: relative; */
        }
        .main{
            width: 500px;
            height: 500px;
            border: 3px solid rgb(214, 48, 48);
            position: relative;
            margin-top: 100px;
            margin-left: 100px;
        }
        .box1{
            width: 200px;
            height: 200px;
            border: 3px solid rgb(38, 17, 224);
            position: absolute;
            left: 100px;
        }
        .box2{
            width: 200px;
            height: 200px;
            border: 3px solid rgb(17, 224, 62);
        }
    </style>
</head>
<body>
        <div class="head">
            <div class="main">
                <div class="box1"></div>
                <div class="box2"></div>
            </div>
        </div>
</body>
</html>

6533eda0964b4b4f822fc11e35552284.png

设置box2相对于head位置

<!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>
        *{
            margin: 0;
            padding: 0;
        }
        .head{
            width: 800px;
            height: 500px;
            border: 3px solid black;
            position: relative;
        }
        .main{
            width: 500px;
            height: 500px;
            border: 3px solid rgb(214, 48, 48);
            /* position: relative; */
            margin-top: 100px;
            margin-left: 100px;
        }
        .box1{
            width: 200px;
            height: 200px;
            border: 3px solid rgb(38, 17, 224);
            position: absolute;
            left: 100px;
        }
        .box2{
            width: 200px;
            height: 200px;
            border: 3px solid rgb(17, 224, 62);
        }
    </style>
</head>
<body>
        <div class="head">
            <div class="main">
                <div class="box1"></div>
                <div class="box2"></div>
            </div>
        </div>
</body>
</html>

adfeddc6f6064bafa50b7a210b54f6f3.png

absolut脱离的文档流是相对于其父元素的,而且这个父元素的position属性不为static(static为position默认属性), 如果absolute所在元素的父元素position属性为static则其继续向上寻找,直到找到符合要求的父元素。脱离文档流之后其他元素会无视此元素,其此元素不再占据原本的位置


相关文章
|
前端开发
Element Form表单布局(一行多列)
Element Form表单布局(一行多列)
1864 0
|
存储 数据采集 运维
阿里巴巴DevOps实践指南(二十四)| 智能运维
智能运维( AIOps )是依托于阿里巴巴 DevOps 经验沉淀而来的智能化运维平台,通过运维大数据的积累,以及算法团队多种算法的校对,我们将运维提升到新的高度,通过 AI 来帮我们查看数据、判断异常、决策运维操作,形成监、管、控一体化的运维平台。
阿里巴巴DevOps实践指南(二十四)| 智能运维
|
27天前
|
IDE 开发工具 iOS开发
阿里云Qoder CN安装VSCode/JetBrains插件、登录使用完整操作文档,新手教程
Qoder CN是阿里云推出的智能编程助手,支持两种使用方式:下载开箱即用的独立IDE,或在JetBrains(IntelliJ、PyCharm等)及VS Code中安装插件。安装后登录即可享受AI辅助编码,提升开发效率。阿里云Qoder CN官网:https://t.aliyun.com/U/fEiOLV
|
10月前
|
存储 人工智能 搜索推荐
LEANN:一个极简的本地向量数据库
LEANN是面向RAG的轻量级嵌入式向量数据库,如SQLite般无需服务依赖,可在本地运行。它通过图结构与选择性重计算,节省97%存储且不损精度,让笔记本也能高效检索百万文档,兼顾隐私与性能,堪称个人AI搜索引擎。
3137 4
LEANN:一个极简的本地向量数据库
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
15026 5
Vue2步骤条(Steps)
这是一个基于 Vue3 的步骤条(Steps)组件,支持高度自定义。主要属性包括步骤标题数组(stepsLabel)、步骤描述数组(stepsDesc)、步骤总数(totalSteps,默认为3)、当前选中的步骤(currentStep,默认为1)、步骤条总宽度(totalWidth,默认为900px)和描述文本最大宽度(descMaxWidth,默认为140px)。组件通过不同的样式展示已完成、进行中和未开始的状态,并支持点击切换步骤。可在需要的页面中引入并传入相关初始数据。
600 1
Vue2步骤条(Steps)
|
资源调度 JavaScript 前端开发
vue2_二次封装a-upload组件,自定义上传预览
vue2_二次封装a-upload组件,自定义上传预览
1627 0
|
前端开发 容器
揭秘Web前端布局秘籍:浮动,那个让你又爱又恨的布局神器,你真的了解它吗?
【8月更文挑战第23天】在Web前端设计中,浮动是一种关键布局技术,能让元素在文档流中灵活移动,实现文本环绕图片、多列布局等效果。元素通过CSS的 `float` 属性脱离正常文档流并移动到容器边缘,后续非浮动内容则围绕该元素排列。浮动可用于多列布局、导航菜单及图文混排。需注意清除浮动以避免布局问题,并处理可能导致的父元素高度塌陷。
543 0
|
JavaScript
基于Vue2超简单实现DIY定制的步骤条
这篇文章介绍了如何在Vue 2中实现一个自定义设计的步骤条组件,包括子组件的设计和在父页面中的使用示例。
626 1
基于Vue2超简单实现DIY定制的步骤条

热门文章

最新文章