CCS布局之脱离标准流布局

作者: Abnerzj | 来源:发表于2017-09-07 15:44 被阅读67次

一、前言

标准流布局

正常我们看到的所有的网页标签都在标准流的布局中,也就是看到的标签都是从上到下,从左到右排列的。

脱离标准流布局

有时候我们想要某个工具栏或者某个自定义的div层悬浮在浏览器的上下左右位置(或者网页的任何位置),这个图层不会随着网页的滚动而移出它固定在屏幕的那个位置范围,这个时候这个div层其实已经脱离了标准流布局了。那么脱离标准流有几种方式呢,两种:

  • float属性
  • position属性搭配left/right/top/bottom属性

二、float属性

float属性让子标签浮动在父标签的左边和右边。有两个取值:left/right,代码样式和效果如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Float浮动-脱离标准流</title>
    <style>
        #main{
            background-color: red;
            width: 500px;
            height: 200px;
            color: white;
        }

        .test1{
            background-color: blue;
            float: left;
            width: 150px;
            height: 60px;
        }

        .test2{
            background-color: orange;
            float: right;
        }

        .test3{
            background-color: purple;
        }
    </style>
</head>
<body>
   <div id="main">
       <div class="test1">浮动父标签左边</div>
       <div class="test2">浮动父标签右边</div>
       <div class="test3">未浮动的子标签</div>
   </div>
</body>
</html>
float浮动

PS:任何标签只要一浮动,类型就会被转为行内-块级标签。

三、position定位属性

position可以让子标签在父标签的任意位置进行定位。默认值为static,要浮动定位时设置子标签为absolute,父标签为relative,简称子绝父相。PS:任何标签只要设置position属性,类型就会被转为行内-块级标签。下面是position的属性:

position属性
  • absolute:绝对定位,自己的位置根据父标签体系中最后一个值为static的父标签进行定位。
  • relative:相对定位,相对于正常位置进行定位。
  • fixed:相对于浏览器窗口进行定位。一般用于让标签粘着浏览器的上下左右位置。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Position定位-脱离标准流</title>
    <style>
        *{
            margin:0;
        }
        div.test1{
           background-color: red;
           height: 50px;

           position: fixed;
           top:0;
           width: 50%;

        }

        div.test2{
            margin:100px;
            width: 200px;
            height: 150px;
            background-color: greenyellow;

            position: relative;
        }

        div.test3{
            width: 100px;
            height: 40px;
            background-color: purple;

            position: absolute;
            left: 0;
            bottom:0;
        }
    </style>
</head>
<body>
   <div class="test1">定位到浏览器的顶部</div>

   <div class="test2">
       <div class="test3">position定位</div>
   </div>
</body>
</html>
position定位

四、总结

float属性和position属性区别

  • float属性:只可以浮动在父标签的左边或右边。设置float属性的标签还是跟父标签中的其他标签有关系,比如说,父标签的下一个子标签还是会相对于它的左上角进行定位。
  • position定位:可以在任何位置浮动定位。设置position属性的标签脱离了标准了,其他任何标签不受它影响。

最后,如果有什么问题欢迎向我指出,谢谢。

相关文章

  • CCS布局之脱离标准流布局

    一、前言 标准流布局 正常我们看到的所有的网页标签都在标准流的布局中,也就是看到的标签都是从上到下,从左到右排列的...

  • 相对定位和绝对定位结合使用

    1.相对布局不会脱离标准流,会继续在标准流中占有一部分的空间,不利于布局的界面 绝对定位的元素会以body作为参考...

  • HTML5-10(CSS布局)

    一.简述CSS布局 1.默认情况下,所有的网页标签都在标准流布局中从上到下,从左到右 2.脱离标准流的方法有flo...

  • PHP从入门到精通,026第三章CSS之DIV+CSS标准化布局

    四、DIV+CSS标准化布局 (五)、浮动布局 说明:元素在网页中进行左或右的“漂浮”,脱离原来的文档流。 浮动的...

  • 2018-09-19 day3 css布局

    1.标准流和display属性 1.1标准流 1.标准流:浏览器对标签默认的布局方式就是标准流2.标准流布局原则:...

  • 前端学习笔记----Day10_水平布局float

    定位方案(Position Schemes) 绝对定位、浮动都会让元素脱离标准流,以达到灵活布局的效果 float...

  • CSS--脱流和居中

    CSS布局从上到下,从左到右 脱离标准流的方法有float属性position属性 和 left、right、to...

  • 2018-09-19-day23总结

    1.浮动属性 标准流:浏览器对标签默认的布局方式就是标准流块级: 2.标准流布局 标准流布局原则:块级标签一个占一...

  • 2018-09-19CSS布局

    一、标准流和display属性 1.标准流:浏览器对默认的布局方式就是标准流 2.标准流布局原则: 块级: a.块...

  • 前端面试复习要点

    一、HTML和CSS 页面布局的方法 1、浮动布局(布局简单,兼容性好,但是浮动元素脱离文档流) 2、绝对定位布局...

网友评论

    本文标题:CCS布局之脱离标准流布局

    本文链接:https://www.haomeiwen.com/subject/uneijxtx.html