脱离标准文档流(2)---定位

定位

三种定位

可以使标准流脱离的定位:绝对定位,固定定位。

相对定位

属性值:relative(相对的)----权当我复习了一边英语单词。

下面是我对于相对定位的理解:

绝对定位在某种程度上相当于灵魂出窍(脑洞大开),也就是说那些被我们通过偏移量所移动的元素,他们的灵魂仍在原来的位置,我们所看到的是实体。

但是客观一点来说的话,就是相对定位无法使标准流脱标,所以我们所移动的元素仍是标准流,标准流的特点就是独自占有一行,一个标签换一次行。

图示如下:

     

我们可以看出来蓝色块已经不再原处了,但下面的粉色块还没变化,这里也体现了相对定位的优点:不会影响我们的网页结构。

注意事项

不要同操纵相对的两个方向的偏移量。(意思是不能同时设置上和下,或者左和右)

优点

1.结构比较稳固,经常用来做绝对元素的参考元素。

参考元素:是我们的偏移量在偏移时参考的元素,也就是说你是根据啥偏移的,可以是整个页面(body)也可以是一个盒子(这里还有点讲究.后面会提到)。

2.微调(有时候为了页面的美观,需要调节几个像素的大小,这时结构稳定的相对定位就很好使了)

绝对定位

属性值:absolute(绝对的)

绝对定位会使标准流脱标

两种偏移参考对象

1.body

我们啥都没有设置,仅仅使用了偏移的话,参考对象就是body

2.参考祖先对象(父盒子)

子盒子想要以父盒子作为参照对象的话,必须给父盒子父盒子也设置一种定位方式(三种定位方式都行),最好使用相对定位,前面总结浮动的时候,已经深深的了解到了非标准流元素处理不当的话,将会对结构造成一些影响,所以我们尽量将父盒子的定位方式设置为稳定的相对定位。

绝对定位做压盖效果

直接通过偏移把元素放我们压盖的元素之上就好了。

绝对定位做居中效果

让left(right)偏移量为50%,margin-left(right)为盒子长度的一半。可以达到水平居中的效果。

让top(bottom)偏移量为50%,margin-top(bottom)为盒子长度的一半。可以达到竖直居中的效果。

代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>绝对定位制作压盖效果+居中</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            div{
                box-sizing: border-box;
            }
            .big{
                margin: 0 auto;
                margin-top:100px ;
                width: 400px;
                height: 400px;
                border: 1px yellow solid;
                padding: 50px;
            }
            .small{
                width: 290px;
                height: 290px;
                border: 1px red solid;
                background: red;
                position: relative;
            }
            .little{
                width: 150px;
                height: 150px;
                background: green;
                position: absolute;
                left: 50px;
                top: 50px;
            }
            .little{
                left: 50%;
                margin-left: -75px;
                top: 50%;
                margin-top:-75px ;
            }

        </style>
    </head>
    <body>
        <div class="big">
            <div class="small">
                <div class="little"></div>
            </div>
        </div>
    </body>
</html>

固定定位

定位方式(参考浏览器窗口进行定位)

这种定位方式可以说时某些广告商的福音,我们浏览某些广告时那些一直随着页面下滑,自身位置相当于屏幕一直不变的小广告就是这个做的我感觉。

属性值:fixed

默认压盖顺序

1.有定位的压盖没定位的

2.写在后面的压盖写在前面的。

自定义压盖顺序

属性:z-index

属性值:数字,没任何单位,数字大的压数字小的。

父子盒压盖

父盒子z-index值小的话,子盒子值再大也没用。

分析轮播图的做法

这个轮播图需要js才能做,但是我会用css的只是分析一下,至于js方面就交给以后把。

背景图做法

直接用background属性做就好了,应该是由八张图片的,这里需要先给出第一张图片,然后其他的就通过js不断地改变地址就好了

切换箭头

到网上找一个这方面的精灵图,找到这个箭头,把它放到一个盒子里,盒子背景颜色是灰色的,然后通过绝对定位把他放到竖直居中就好了。

滚动条

这种用ol>li做就成

大体是这样,细节的话现在是真的不好扣,等我真的能做出来可能就清晰了。

原文地址:https://www.cnblogs.com/roseneverdie/p/10786695.html

时间: 2025-01-13 19:09:41

脱离标准文档流(2)---定位的相关文章

CSS的三种手段让元素脱离标准本文档流

