博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Css中position、float和clear整理
阅读量:4312 次
发布时间:2019-06-06

本文共 1270 字,大约阅读时间需要 4 分钟。

Position:

absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

 

float:

块级元素水平方向的auto,块级元素的margin、border、padding以及content宽度之和等于父元素width。使用auto属性在父元素宽度变化的时候,该元素的宽度也会随之变化。

当该元素被设为浮动时,该元素的width就变成了内容的宽度了,由内容撑开,也就是所谓的有了包裹性。overflow | position:absolute | float:left/right都可以产生包裹性,替换元素也同样具有包裹性。

在具有包裹性的元素上想利用width : auto;来让元素宽度自适应浏览器宽是不行的。

元素浮动后,父元素会塌陷此时可以使用clear来清除浮动,让父元素就会包含它中间的浮动元素了

参考:

clear:

 clear属性指定:一个元素是紧挨着前面的元素,还是必须移动到它们的下面(浮动被清除)。

clear属性既可以用于浮动元素,也可以用于非浮动元素。

当应用于非浮动块时,它将元素的移动到所有相关浮动元素的下方。这个行为作用时会导致不起作用。

当应用于浮动元素时,它将元素的移动到所有相关的浮动元素的下方。这会影响后面浮动元素的布局,后面的浮动元素的位置无法高于它之前的元素。

要被清除的相关浮动元素指 在相同中的前置浮动。

注释:如果你想要一个元素将所有浮动元素包含在内,你既可以将这个容器设置为浮动,又可以通过  设置clear属性作为替代。

#container:after { content: ""; display: block; clear: both;}
clear的方式有2种, 一种是使用伪类,另外一种是使用一个clear的元素,这样外面的元素就会包含它中间的浮动元素了。

外边距合并:

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

注释:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

参考: 

参考文章:

 

转载于:https://www.cnblogs.com/zq8024/p/5441950.html

你可能感兴趣的文章
ORA-06512 问题解决
查看>>
hdu 2049 不容易系列之考新郎 && 对错排的详解
查看>>
10个面向程序员的在线编程网站
查看>>
c#设计模式-单例模式(面试题)
查看>>
WPF x名称空间详解
查看>>
pyenv管理多python版本
查看>>
mysql 存储过程和触发器综合例题
查看>>
深度的发现之256个class打平1个id
查看>>
0909我对编译原理的见解
查看>>
lib 和 dll
查看>>
hdu 2042 - 不容易系列之二
查看>>
Linux下设置postgresql数据库开机启动
查看>>
mysql函数技巧整理
查看>>
二叉树
查看>>
IO多路复用--epoll详解
查看>>
[线段树优化应用] 数星星Star
查看>>
表单序列化以及后台表单数据参数的提取
查看>>
SQL语句(十五)视图
查看>>
nginx 设置开机启动
查看>>
继承和组合
查看>>