网站首页 > 技术文章 正文
一、自适应
自适应布局的特点是分别为不同的屏幕分辨率定义布局,即创建多个静态布局,每个静态布局对应一个屏幕分辨率范围。改变屏幕分辨率可以切换不同的静态局部(页面元素位置发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。可以把自适应布局看作是静态布局的一个系列。
「方法:」
- 使用flex布局
- 使用百分比
- 避免写死宽高
- 添加滚动条
- 使用rem
- ...
二、响应式
响应式设计的目标是确保一个页面在所有终端上(各种尺寸的PC、手机、手表、冰箱的Web浏览器等等)都能显示出令人满意的效果,对CSS编写者而言,在实现上不拘泥于具体手法,但通常是糅合了流式布局+弹性布局,再搭配媒体查询技术使用。——分别为不同的屏幕分辨率定义布局,同时,在每个布局中,应用流式布局的理念,即页面元素宽度随着窗口调整而自动适配。即:创建多个流体式布局,分别对应一个屏幕分辨率范围。可以把响应式布局看作是流式布局和自适应布局设计理念的融合。
三、移动端常见的宽高
宽 高 | 比例 |
320×480 | (2:3) |
480×854 | (约9:16) |
480×800 | (3:5) |
480×640 | (3:4) |
540×960 | (9:16) |
600×1200 | (1:2) |
600×1024 | (75:128约9:16) |
640×960 | (2:3) |
640×1136 | (40:71约9:16) |
720×1280 | (9:16) |
768×1024 | (3:4) |
800×480 | (5:3) |
800×1280 | (5:8) |
1080×1920 | (9:16) |
1536×2048 | (4:3) |
1600×2560 | (5:8) |
附:智能手机屏幕尺寸和分辨率一览表
尺寸 (英寸) | 分辨率 | 像素密度 |
3.5(苹果 iphone4) | 960×640(DVGA) | 326PPI |
3.7 | 800×480(WVGA) | 252PPI |
3.7 | 800×480(WVGA) | 252PPI |
3.7 | 960×540(qHD) | 298PPI |
4.0 | 800×480(WVGA) | 233PPI |
4.0 | 854×480(WVGA) | 245PPI |
4.0 | 960×540(qHD) | 275PPI |
4.0(苹果 iphone5) | 1136×640(HD) | 330PPI |
4.2 | 960×540(qHD) | 262PPI |
4.3 | 800×480(WVGA) | 217PPI |
4.3 | 960×640(qHD) | 268PPI |
4.3 | 960×540(qHD) | 256PPI |
4.3 | 1280×720(HD) | 342PPI |
4.5 | 960×540(qHD) | 245PPI |
4.5 | 1280×720(HD) | 326PPI |
4.5 | 1920×1080(FHD) | 490PPI |
4.7 | 1280×720(HD) | 312PPI |
4.7 | 1280×720(HD) | 312PPI |
4.7 | 1280×720(HD) | 312PPI |
4.8 | 1280×720(HD) | 306PPI |
5.0 | 480×800(WVGA) | 186PPI |
5.0 | 1024×768(XGA) | 256PPI |
5.0 | 1280×720 | 294PPI |
5.0 | 1920×1080(FHD) | 441PPI |
5.3 | 1280×800(WXGA) | 285PPI |
5.3 | 960×540(qHD) | 207PPI |
6.0 | 854×480 | 163PPI |
6.0 | 1280×720 | 245PPI |
6.0 | 2560×1600 | 498ppi |
7.0 | 800×480(WVGA) | 128PPI |
7.0 | 1024×600 | 169PPI |
7.0 | 1280×800 | 216PPI |
9.7 | 1024×768(XGA) | 132ppi |
9.7 | 2048×1536 | 264PPI |
10 | 1200X600 | 170ppi |
10 | 2560×1600 | 299ppi |
1.百分比布局
窗口的hight和width改变的时候,通过给 height、width 、padding、border、margin等 属性都是依托父组件的宽高(margin 和 padding 都可以使用百分比值的形式,但有一点可能和通常的想法不同,就是 margin-top、margin-bottom、padding-top、padding-bottom的百分比值参照的不是容器的高度,而是父级容器的宽度)
- 子元素的 top 和 bottom 如果设置百分比,则相对于直接非 static 定位(默认定位)的父元素的高度,同样,子元素的 left 和 right 如果设置百分比,则相对于直接非 static 定位(默认定位的)父元素的宽度。
- 子元素的 padding 和 margin 如果设置百分比,不论是垂直方向或者是水平方向都相对于直接父亲元素的 width,而与父元素的 height 无关。border-radius 为百分比,则是相对于自身的宽度
「缺点:」
计算困难,如果我们要定义一个元素的宽度和高度,按照设计稿,必须换算成百分比单位
2、媒体查询布局
通过@media 媒体查询,可以通过给不同屏幕的大小编写不同的样式来实现响应式的布局。
响应式缺点:如果浏览器大小改变时,需要改变的样式太多,那么多套样式代码会很繁琐。
「语法: @media mediatype and not only (media feature) { css-code; }」
js
//也可以针对不同的媒体使用不同的stylesheets:
<link rel="stylesheet" media="mediatype and not only (media feature)" href"mystylesheet.css">
<link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)">
<!--上面将浏览器宽度小于等于80px时,应用 styleA 。-->
css引用
@media screen and (max-device-width:960px){
body{background:red;}
}
「常用的响应断点阈值设定」
括号后面是样式的缩写 |
<576px (Extra small) |
>=576px (Small --- sm) |
>=769px (Medium --- md) |
>=992px (Large --- lg) |
>=1200px (X-Large --- xl) |
>=1400px (XX-Large ---- xxl) |
「@media 会结合删格系统一起来使用,实现真正意义上的响应式开发。」
3.rem 响应式布局
rem通常用来适配移动端,按照视口将页面分成10份。
比如现在有 5 个同尺寸的屏幕 (750 640 480 375 320),所有屏幕整体宽分成 10rem 那我们就需要分别得到这几种不同屏幕下对应的 html 根元素的 font-size 大小了。
屏幕尺寸 | html中font-size 大小(1rem 大小) |
750px | 75px |
640px | 64px |
480px | 48px |
375px | 37.5px |
320px | 32px |
「flexible.js 插件也可以解决」
em和rem类似,都是依据font-size进行页面布局缩放,但是em多依赖于直接亲父级font-size的大小,只会找最近的父级,不直接依赖于整体的html根标签
4.vw、vh 响应式布局
因为 100vw = 100视图窗宽度 ,100vh = 100 视图窗高度,那么按照750的设计稿100vw就是750.那么1vw就是7.5px
屏幕尺寸 | 1vw |
750px | 7.5px |
640px | 6.4px |
480px | 4.8px |
5. flex 弹性布局
flex-direction , flex-wrap , justify-content , align-items , align-content 子元素:order , flex-grow , flex-shrink ,flex-basis , align-self
四、圣杯布局和双飞翼布局
双飞翼布局
左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应。
圣杯布局
同双飞翼布局一样,左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应,不过更加完整。
- 上一篇: 7种响应式导航解决方案
- 下一篇: 突然领导让我搭前端页面,我好方,20分钟玩转Bootstrap
猜你喜欢
- 2024-12-04 B 端响应式界面应该怎么做?这篇教程超详细
- 2024-12-04 响应式开发基本原则
- 2024-12-04 突然领导让我搭前端页面,我好方,20分钟玩转Bootstrap
- 2024-12-04 7种响应式导航解决方案
- 2024-12-04 3个步骤为网站添加响应式
- 2024-12-04 关于响应式布局
- 2024-12-04 一个简版响应式设计的教程
- 2024-12-04 响应式网站做流式布局真的好吗?
- 2024-12-04 用 CSS Grid 布局制作一个响应式柱状图
- 2024-12-04 移动端开发常用布局:流式布局讲解
你 发表评论:
欢迎- 07-07使用AI开发招聘网站(100天AI编程实验)
- 07-07Tailwindcss 入门(tailwindcss中文文档)
- 07-07CSS 单位指南(css计量单位)
- 07-07CSS 定位详解(css定位属性的运用)
- 07-07程序员可以作为终身职业吗?什么情况下程序员会开始考虑转行?
- 07-07云和学员有话说:国企转行前端开发,斩获13K高薪!
- 07-0791年转行前端开发,是不是不该转,有啥风险?
- 07-07计算机图形学:变换矩阵(图形学 矩阵变换)
- 596℃几个Oracle空值处理函数 oracle处理null值的函数
- 588℃Oracle分析函数之Lag和Lead()使用
- 576℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 573℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 569℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 562℃【数据统计分析】详解Oracle分组函数之CUBE
- 549℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 542℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)