CSS之定位

时间:2020-02-16 23:45:09   收藏:0   阅读:113

为什么使用定位

将盒子定在某一个位置 自由的漂浮在其他盒子(包括标准流和浮动的上面)

标准流盒子在最底层 -- 浮动盒子在中间层 -- 定位的盒子在最上层

定位详解

定位 = 定位模式 + 边偏移

边偏移

简单说定位的盒子是通过边偏移来移动位置的;

在 css 中,通过 leftlefttopbottom 属性定义元素的边偏移;

边偏移属性 示例 描述
top top:80px 顶端偏移量;定义元素相对于父元素上边线的距离
left left:80px 左端偏移量;定义元素相对于父元素左边线的距离
bottom bottom:80px 下端偏移量;元素相对于父元素下边线的距离
right right:80px 右端偏移量;元素相对于父元素右边线的距离

定位盒子有了偏移才有了价值。一般情况下凡是有定位地方必定有边偏移;

定位模式(定位的分类)

在 css 中,通过 position 属性定义元素的定位模式,

选择器 {position: 属性值;}

定位模式是有不同模式的,在不同的情况下,我们用到不同的定位模式

语义
static 静态定位
relative 相对定位
absolute 绝对定位
fixed 固定定位
静态定位 static
相对定位 relative

相对定位的特点

绝对定位 absolute

绝对定位是元素相对于他父级元素来设置元素的位置

  1. 完全脱标 -- 完全不占位置;
  2. 父元素没有定位 ,则以浏览器为准定位;
  3. 如果父元素没有定位,则以最近的父级元素定位为准。
固定定位 fixed

固定定位是绝对定位的一种特殊形式,如果说绝对定位是一个矩形,那么固定定位就是类似于一个正方形;

  1. 完全脱标,完全不占有位置;
  2. 只认浏览器的可视窗口,浏览器可视窗口 + 边偏移属性,来设置元素的位置;
    1. 跟元素没有任何关系;
    2. 不随滚动条滚动;

定位的拓展 (position)

绝对定位盒子居中

绝对定位的盒子不能设置 margin:0 auto;实现居中;

  1. left:50%; 让盒子的左侧移动父级元素的水平中心位置;
  2. margin-left: -100px;让盒子向左移动自身宽度的一半;
  3. 实现垂直居中也是如此原理 可以先 top 50% 然后在 margin-top -100px
堆叠顺序 (z-index)

在使用定位布局时,可能出现盒子重叠情况;加了定位的盒子,默认后来者居上,后面的盒子会压住前面的盒子;

z-index 特性如下:

注意:z-index 只能用于相对定位,绝对定位和固定元素上,其他标准流,浮动和静态定位无效

定位改变 display 属性

一个行内盒子如果加了浮动或者固定定位和绝对定位,不用转换,可以直接给这个盒子设置宽度和高度;

注意:浮动元素、绝对定位元素都不会触发外边距合并的问题,也就是说,给盒子改为浮动或者定位,就不会出现垂直外边距合并的问题了;

侧边栏靠近版心定位

原文:https://www.cnblogs.com/article-record/p/12319007.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!