CSS 第 五天 —— 浮动定位

写定位的时候如果不给定位,可以设置left:0、top:0;   

一、定位

如果页面出现错误,出现很多margin(不是自己写的),那就是*{}清除内外边距附近的问题

定位的概念是什么?

不同的方式,把盒子定在某一个位置

1.静态定位(相当于标准流,很少用)

(静态定位有和没有都一样)

定位组成

1:定位的概念是什么?

不同的方式,把盒子定在某一个位置

2:定位由哪两部分属性构成?各自的作用是什么?

定位= 定位模式 + 边偏移

定位模式:用于指定元素的定位方式,通过position 属性设置

边偏移:根据定位模式确定最终位置,通过top、bottom、left、right 四个属性设置



标准流可以从上向下摆放块级盒子从左向右摆放行内盒子;

浮动可以从左向右摆放多个块级盒子,盒子之间没有缝隙并且顶端对齐


定位可以让盒子:

1. 摆放在另一个盒子中的任意位置;

2. 固定在屏幕中的某个位置;

3. 可以压住其他盒子。

相对定位:相对自身位置定位,不脱标。

定位由哪两部分属性构成?各自的作用是什么?

定位= 定位模式 + 边偏移

定位模式:用于指定元素的定位方式,通过position 属性设置

边偏移:根据定位模式确定最终位置,通过top、bottom、left、right 四个属性设置

2.相对定位

1. 相对与自己进行定位

2. 占位置

1:静态定位的作用是什么?静态定位使用边偏移属性有效吗?开发中用得多吗?

静态定位 static 是元素的默认定位方式,表示没有定位的意思,类似于:border 属性的 none;

静态定位按照标准流特性摆放位置,它没有边偏移,使用边偏移没有效果;

静态定位在布局时几乎不用。

2:相对定位(relative)的语法是什么?:position: relative;

3. 绝对定位

绝对定位(absolute)-没有父级或者父级无定位情况

绝对定位(absolute)-父级有定位情况

在布局时,让盒子相对父级以上的元素定位好吗?

不好,一旦出现问题,不好排查。

可以将父级元素设置为相对定位(relative),因为相对定位的盒子:不会脱标 + 不设置边偏移位置不会变化

绝对定位脱标的不占有原来位置

相对定位占位置(父元素最好定义相对)

父元素如果设置绝对定位就不占位置,后边的盒子会占有父盒子的位置,因为父元素必须占有位置,所以父元素必须用相对定位。

绝对定位不占位置(脱标)

子元素用绝对占位不用相对定位,因为相对定位是根据自己的位置来移动。

子绝父相

1:什么是子绝父相?

子级使用绝对定位,父级使用相对定位

父级使用相对定位:

不脱标,在标准流中占据空间

绝对定位的儿子们都参考父亲进行定位

子级使用绝对定位:

脱标,不影响其他元素的摆放

自己则相对父级任意摆放位置

子绝父相不是永远不变的,如果父元素不需要占有位置,子绝父绝也会遇到。

2. 定位方式 —— 固定和粘性

固定定位是特殊的绝对定位

 固定定位小技巧-固定到版心右侧



浏览器宽度的一半:width:50%然后再用marin-left往左移动

往右移动为负数,并且还要算上自身的宽(可以通过增加5px来把版心隔开)


固定到版心右侧的实现步骤是什么?

left: 50%;+margin-left: 版心宽度的一半

粘性定位(sticky)(了解)


 1:定位的叠放顺序的应用场景是什么?

没有设置z-index时,两个设置定位的盒子相遇时,根据盒子标签的前后决定谁压谁,下边的压住上边(了解,不用记)

在使用定位时,如果出现盒子重叠的情况,可以使用z-index 控制盒子的前后顺序。

边偏移和z-index只有定位才有。

(x、y、z轴,定位相当于z轴:了解)


如果当前子盒子想压住下边的盒子,但是设置了z-index不管用,就去提升子盒子的父盒子的z-index就可以压住了

水平居中



脱标不占位置

扩展(重要)

行内元素添加绝对或固定定位后,可以直接设置宽度和高度吗(浮动也可以)

块级元素添加绝对或固定定位后,如果不给宽度和高度,大小是怎么计算的?

默认是实际内容的大小

3:脱标的盒子会触发外边距合并吗?

脱标的盒子(浮动、绝对定位、固定定位)不会触发外边距合并。

绝对定位浮动哪一个会压住下面标准流的文字?为什么?

绝对定位会压住文字,浮动不会;

浮动最开始的设计是为了实现文字环绕效果的。

浮动的盒子不会压住文字和图片,因为浮动产生的本质是为了图文混排

但是绝对定位和固定定位会完全压住文字和图片,因为它们是完全脱标的。


网页布局总结

一个完整的网页,是由标准流浮动定位一起完成布局的,每个都有自己的专门用法。

1.标准流

块级元素上下排列/行内元素行内块元素左右排列;

②垂直的块级盒子显示就用标准流布局。

2.浮动

①让多个块级元素一行显示或者左右对齐盒子;

②多个块级盒子水平显示就用浮动布局。

3.定位

①定位最大的特点是有层叠的概念,就是可以让多个盒子前后叠压来显示;

②如果元素自由在某个盒子内摆放就用定位布局。


 visibility 显示隐藏元素(大厂校招题经常出现)


Visibility占位置



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容