css的position,float属性的理解

我们知道,html是按照普通流来加载的,这个时候我们有些需求就不好实现。因此出现了非普通流:

1、普通流:按照顺序正常的排列,长度或不够就往下挤。position默认的static

2、非普通流:脱离了普通流(不按照普通流渲染),后面介绍的有position的relative, absolute, fixed以及float属性。尤其是float属性,滥用情况非常。

以下所说的“脱离普通流”是指不按照正常普通流的方式渲染,不要和单独一层混谈!

static: 处于普通流,也就是按照普通流的方式渲染

relative: 相对定位,脱离普通流,相对自己原来在普通流位置做出改变(right left top bottom),但是原来的位置在普通流依旧占据。新的位置处于单独的一层。

absolute:绝对定位,脱离普通流,相对于父元素的位置进行定位,不会在普通流的占据位置,单独的一层。这个时候需要父元素也脱离普通流,否则不在同一层以浏览器的位置作为父元素进行定位。新的位置处于单独的一层。

fixed:固定定位,脱离普通流,相对于浏览器的位置定位,常用于广告和导航栏。新的位置处于单独的一层

relative absolute fixed不会影响接下来的元素按照普通流的方式布局,并且可以根据z-index属性改变层的前后位置。

float:浮动,脱离普通流,但不会单独的一层,以破坏自身的line-box来改变原本在普通流的位置,也就是‘’包裹与破坏‘’ 。同时影响之后的元素不按照普通流的方式布局。因此其他元素(不是浮动的元素)可以通过clear属性来清除左右的float,

使float之外元素拉回到正常,按照普通流的方式布局。float原本只是为了文字环绕图片,现在的float做了太多不是自身的事情。一个float影响整个布局,所以尽量采用其余的方式完成(例如:display:inline-block)

原文地址:https://www.cnblogs.com/huanqiuxuexiji/p/9063338.html

时间: 2024-11-12 21:28:01

css的position,float属性的理解的相关文章

Css中Position定位属性与层级关系

今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Css中Position定位属性与层级关系</title> 6 <style type="text/css"> 7 #W{ 8

CSS中&quot;position:relative&quot;属性与文档流的关系

前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:"position:relative"不会导致元素脱离文档流. 博文地址:CSS中"position:relative"属性与文档流的确切关系 "relative"与文档流 说到标准,最权威的自然莫过于CSS标准文档.经过一番繁琐的查找之后(w3c网站

关于CSS中position的属性

position的属性: 1.static (文档流):默认值,没有进行定位,元素出现在正常流中,忽略top   left   right   bottom   z-index的申明 (无影响). 一行接着一行 2.relative(相对定位):生成相对定位的元素,相对于其正常的位置进行定位.例如,"left:20px" 会向元素的 LEFT 位置添加 20 像素.即通过left.right.top.bottom属性在正常文档流中的偏移位置,相对定位完成的过程是首先按static(fl

css中position:relative的真正理解

其实话说一直以来也没真正去理解好position:relative的用法的真实意义. 我想很多人实实在在用的多都是position:relative和position:absolute结合起来一起用的. position属性是用四种定位.默认的是static. position:absolute(绝对定位) --是脱离文档流,相对于父级元素(包含这个position:relative)定位,当然如果没有,那就是相对于body定位的. position:relative(相对定位) --单独使用,

CSS中的float属性

在上一节中提到过行内块元素(inline-block),display设置为inline-block后, 元素可以设置宽度和高度,又能以行内形式显示,即水平排列,而不是像块级元素一样 从上到下排列.这一点很好地解决了页面的布局问题.      inline-block不是唯一,还有一个float浮动属性也能够到达类似的效果.float分为左浮left和右浮right,会让元素脱离文档流,且子级浮动会导致父级高度 塌陷(父级可使用overflow:hidden属性恢复自身高度).下面举例说明flo

关于css中浮动float的最好理解!

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <div style="border:3px solid silver; width:300px;"> <div id="container" style=&

CSS基础——position位置属性

relative:相对布局,相对自身进行偏移,并且保留原有位置. absolute:绝对布局,相对容器进行偏移,不保留原有位置.注意:容器必须设置position为relative或absolute,如果没有相对body偏移.  同一行中absolute会对 inline-block 有影响,具体是将原来顶部对齐,变成底部对齐.这时用float不会有影响. fixed:固定布局,相对浏览器窗口位置固定,没有任何依赖感. static:position的默认值. z-index:重叠时设置层次,值

CSS中的Position属性和Float属性

Css中的position很重要,常用有以下几个值:static,relative,absolute,fixed.Inherit. Static:静态定位.如果你没有设置position属性,那么缺省就是static.top.left.right.bottom等 属性,在static的情况下是无效的,要使用这些属性,必须把position设置为其他三个值之一. Relative:相对定位.元素将按照静态定位时的位置进行调整,在静态定位中分配给元素的空间仍会分 配给他,他两边的元素不会向它靠近来填

CSS定位——position、float小结

在CSS使用position属性来指定元素的定位类型,该属性有四种不同类型的定位,分别为static(默认定位).relative(相对定位).absolute(绝对定位)和fixed(固定定位). 要理解以上四种定位,写看一下CSS的文档流(普通流)概念: 除非专门指定,否则所有框(也就是html元素)都在普通流中定位.也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定. 块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来.若某元素的position属