如何使用纯CSS创建折叠标题效果,2024中高级前端面试题合集

的_.nav_和_。菜单_项继承的宽度_<报头>元件(100%),以便它们也可以在整个屏幕上跨度。此外,.menu_还利用了flexbox,因此菜单项可以在一行中水平排列,而_align-items_属性则将它们垂直居中。

您还可以看到我们添加了_flex:1;.logo_元素的CSS规则。该_柔性_属性是一个速记_柔性成长弹性收缩,和_柔性基础_。当它仅具有一个值时,它表示_flex-grow_,而其他两个属性保持其默认值。

当_flex-grow_设置为1时,意味着给定的元素将获得flex容器中的所有额外空间。结果,徽标被推到容器的左侧,而菜单项位于右侧。

5.放置折叠标题

与顶部菜单栏一样,折叠的标题也具有固定的位置。但是,它没有获得_z-index_值,因此当用户向下滚动页面并且其余内容逐渐覆盖横幅时,它可能“崩溃”。

.banner { / 用于定位 / 宽度:100% ; 高度:300px ; 位置:固定; 顶部:70px ; 背景:线性渐变(45deg,#98cbff,#98ffcb); / 用于内容对齐 / display:flex; flex-direction:列; 证明内容:空间均匀; align-items:中心; }

如您所见,我们再次使用flexbox来对齐折叠标题内的内容。现在,它是一个基于列的弹性布局,可让您使用_justify-contentalign-items_属性轻松地垂直和水平对齐元素。

6.设置折叠标题

尽管这也不是折叠标题效果的一部分,但这也是_.banner_元素的后代(标题,描述和按钮)在上面的演示中的样式:

.banner-title { font-size:32px ; 底边距:10px ; text-align:center; } .banner-desc { font-size:22px ; text-align:center; } .btn-signup { 颜色:白色; 背景颜色:#0056ab ; 边界:0 ; 填充:15px 25px ; 字体大小:16px ; cursor:指针 }

在下面的屏幕截图中,您可以看到我们的演示此时的样子。由于顶部菜单栏和折叠标题均位于固定位置,因此它们位于页面顶部并覆盖内容的上部。在接下来的步骤中,我们将通过样式化其余内容来使标题可折叠。

7.设置其余内容的样式

要使标题在滚动时折叠,您需要做四件事:

  1. 最重要的是,您需要为其余内容设置背景,以便它可以在可折叠标题的顶部流动。请记住,该效果与视差效果类似;不同的背景需要相互掩盖。
  • 在演示中,我们使用了纯白色背景。您始终需要在流动的内容上设置背景以使该效果起作用(否则,折叠的标题不会折叠)。
  1. 相_对于两个固定元素定位内容。该_顶:370px; 以下规则是_

    (70px)和.banner_(300px)的_高度_之和。

  2. 将_宽度_设置为_100%_,以使内容覆盖整个标题。

  3. 将_高度_也设置为_100%_,这样背景将覆盖页面的整个高度(这对于移动设备或较长页面而言非常重要)。

这就是代码中的样子:

.article { 宽度:100%; 职位:相对; 顶部:370px ; 背景:白色; 高度:100% ; 填充:30px 10% ; } .article p {{ margin-bottom:20px ; }

签出整个代码新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

并且,折叠头完成。在下面,您可以查看整个CSS。您还可以查看本文中显示的折叠标题效果的实时演示。

* { box-sizing:border-box; 边距:0 ; 填充:0 ; 字体家族:sans-serif; 颜色:#222 ; } a { 文本修饰:无; } ul { list-style-type:none; } 标头 { 高度:70像素 ; 背景:#222 ; 位置:固定; 宽度:100% ; z索引:99; } 导航 { 高度:继承; } .menu { display:flex; 高度:继承; align-items:中心; 填充:0 20px ; } .menu li { padding:0 10px ; } .menu a { 颜色:白色; } .logo { flex:1 ; 字体大小:22px ; } .banner { / 用于定位 / 宽度:100% ; 高度:300px ; 位置:固定; 顶部:70px ; 背景:线性渐变(45deg,#98cbff,#98ffcb); / 用于内容对齐 / display:flex; flex-direction:列; 证明内容:空间均匀; align-items:中心; } .banner-title { font-size:32px ; 底边距:10px ; text-align:center; } .banner-desc { font-size:22px ; text-align:center; } .btn-signup { 颜色:白色; 背景颜色:#0056ab ; 边界:0 ; 填充:15px 25px ; 字体大小:16px ; cursor:指针 } .article { 宽度:100%; 职位:相对; 顶部:370px ; 背景:白色; 高度:100% ; 填充:30px 10% ; } .article p {{ margin-bottom:20px ; }

结论

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

总结

我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。

image
image

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-BvsyH0OF-1712575536672)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值