【Web前端笔记09】浮动与定位

09 浮动与定位

一、浮动

二、清除浮动的影响

三、display属性

四、position定位

1、静态定位static

2、relative    相对定位(自恋型)

3、absolute    绝对定位

4、fixed    固定定位


09 浮动与定位

一、浮动

定义:定义元素框相对于其正常位置应该出现的位置

分类:

  1. 普通流定位
  2. 浮动定位
  3. 相对定位
  4. 绝对定位
  5. 固定定位

浮动定位指

  • 将元素排除在普通流之外
  • 元素将不在页面中占据空间
  • 将浮动元素放置在包含框的左边或右边
  • 浮动元素依旧位于包含框之内

浮动的框可以向左或者向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止

  • 浮动元素的外边缘不会超过其父元素的内边缘
  • 浮动元素不会互相重叠
  • 浮动元素不会上下浮动
  • 元素浮动后会变为块级元素

语法:float:none/left/right   

二、清除浮动的影响

清除浮动是在使用了浮动之后必不可少的,为了网站布局的效果,清除浮动也变得非常麻烦

属性:clear

值:left、right、both

清除浮动常见方式:

  • 结尾处家空div标签   clear:both(或者在下一个元素上加clear:both;)
  • 浮动元素的父元素定高
  • 浮动元素的父级div定义  overflow:hidden
  • 浮动元素的父级div定位  伪元素::after

三、display属性

每个网页都有一个display属性,确定该元素的类型,每一个元素都有默认的display属性值,

比如div元素,默认display属性值是“block”,

块元素span-->“inline” 行内元素二者之间可以相互转换

display常见属性值

属性值作用
none隐藏对象
inline指定对象为内联元素
block指定对象为块元素
inline-block指定对象为内联块元素
table-cell指定对象为表格单元格
flex弹性盒子

注意

  • inline-block  行内块元素
  • 即在同一行显示,又可以设置宽高,margin和padding可以设置四周
  • (会识别代码之间的空白,所以要注意代码之间的)
  • inline        行内元素
  • 不能设置宽高和内容
  • table-cell    一列一列的样式
  • none        隐藏对象

区别:

  • visibility: hidden;    会将元素隐藏,但是物理空间实际存在
  • opacity: 0;
  • display: none;    影藏元素,不保留物理空间

四、position定位

1、静态定位static

        对偏移量不起作用,一般应用关于去除定位

2、relative    相对定位(自恋型)
  • 相对于自己来偏移位置(相对于原来左上角的基点来便偏移)
  • 通过便偏移来移动位置,但是原来所占的位置,继续占有
  • 相对于自己原位置定位,定位后原位置保留
  • 配合left、right、top、bottom移动
  • 当top、bottom、left、right同事存在,left和top的优先级大于right和bottom,当取正值,元素往右下移动;当取负值,元素往左上移动

应用场景

  • 自己小范围移动
  • 配合绝对定位使用 
3、absolute    绝对定位
  • 相对于整个浏览器来偏移
  • 如果发生偏移,那么它不再占有空间
  • 相对于已经定位(static除外)的父元素定位,如果父元素没有定位,逐级往上找,最后相对于body定位
  • 定位后原位置不保留
  • 元素绝对定位后转换为块级元素

应用场景

        形成独立的一层

4、fixed    固定定位
  • 相对于浏览器窗口定位
  • 定位后原位置不保留
  • 配合left等移动
  • 元素固定定位后会转换成块级元素

应用场景

  • 固定在页面某个位置
  • 默认是占用文档流,不过也有一些对象不占文档流(比如表单中隐藏域)
  • 也可以用属性来控制:position、float、display

四种情况将会使元素离开文档流

  • 浮动float
  • 元素不显示display:none
  • 固定定位fixed
  • 绝对定位absolute

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值