



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如需保持页面容宽高比,用css就可以办到(实例)需求描述:移动端实现横跨页面半圆。(类似问题,实现4x4 的正方形网格)简化问题,我们可以理解为实现一个高度和宽度比为1:2 的块。需要解决问题:1,高度和宽度按照一定比例。2,外容器高度和宽度不确定。3,尽量不使用图片和脚本替代。4,兼容移动端。编写 htmlXML/HTML Code<div class = "semicircle"></div>思考一,使用height : 100% ,CSS Codebodymargin:0;width: 100%;background: lightblue;.s
2、emicircle width: 100%;height: 100%;border-top:5px solid #fff;border-radius: 100%;存在问题, height 的百分比是根据父容器计算的,不是当前容器,根本满足不了我们的需求。效果如下:父容器 body 的高度百分比为其子容器所填充的高度关联,即便设置body 高度 100% ,由于子容器即semicircle 所填充的实际高度为边界的 5 ,无法将父容器 “全部撑开 ”,因此无法通过设定父容器的高度为百分比指定宽高按照一定比例的容器。思考二,设定padding-top或 padding-bottom为 100%Th
3、e percentage is calculated with respect to the width of the generated box's containing block . (source: , emphasis mine)百分比宽度的计算与所生成盒子的包含块宽度有关。padding-top、padding-bottom的百分比是根据父容器的width (宽度)计算的,而不是height (高度)。其他比例实现对照表CSS Codebodymargin:0;width: 100%;background: lightblue;.semicircle width
4、: 100%;height: 0;padding-bottom: 100%;border-top:5px solid #fff;border-radius: 100%;思考三,使用vw 单元使用 vw 单元设定元素高度和宽度,vm 的大小是通过viewport 的宽度设定的, 因此可以通过该方法保持容器按照一定比例显示。一单位的 vw 等于百分之一的 viewport 宽度,即 100vw 等于 100%viewport 宽度。CSS Codebodymargin:0;width: 100%;background: lightblue;.semicircle width: 100vw;heig
5、ht:100vw;border-top:5px solid #fff;border-radius: 100%;对照表思考四,使用伪元素和inline-block布局CSS Codebody width: 100%;font-size: 0;text-align: center;background: lightblue;.semicircle border-top:5px solid #fff;border-radius: 100%;.semicircle:before content:""display: inline-block;padding-bottom: 100%
6、;虽然代码有点复杂,但是灵活性强,可以实现更多类似的效果。当需求改成实现一个横跨屏幕80% 的宽度的半圆,我们只需要在.semicircle中添加属性width:80%;,顺便也把容器居中实现了。该方法的原理很清晰:参考思考一,无法通过高度 100% 来扩充外容器高度,那么可以通过伪元素,插入一个高度和宽度一致的元素,将容器撑开成一比一高度的容器。注意,该方法实现半圆,实际需要宽高为一比一的容器,即占用空间为上述方法的两倍。设置 :before 元素边界,解析原理:思考五,使用图片,兼容低档次移动设备。CSS Code.semicircler img width: 100%;backgroun
7、d-repeat: no-repeat;background-size: 100% 100%;background-image: url(.xianglin168. /img/autoresized-picture.jpg);使用脚本, css 更加简洁明了,目标清晰。CSS Code对于实现 2*2 正方形网格CSS Code*-main code-*/body width: 100%;margin:0;text-align: center;divdisplay: inline-block;width: 50%;background: lightblue;font-size: 12px;position: relative;vertical-align: middle;div:before content:""display: inline-block;padding-bottom: 100%;vertical-align: middle;/*-other code-*/div:nth-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届定西市重点中学高一物理第二学期期末调研模拟试题含解析
- 工业厂房转让合同范本
- 天津市十二重点中学2025届物理高一下期末综合测试试题含解析
- 河南省示范性高中2025届物理高一下期末监测模拟试题含解析
- 2025年上海市宝山中学物理高二下期末联考试题含解析
- 2025届山东省枣庄、滕州市高一物理第二学期期末学业质量监测试题含解析
- 二零二五年特种环境空调设备采购与系统集成合同
- 二零二五版!撬装加油站经营权转让合同样本
- 二零二五版25MW柴油发电机电站电网安全防护与应急响应合同
- 二零二五版企业重组财务顾问服务合同书
- 门面运营规划方案
- 2025反洗钱知识竞赛题库(含答案)
- 实验室安全 培训
- 2025年天津市中考数学真题 (原卷版)
- 民政干部大练兵活动方案
- DB36∕T 2124-2024 不动产登记空间数据规范
- 2025年日历表全年(打印版)完整清新每月一张
- 高校毕业证编号编制规则
- 软件产品(项目)客户满意度调查表格
- 极致物业管理系统-客户关系管理
- 工段、班组BPD培训指导通用PPT课件
评论
0/150
提交评论