脱离文档流的三种方法

这篇具有很好参考价值的文章主要介绍了脱离文档流的三种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        什么是脱离文档流呢?可以这样理解,本来这个标签是属于文档流管理的,那么它应该按照文档流的正常布局方式从左至右从上之下,并且符合标签本身的含义。

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

        接下来将介绍三种脱离文档流的方法。

1.float: 浮动,为元素设置float属性,可以让元素脱离原本的文档流独立开来,单独实现向左或向右,在设置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属性:

脱离文档流,开发语言,html,前端,css

设置float:right

脱离文档流,开发语言,html,前端,css

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

设置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>

脱离文档流,开发语言,html,前端,css

 设置box2相对于head的位置

 文章来源地址https://www.toymoban.com/news/detail-618215.html

<!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>

脱离文档流,开发语言,html,前端,css

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

<!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之前

 脱离文档流,开发语言,html,前端,css

设置fixed之后

 脱离文档流,开发语言,html,前端,css

 

到了这里,关于脱离文档流的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设置和取消Word文档打开密码的三种方法

    对于重要的word文档,不想被随意打开,我们可以设置打开密码,后期不需要了,还可以取消。下面来说说设置和取消Word文档打开密码的两种方法。 加密及取消方法一: 打开Word文档,在上方点击【文件】,再依次点击【信息】-【保护文档】-【用密码进行加密】。 2、在弹出

    2024年02月08日
    浏览(55)
  • C# 将word/ppt文档转换为Pdf的三种方法

          业务中,经常需要将office 文件上传并通过网页进行在线阅读,一种最普遍的方法就是转换office文件到pdf格式,以pdf文件方式进行在线预览。        但将office 文件转换为Pdf的方法很多,各有利弊。 方法一: 利用office自带的COM类型库组件实现转换Pdf功能。只要安装了

    2023年04月08日
    浏览(46)
  • 实现Feed流的三种模式:拉模式、推模式和推拉结合模式

    在互联网产品中,Feed流是一种常见的功能,它可以帮助我们实时获取我们关注的用户的最新动态。Feed流的实现有多种模式,包括拉模式、推模式和推拉结合模式。在本文中,我们将详细介绍这三种模式,并通过Java代码示例来实现它们。 拉模式,也叫做读扩散,是一种较为节

    2024年02月14日
    浏览(42)
  • Html代替<iframe>标签的三种方法<object>, <embed>和<video>

    某平台对 iframe 标签做了些许限制但是前端代码有bug导致提交不了代码, 最开始想着是不是能够在本地替换 js 文件从而绕过bug 简单搜索后找到了 chrome浏览器F12调式,修改替换js文件这篇博客, 简单试了下虽然能替换成功但是效果不理想, 改不了平台就只能适应平台了, 反手就改

    2024年02月15日
    浏览(66)
  • C语言素数(质数)判断的三种方法

    本文介绍了判断素数的3种方法,从素数的概念分析,确定找到素数的几个必要条件,设计思路,并将代码进行优化。此外,还使用自定义函数的形式将同样的思路进行实现。 素数,就是仅能被自身和1整除的数字。 首先我们可以提取出判断素数的三个基本条件: 素数是整数

    2024年02月04日
    浏览(48)
  • 【C语言】判断字符类型的三种方法

    🦄 个人主页 :修修修也 🎏 所属专栏 :C语言 ⚙️ 操作环境 : Visual Studio 2022 目录 一.字符的类型分类 1.ASCII的定义:  2.ASCII的产生原因是: 3.ASCII的内容: 二.字符类型判断相关库函数 1.isdigit(),用于判断字符是否为数字。 2. isalpha(),用于判断字符是否为字母。 3. isalnum(),用

    2024年02月06日
    浏览(50)
  • C语言笔记——结构体的三种打印方法

    (看鹏哥C语言视频学的,自己做的笔记) 首先定义一个结构体(以学生的信息为例): 第一种 打印方法: 注意:age要对应%d,其余都是%s,其余三个顺序换了无所谓。 运行结果:   第二种 打印方法(函数+地址): 第三种 打印方法(与第二种方法类似,用箭头表示而已)

    2024年02月02日
    浏览(51)
  • 【C语言】字母转换大小写的三种方法

    🦄 个人主页 :修修修也 🎏 所属专栏 :C语言 ⚙️ 操作环境 : Visual Studio 2022 目录 方法一:库函数法 📌小写转换大写:toupper()函数 📌大写转换小写:tolower()函数 方法二:加减32法 📌小写转换大写:字符数据减32 📌大写转换小写:字符数据加32 方法三:位运算法 📌大小写

    2024年02月09日
    浏览(168)
  • C语言判断素数的三种方法 判断素数(质数)

    题目: 方法一:在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数 代码示例如下: 代码运行结果如下: 方法二:在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数  代码示例如下: 代码运行结果如下: 方法三:在2到sqrt(n)之间任取一个数,如

    2024年02月02日
    浏览(103)
  • 【C语言】scanf多组输入的三种方法!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,相信大家都多多少少了用过scanf语句吧,但是对scanf函数没有全面的认识仅仅只是知道可以输入。    ⛳️ 今天博主就给大

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包