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)
css的position,float属性的理解的更多相关文章
- CSS中"position:relative"属性与文档流的关系
前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:& ...
- CSS的position/float/display
一.position position属性取值:static(默认).relative.absolute.fixed.inherit. postision:static:始终处于文档流给予的位置.它可 ...
- css中的float属性以及清除方法 (2011-09-03 17:36:26)
CSS里面的浮动属性是布局的常用工具,只有真正了解它并熟练使用才能将它的优点发挥到极致. 许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div ...
- 【CSS】position(定位)属性
关于CSS position,来自MDN的描述: CSS position属性用于指定一个元素在文档中的定位方式.top.right.bottom.left 属性则决定了该元素的最终位置. 然后来看看 ...
- css中position:relative的真正理解
其实话说一直以来也没真正去理解好position:relative的用法的真实意义. 我想很多人实实在在用的多都是position:relative和position:absolute结合起来一起用的 ...
- 深究CSS中Position的属性和特性
一.position的概念 作为布局必不可缺少的元素之一,深究其属性以及一些注意点是非常必要的. 定义:规定元素的定位类型. position属性: 属性 描述 常用性 absolute 生成绝对定位 ...
- CSS基础(float属性与清除浮动)
3.8 这是CSS里比较重要的属性:浮动,这个属性会在以后经常用到,算是一个重点吧 浮动 语法:float:left | right | none 特点: 浮动的元素不占位置,脱离了标准文档流 ...
- CSS之float属性解读
在web标准的网页中,页面各个元素都是以标准流的方式来进行布局的.即块元素占满指定的宽度,不指定宽度则占满整行(如<p>.<div>元素),内联元素则是在行内一个接一个的从左到 ...
- 详解CSS float属性
CSS中的float属性是一个频繁用到的属性,对于初学者来说,如果没有理解好浮动的意义和表现出来的特性,在使用的使用很容易陷入困惑,云里雾里,搞不清楚状态.本文将从最基本的知识开始说起,谈谈关于浮动的 ...
随机推荐
- PHP 使用POST 获取不到部分数据问题
使用PHP开发的一个项目,在测试阶段客户反馈说数据没有保存成功 而我之前测试是通过的,但按客户的信息上却重现了问题 问题是这样的 客户通过浏览器进行保存,但有些数据已经保存成功,但某些数据却没有保存成 ...
- idea插件actiBPM源码
actiBPM https://github.com/Activiti/Activiti
- HTTPS之acme.sh申请证书
1.关于let's encrypt和acme.sh的简介 1.1 let's encrypt Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安 ...
- 对Faster R-CNN的理解(1)
目标检测是一种基于目标几何和统计特征的图像分割,最新的进展一般是通过R-CNN(基于区域的卷积神经网络)来实现的,其中最重要的方法之一是Faster R-CNN. 1. 总体结构 Faster R-C ...
- FutureTask类
FutureTask类是Future 的一个实现,并实现了Runnable. 所以可通过Executor(线程池)来运行,也可传递给Thread对象运行. 假设在主线程中须要运行比較耗时的操作时.但 ...
- 微软“小冰”识狗与人工神经网络(V)
实际上.微软早在2014年7月14日首次透露了一项雄心勃勃的研究计划"亚当计划"("Projrct Adam"),该项目是有关计算机视觉方面的研究项目,也就是后 ...
- dubbo配置多个注册中心
用法: <dubbo:registry address="zookeeper://10.0.1.131:2181?backup=10.0.1.132:2181,10.0.1.133:2 ...
- vue2 枚举类型转换
vue2页面上要把数字0,1,2...之类的数值转换成对应的枚举文本,解决如下: 方案一: 如果是是否的问题,直接: {{enable == 1 ? '是' : '否'}} 即可. 方案二: 通过定义 ...
- Atitit 热烈庆祝读经器项目圆满完成
Atitit 热烈庆祝读经器项目圆满完成 1.1. 读经器项目简单介绍 1 1.2. 一万小时定律和十年一个专家定律 1 1.3. 获得加持前景 1 1.4. 核心源码 1 1.5. 项目git 2 ...
- Redux 入门到高级教程
Redux 是 JavaScript 状态容器,提供可预测化的状态管理. (如果你需要一个 WordPress 框架,请查看 Redux Framework.) Redux 除了和 React 一起用 ...