趣学前端 | 页面上吸顶的效果是怎么做到的

举报
叶一一 发表于 2023/02/13 18:46:08 2023/02/13
【摘要】 为了给不懂技术的朋友讲解日常开发中怎么实现网页的效果,我准备出一个系列。

背景

我身边一些非互联网技术从业的朋友,偶尔看我转发到朋友圈的文章,会表示出一定的兴趣。前段时间,有朋友问我公众号的问题,所以我来了灵感,准备写一个趣学前端系列,适用于零基础、新手前端或者想把编程当做兴趣培养的人。

学问必须合乎自己的兴趣,方可得益。 ——莎士比亚

上篇习题解析

上一篇结尾留了一个小习题,我们先来看一下,上下两层结构有重合是如何实现。

一般下实现重合效果的方式是使用定位。定位元素可以和其他元素重叠。(点击查看完整代码)


知识点讲解

今日主要讲讲页面上的定位效果是如何实现的。

有趣的定位效果

下面这些好玩的展示效果都是通过定位实现的。

吸顶

image

超出父容器

image

重叠元素

image

粘性定位

image


知识点

定位

以下知识内容来自于菜鸟教程

属性名

作用

属性值

position

指定了元素的定位类型。

static 定位

HTML 元素的默认值,即没有定位,遵循正常的文档流对象。

静态定位的元素不会受到 top, bottom, left, right影响。

fixed 定位

元素的位置相对于浏览器窗口是固定位置。

即使窗口是滚动的它也不会移动。

relative 定位

相对定位元素的定位是相对其正常位置。

absolute 定位

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于html

sticky 定位

基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

实现方案

类型

实现方案

吸顶

使用fixed定位的元素的位置相对于浏览器窗口是固定位置,可以实现吸顶的效果。

超出父容器

使用absolute绝对定位的元素的位置相对于最近的已定位父元素,可以超出父元素。

重叠元素

使用absolute定位的元素可以和其他元素重叠。

粘性定位

sticky粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

讲解代码

讲解代码放到了在线预览平台


讲解代码操作步骤

演示代码都可通过代码复制拷贝到本地的IDE中进行演示。也可以自己照着敲击学习。

第一步:选中一个想查看代码的功能项;

第二步:将查看的功能的代码进行复制;

第三步:将代码粘贴到一个空档html文档中;

第四步:运行这个新建的html文档,刚才的顶部模块功能就出来啦。


一个小习题

掘金写文章的时候可以选择不同的主题,其中有一个主题,会将代码块展示成如下图所示,左上角和右下角分别有一个带不同颜色的折角,这个折角是怎么实现的呢?解答方案会在下篇文章中给出。

image


总结

今天讲解的定位功能,通过对元素的position属性设置不同的值,实现不同的展示效果。

有时候学习并不困难,如何应用是关键,所以,想要熟练的掌握前端知识,还需要不断的练习和应用。

前端的千变万化,源于对前端知识的融会贯通。

作者:非职业「传道授业解惑」的开发者叶一一
简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。