CSS定位课程前言Course Introduction同...
CSS定位
课程前言Course Introduction同学们,上节课我们学习了CSS浮动的相关知识,在今天的课程中,我们将深入学习 CSS 定位的原理和应用。逐步掌握如何通过定位实现灵活的页面布局,精确控制元素的位置,以及调整元素的层叠效果。让我们一起开启这段充满挑战与乐趣的学习之旅吧!一定位
CodingFuture
1.1CSS 布局的三种机制
普通流:块级元素独占一行,从上到下排列。行内元素从左到右排列,碰到边缘换行。浮动:让元素脱离普通流,实现水平排列。定位:将元素定位在浏览器的特定位置。1.2使用定位的原因
定位可以实现标准流或浮动无法快速实现的效果,例如:滚动窗口时,盒子固定在屏幕某个位置。盒子可以自由漂浮在其他盒子的上面。二定位组成部分
CodingFuture
2.1边偏移
在CSS中,通过top、bottom、left和right属性定义元素的边偏移,通过边偏移来移动定位的盒子的位置。边偏移属性示例描述toptop: 80px顶端偏移量,定义元素相对于其父元素上边线的距离。bottombottom: 80px底部偏移量,定义元素相对于其父元素下边线的距离。leftleft: 80px左侧偏移量,定义元素相对于其父元素左边线的距离。rightright: 80px右侧偏移量,定义元素相对于其父元素右边线的距离。定位的盒子有了边偏移才有价值。 一般情况下,凡是有定位地方必定有边偏移。
2.2定位模式(position)
在CSS中,通过position属性定义元素的定位模式,语法如下:选择器 { position: 属性值; }2.3定位模式分类
定位模式是有不同分类的,在不同情况下,用不同的定位模式。值语义static静态定位relative相对定位absolute定位fixed固定定位静态定位(static):默认定位方式,无定位。按照标准流特性摆放位置,没有边偏移。在布局中几乎不用。相对定位(relative):盒子不脱离标准流,但可以相对于自身位置移动。特点:不脱标(不会影响其他元素的位置)。移动参考的起始点是盒子本身在标准流中的位置。会压住标准流和浮动的元素。应用场景:布局时作为外层容器。效果图:
代码示例:相对定位:微调元素位置,不脱标。
定位(absolute):盒子完全脱离标准流,不占位置。特点:以带有定位的父级元素为参照点移动。如果父级没有定位,则以浏览器文档为准。不保留原来的位置。应用场景:需要精确控制子元素位置时。效果图:父元素没有定位
父元素有定位
定位口诀 —— 子绝父相子级使用定位时,父级需要使用相对定位。父级占位置,子级任意摆放。代码示例:父级用relative,子级用absolute。
固定定位(?xed):定位的特殊形式。特点:完全脱离标准流,不占位置。以浏览器可视窗口为参照点,不随滚动条滚动。应用场景:需要固定在屏幕上的元素,如导航栏。效果图:
提示: IE 6 等低版本浏览器不支持固定定位。代码示例:固定在浏览器窗口右上角。
三定位的扩展
CodingFuture
3.1定位的盒子居中
方法:left: 50%:让盒子左侧移动到父级元素的水平中心位置。margin-left: -宽度的一半:让盒子向左移动自身宽度的一半。如图:
代码示例:
3.2堆叠顺序(z-index)
在使用定位布局时,可能会出现盒子重叠的情况。加了定位的盒子,默认后来者居上,后面的盒子会压住前面的盒子。应用 z-index 层叠等级属性可以调整盒子的堆叠顺序。特性:值为正整数、负整数或 0,默认值为 0,数值越大,盒子越靠上。值相同时,按书写顺序,后来者居上。只能应用于相对定位、定位和固定定位的元素。如图:
3.3定位改变display属性
定位和固定定位会将元素转换为行内块。浮动、定位和固定定位的元素不会触发垂直外边距合并问题。四定位小节
CodingFuture
1.1CSS 布局的三种机制
定位模式是否脱标占有位置移动位置基准模式转换使用情况静态static不脱标,正常 模式正常模式不能几乎不用相对定位 relative不脱标,占有 位置相对自身位置移 动不能基本单独使用定位 absolute完全脱标,不 占有位置相对于定位父级 移动位置能要和定位父级元素 搭配使用固定定位 ?xed完全脱标,不 占有位置相对于浏览器移 动位置能单独使用,不需要 父级注意事项:边偏移需要和定位模式联合使用,单独使用无效。top 和 bottom 不要同时使用。left 和 right 不要同时使用。
结言陈词Closing statement各位同学,今天的课程到这里就结束了!通过本次学习,我们全面掌握了 CSS 定位的核心知识和应用技巧。从静态定位到相对定位、定位和固定定位,我们了解了每种定位模式的特点和适用场景;从边偏移属性到堆叠顺序,我们学会了如何精确控制元素的位置和层叠效果;从“子绝父相”的口诀到定位的盒子居中技巧,我们掌握了定位的实际应用方法。定位不仅是 CSS 布局的基础,更是实现复杂网页效果的关键工具。希望大家在今后的开发实践中,灵活运用今天所学的知识,设计出更加美观、高效的网页布局。同时,CSS 的学习是一个持续探索的过程,希望大家保持好奇心,不断尝试新的技术,提升自己的开发能力。下期课程预告:JavaScript基础-表达式码上未来为同学们安排统一答疑扫码添加微信领取详细课程大纲
微信号:CodingFuture2020
The CodingFuture&The Future is Already Here<<< END >>>
资深职业咨询规划师