1.浮动 浮动是CSS中用到的最多的一个选项,他有三个性质.关于浮动我们要强调一点,永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动. 1.1 浮动元素脱离标准文档流 1.1.1 大概描述:有两个盒子,一个盒子浮动,一个盒子不浮动.浮动的盒子会脱离标准文档流,不浮动的盒子会在标准文档流中成为第一个,所以两者出现覆盖现象. 1.1.2 大概描述:一个行内标签在标准文档流中是不能设置宽高的,但是使用float使其脱离文档流之后,就可以对其设置宽高了.所有浮动的标签不会去区分行内标签和块

标准文档流.浮动以及清除浮动(学习笔记)

标准文档流 1.当后面空间不够时,会空白折叠,自动换行. 2.当高矮不齐时,会底部对齐. 3.自动换行. 标签根据显示的内容划分成:文本级,容器级. 按照文档流划分:块级元素.行内元素; 块级元素: (1).霸占一行,不能与其他任何元素并列. (2)能接受宽高. (3).如果不设置宽度,那么宽度将默认变为父亲的100%. 行内元素: (1).与其他行内元素并排; (2)不能设置宽高.默认宽度就是文字宽度. 所有的文本级标签,都是行内元素,除了p,p是个文本级,但是是个块级元素. 所有的容器级标签

标准文档流以及伪类选择器

标准文档流 浏览器排版是根据元素的特征(块和级),从上往下,从左往右排版.这就是标准文档流. float:left/right: 效果:元素都加浮动,后面的元素会紧跟着前面的元素并排排列. A. 只要加了float,这个元素就会脱离标准文档流. (第一个加了float,离了标准文档流,对于浏览器来说,第二个元素就变成了标准文档流中的第一个,于是就会把他排在第一位.而第一个依然存在,所以就会叠加.) 行级加float,就会脱离标准流,块不像块,行不像行,能设置宽高,能并排排列,display就没有

标准文档流 伪类选择器

                                                 标准文档流 浏览器排版是根据元素的特征(块和级),从上往下,从左往右排版.这就是标准文档流. float:left/right: 效果:元素都加浮动,后面的元素会紧跟着前面的元素并排排列. A. 只要加了float,这个元素就会脱离标准文档流. (第一个加了float,离了标准文档流,对于浏览器来说,第二个元素就变成了标准文档流中的第一个,于是就会把他排在第一位.而第一个依然存在,所以就会叠加.)

标准文档流与脱离文档流

在网页当中,所有的元素都有自己的占位. 标准文档流指在没有CSS干预的前提下,块级元素独占一行,可以自行定义宽.高:而行内元素并排显示,宽.高为auto. 常见的块级元素有: <address>地址<caption>表格表格标题<div>划分区域.区块<dl>定义列表<dt>定义列表中的项<dd>列表中定义条目<form>创建一个表单<h>标题标记<hr>一条横线<li>定义列表项目&l

前端学习随笔:float布局问题------float元素是否脱离了文档流

问题: 今天学习2016-03-13,我知道float的原始作用为实现文字的环绕效果,但是老师说:对元素设置float属性后,该元素依然处于标准文档流中,同时浮动会 引起父元素的高度塌陷问题(怎么解决,目前不知道).但是,紧随其后的块元素会无视设置float属性的元素,但是后面元素的文本依然会为float元素让出位置,环绕于周围.既然后元素没有按照标准文档流单独占一行,我是不是可以理解为浮动的元素脱离了文档流??前后矛盾了. 解答:回答这个问题之前,首先解释一下什么叫脱离文档流! css中脱离文

浮动与清除浮动、标准文档流(重点)

什么是标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web 网页的制作,是个"流",从上而下 ,像 "织毛衣".而设计软件 ,想往哪里画东西,就去哪里画 标准文档流下 有哪些微观现象? 1.空白折叠现象 多个空格会被合并成一个空格显示到浏览器页面中.img标签换行写.会发现每张图片之间有间隙,如果在一行内写img标签,就解决了这个问题,但是我们不会这样去写我们的html结构.这种现象称为空白折叠现象. 2.高矮不齐,底边对齐 文字还有图片大小不

页面标准文档流、浮动层、float属性(转)

CSS float 浮动属性介绍 float属性:定义元素朝哪个方向浮动. 1.页面标准文档流.浮动层.float属性 1.1 文档流 HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行. 1.2 浮动层 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框. 而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素.内联元素

文档流和定位的查漏补缺

文档流:自上而下分成一行一行,每行中从左至右的顺序排列元素.网页大部分对象都占用文档流. 定位: float 浮动比较有用的是,前面的内容设置浮动后,如果不进行清除,后面的标签会跟上来,且标签里面的内容会排在设有浮动标签的后面,但其标签是占有整行的. position position设置了absolute,不对其设置left或top的话是不会改变位置的. 如果设置top负值的话有以下几种方法 margin-top:-10px; position:relative/absolute; top:-