版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何使用纯css实现飞机舷窗风格的toggle控件源代码下载 代码解读 定义dom,.windows容器表示舷窗,它的子元素.curtain表示窗帘: 居中显示: body margin:0; height:100vh; display:flex; align-items:center; justify-content:center; background-color:skyblue; 设置舷窗的尺寸,由于后面还会用到字号,所以字号用变量定义: :root -font-size:10px; .window position:relative; box-sizing:border-box; wi
2、dth:25em; height:35em; font-size:var(-font-size); background-color:d9d9d9; 用阴影画出厚窗框: .window border-radius:5em; box-shadow: inset008emrgba(0,0,0,0.2), 0000.4em808080, 0004emwhitesmoke, 0004.4em808080, 02em4em4emrgba(0,0,0,0.1); 设置窗帘样式,和窗口尺寸一样,但不拉到底: .window.curtain position:absolute; width:inherit;
3、height:inherit; border-radius:5em; box-shadow: 0000.5em808080, 003emrgba(0,0,0,0.4); background-color:whitesmoke; left:0; top:-5%; 用伪元素在窗帘上画出指示灯,当窗帘关闭时亮红色光: .window.curtain:before content:&39;&39; position:absolute; width:40%; height:0.8em; background-color:808080; left:30%; bottom:1.6em; bo
4、rder-radius:0.4em; .window.curtain:after content:&39;&39; position:absolute; width:1.6em; height:0.8em; background-image:radial-gradient(orange,orangered); bottom:1.6em; border-radius:0.4em; left:calc(100%-1.6em)/2); 以上是舷窗关闭时的样子,接下来绘制舷窗打开时的效果。 先在dom中添加一个checkbox,当它被checked时即表示舷窗被打开: 躲藏checkb
5、ox,用opacity(0)可以使元素在不行见的状态下仍可交互,把它的尺寸设置得到舷窗一样大,并且图层在舷窗之上,得到的效果就是点击舷窗时实际是点击了checkbox: .toggle position:absolute; filter:opacity(0); width:25em; height:35em; font-size:var(-font-size); cursor:pointer; z-index:2; 当舷窗打开时,.curtain要向上移动,并且指示灯亮绿色光: .window.curtain transition:0.5sease-in-out; .toggle:checke
6、d.window.curtain top:-90%; .toggle:checked.window.curtain:after background-image:radial-gradient(lightgreen,limegreen); 躲藏超出窗户的部分: .window overflow:hidden; 接下来绘制舷窗外的风景。 在dom中增强表示云朵的.clouds元素,其中的5个子元素分离表示1朵白云: 用云朵容器画出窗外的蓝天: .window.clouds position:relative; width:20em; height:30em; background-color:d
7、eepskyblue; box-shadow:0000.4em808080; left:calc(100%-20em)/2); top:calc(100%-30em)/2); border-radius:7em; 每朵云由3部分组成,先画面积最大的部分: .cloudsspan position:absolute; width:10em; height:4em; background-color:white; top:20%; border-radius:4em; 再用伪元素画2个突起的圆弧: .cloudsspan:before, .cloudsspan:after content:&
8、;39;&39; position:absolute; width:4em; height:4em; background-color:white; border-radius:50%; .cloudsspan:before top:-2em; left:2em; .cloudsspan:after top:-1em; right:1em; 增强云朵飘动的动画效果: .cloudsspan animation:move4slinearinfinite; keyframesmove from left:-150%; to left:150%; 使每朵云的大小、位置有一些变幻: .cloudsspan:nth-child(2) top:40%; animation-delay:-1s; .cloudsspan:nth-child(3) top:60%; animation-delay:-0.5s; .cloudsspan:nth-child(4) top:20%; transform:scale(2); animation-delay:-1.5s; .cloudss
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧灯杆智能手语翻译系统施工方案及技术措施
- 施工现场洗车槽与沉淀池施工方案
- (完整版)十八项医疗核心制度考试题及答案
- 装饰装修电气安装工程施工方案
- 心理咨询师考试题库及答案
- 人工智能(AI)在施工进度照片智能分析与滞后预警应用
- 饭店学理论知识考核试题及答案
- 2026江苏南京航空航天大学金城学院招聘 (后勤保卫处)笔试题库附完整答案详解【典优】
- 2026年阿勒泰基础教育“银龄人才”招募(6人)模拟试卷及参考答案详解【能力提升】
- 2026浙江衢州市产业投资控股集团有限公司长期招聘7人备考题库附答案详解(突破训练)
- 内江市2019-2020学年度第一学期期末考试初中八年级数学试题
- 阿莫西林胶囊生产工艺设计
- 深圳版小学1-6年级英语词汇表
- 中枢神经系统(医学影像学)
- 保险学(张洪涛第五版)习题库及答案
- 禾大西普化学(四川)有限公司扩能3000吨-年壬二酸项目环境影响报告
- 中东呼吸综合征医疗
- 装饰装修工程监理实施细则办公楼与综合楼
- LY/T 1000-2013容器育苗技术
- GB/T 35856-2018飞机电气设备绝缘电阻和耐电压试验方法
- GB/T 24425.1-2009普通型钢丝螺套
评论
0/150
提交评论