必须说说窗户尺寸 浏览器窗口里面的宽度和高度可以用window.innerWidth/innerHeight描述,单位是CSS像素。...我们用下面的图来说说 移动设备上的浏览器都会把自己默认的viewport设为980px或1024px(也可能是其它值,这个是由设备自己决定的),这里是980px。这个是CSS像素。...放大 现在我们加上meta标签,初始缩放比为1(等于没有缩放),比如iphone6 的初始宽度的物理像素为...这里html的高度(CSS像素)始终是290px,放大后CSS像素没变,而纵向覆盖的物理像素变成了2倍。...所以图片的宽度是200个CSS像素,只覆盖了100个物理像素,高度也是一样。
其他品牌的移动设备也是这个道理。 物理像素 它是显示器(电脑、手机屏幕)最小的物理显示单位,物理像素指的是显示器上最小的点。物理像素的大小取决于屏幕。是一个无法改变的属性。...,1rem所代表的font-size大小就不会变,rem只取决于html的font-size rem解决了哪些问题 移动设备的宽度是各种各样的,每个设备的dpr也不同,换句话说就是不同设备每一行的物理像素数不同...的设备(iPhone6Plus)时,这个宽度375px的div就无法铺满这个屏幕,同样的当换一个iPhone5(320px),又会出现滚动条,安卓机的宽度更是五花八门,使用media媒体查询不靠谱,因为它不能覆盖所有的机型宽度...100,但是UI设计稿中使用了sketch做了动态计算,但我还是建议乘100,不然遇到psd的设计图就很麻烦了) 对上面的js做些完善 const fontFun = function () { let...的font-size:55.2px,1rem=55.2px rem是继承自html的font-size,但是小程序中没有html,那怎么办呢?
移动开发之响应布局 1.响应式开发 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。...,看到不同的页面布局和样式变化 平时我们的响应式尺寸划分 超小屏幕(手机,小于768px):设置宽度为100% 小屏幕(平板,大于等于768px):设置宽度为750px 中等屏幕(桌面显示器...1.优点 标准化的html+css编码规范 提供了一套简洁、直观、强悍的组件 有自己的生态圈,不断地更新迭代 让开发更简单,提高了开发的效率 2.2Bootstrap 使用 在现阶段我们还没有接触...1.cintainer类 响应式布局的容器 固定宽度 超小屏幕(100%) 小屏(>=768px):设置宽度为750px 中屏(>=992px):设置宽度为970px 大屏(>...超小屏幕(手机)=768px 中等屏幕(桌面显示器)>=992px 宽屏设备(大桌面显示器)>=1200px .container最大宽度 自动(100%) 750px
因此,本文后面要展示的N个demo,就没有必要再低版本的IE浏览器上查看了~~ 三、明确含义 看到上图黄色背景标示的文字(“视窗”用“视区”一词代替更恰当): vw 相对于视窗的宽度:视窗宽度是100vw...我的第一反应是:如果视区宽度是100vm, 则1vm是视区宽度的1/100, 也就是1%,类似于width: 1%....是浏览器内部宽度大小(window.innerWidth)?是整个浏览器的宽度大小(window.outerWidth)?还是显示器的宽度大小(screen.width)?我疑惑了!...拿视区覆盖举例,如果我定义一个元素的高宽如下: .element { width: 100vw; height: 100vh; } 然后,再将其定位到视区左上角,岂不是可以实现视区的完整覆盖...尼玛,当我做覆盖以及定位这两个demo的时候,心一下子凉下去了: vw, vh用在宽度自适应上没有价值——%可以实现之~~ 现在又:vw, vh用在absolute/fixed定位属性元素上没有价值——
可以看出CSS像素是一个相对的像素而非绝对像素 案例 在 一个物理像素为 1280x1024 的显示器放置一个宽高100px的容器 .box1{ height: 100px...需要注意的是视口的单位是CSS像素,而非物理像素 如下图 通过查看html的尺寸即可知道视口的尺寸 如图在浏览器大小没有发生改变,没有进行缩放时此时html/视口的尺寸为 1280x116...所以,有如下公式: DPR = 设备像素/CSS像素 了解上面的东西后接下来我们来探讨移动端的适配问题 注意在不同的屏幕,单位像素的大小是不同的,像素越小屏幕越清晰,智能手机的像素点是远远小于显示器的像素点的...这是为了让pc端的网页也能在移动端完整展示 如果pc端网页超过了980px那么移动端浏览器会对网页进行缩放以正常显示 通过结合上面的规律我们得出,视口小于物理像素时,页面展示的元素会放大,视口大于物理像素时元素会缩小...这就是pc端网页没有做移动端适配的情况下,在移动端看上去会非常的小,我们要通过缩放才能正常浏览网页,当然这个体验并不是很好 这也就是我们常说的布局视口 完美视口(理想视口) 默认情况下 移动端的像素比为
CSS&HTML面经专题——移动端响应式布局 1、Viewport视口 在移动端viewport视口(pc端没有这个概念)就是浏览器显示页面内容的屏幕区域。...375px/100 = 3.75px 也就是1vw = 3.75px 所以100px 为 100/3.75 = 26.666667 vw html{ font-size:26.666667vw;} body...自适应布局 (1)出现的背景 在PC时代初期,网页设计者都会设计固定宽度的页面,最开始的电脑显示器分辨率种类不多,因为当时电脑本来就少。...后来显示器大屏小屏种类越来越多,还有笔记本、平板电脑,这种固定宽度的页面出现了问题。于是出现了一种新的布局方式,宽度自适应布局。我们平时谈论的自适应布局,大多指的就是宽度自适应布局。...它可以自动识别屏幕宽度、并做出相应调整。网页的排版布局和展示的内容会有所变动。 (2)概念 根据屏幕大小变化,页面的内容排版布局会自动调整变动,已呈现更好的用户体验。
响应式网页设计 根据设备尺寸,自动调整布局,有bootstrap和foundation等 bootstrap没有自定义标签,主要通过css扩展class foundation不兼容旧版本的ie 网格系统...相当于C#UI里面的容器系统,bootstrap对css进行扩展,使用了类似less文件中的变量定义,sacc不仅增加了变量还多了继承、混合、嵌套等功能 布局中必须row包含col,不能单独col...bootstrap网格系统 col- 针对所有设备 col-sm- 平板 - 屏幕宽度等于或大于 576px col-md- 桌面显示器 - 屏幕宽度等于或大于 768px) col-lg- 大桌面显示器...- 屏幕宽度等于或大于 992px) col-xl- 超大桌面显示器 - 屏幕宽度等于或大于 1200px) 针对每一行设置,container (固定宽度) 或 container-fluid (全屏宽度...speech用于屏幕阅读器 移动端viewport自适应
cover:保持原图宽高比例,缩放到正好完全覆盖定义区域 contain:保持原图宽高比例,缩放到宽度或高度正好适应指定区域,或用像素如320px 480px或百分比如80% 90%表示*/ 〓边框属性...*/min-height:100px;/*元素的最小高度*/min-width:100px;/*元素的最小宽度*/width:240px;/*元素的宽度*/⊙伪元素在某区域前面添加内容 ①#whole_body...同上用于给文本的首行设置特殊样式 .file_list:first-line{填通用代码}伪类在元素获得焦点时向元素添加特殊的样式 a:focus{通用代码}★属性选择器★说明:利用这个选择器可以对带有指定属性的 HTML...*/ 完整代码复制时,注意带上该段开头部分与结尾部分(如body{和}),如发现不能使用可删除/*文字注释*/看看,建议结合上面的通用代码使用 网页主页定义 body { background-color...absolute:绝对定位 fixed:相对于浏览器窗口进行定位 relative:相对于其正常位置进行定位 static:默认值,没有定位*/ } 扩展名及首页上页下页末页区域定义 span { background-color
2.align-self属性 控制子项自己在侧轴上的排列方式 允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。...rem适配布局 ####一.rem基础 em是相对于 父元素的字体大小来说的 rem是相对于html 的字体大小来说的 rem的优点是可以通过修改html的字体大小来改变页面中元素的大小 ####二.媒体查询.../划分的分数) 屏幕宽度/划分的分数 就是html font-size的大小 页面元素的rem值= 页面元素值(px)/ html font-size的大小 响应式布局(Bootstrap框架) 一.响应式布局容器...尺寸划分:(最常用) 超小屏幕(手机,小于768px)width: 100% 小屏幕(平板,大于等于768px)width: 750px 中等屏幕(桌面显示器,大于等于992px)width: 970px...大屏幕(大桌面显示器,大于等于1200px)width: 1170px
bootstrap里面父容器版心的尺寸划分 超小屏幕(手机,小于 768px):设置宽度为 100% 小屏幕(平板,大于等于 768px):设置宽度为 750px 中等屏幕(桌面显示器,大于等于...992px):宽度设置为 970px 大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px 但是我们也可以根据实际情况自己定义划分 2 、bootstrap(前端开发框架...4.x.x:最新版,目前还不是很流行 2.4bootstrap基本使用 在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。...1170px 中屏 ( >=992px) 宽度定为 970px 小屏 ( >=768px) 宽度定为 750px 超小屏 (100%) .container-fluid 流式布局容器...超小屏幕(手机)=768px 中等屏幕(桌面显示器)>=992px 宽屏设备(大桌面显示器)>=1200px .container 最大宽度 自动(100%) 750px
适配 上面的方式已经把效果做出来了,接下来就是响应式适配了。...所以不管在哪种系统下,浏览器的宽度与分辨率是保持一致的(程序坞在底部的时候,程序坞在左右两边一般情况对宽度没有影响),高度则根据系统及浏览器的不同各有不同,比方说 Safari 没有书签高度。...1024 及以下算作移动端,以上算作 PC 端,所以两种选择 移动端适配一个移动端页面,PC 端适配一个 PC 端页面。...本来想用 rem 做适配的,但是 rem 需要些写很多个匹配,即下面的代码 @media all and (max-width: 1024px) { html, body {...vw: 相对于浏览器可视区的宽度 1vw = 浏览器可视区宽度的 1% vh: 相对于浏览器可视区的高度 1vh = 浏览器可视区高度的 1% 也就是说 100vh 实际上等于浏览器可视区的高度
二、响应式设计步骤 2.1、viewport 设置 大多数移动端浏览器都将html页面的宽度作为可视区的视图以符合屏幕分辨率,所以我们需要利用 meta 设置 viewport ,将网页宽度设为设备宽度...超小屏幕手机 (显示器 (≥992px) 大屏幕大桌面显示器 (≥1200px) 媒体查询有两种引入方式:内部引入和外部引入。...外层包裹的元素宽度处理要使用百分比。 图片缩放处理的时候容易失真,所以尝试给图片添加最大最小的宽度。...4.2、缺点: 响应式网站无法区分移动端,所以会出现隐藏部分无用内容,浪费宽度,加载耗时长。...用户在不同终端搜索习惯不同,百度对移动端和PC端的关键词处理策略也不同,百度搜索排名也是有PC和移动端之分的,所以如果要做优化,不建议响应式布局。
-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries: 这两个文件的引入是为了支持IE8下面的...100%. 2、.container-fluid :实现宽度为全屏 100% 的容器。...“行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。...因为: 如果在外层没有再包含container,那么嵌套列的宽度就是参参照当前所在的栅格; 如果外层添加了container,那么参照就是核心样式文件所设置的容器宽度 <div class="container...-- 1.如果在外层没有再包含container,那么嵌套列的宽度就是参参照当前所在的栅格 2.如果外层添加了container,那么参照就是核心样式文件所设置的容器宽度
设备的划分情况: 小于768的为超小屏幕(手机) 768~992之间的为小屏设备(平板) 992~1200的中等屏幕(桌面显示器) 大于1200的宽屏设备(大桌面显示器) 1.2...父容器版心的尺寸划分 超小屏幕(手机,小于 768px):设置宽度为 100% 小屏幕(平板,大于等于 768px):设置宽度为 750px 中等屏幕(桌面显示器,大于等于 992px):...宽度设置为 970px 大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px 但是我们也可以根据实际情况自己定义划分 2.0 bootstrap的介绍 2.1Bootstrap...4.x.x:最新版,目前还不是很流行 2.4bootstrap基本使用 在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。...宽度定为 750px 超小屏 (100%) .container-fluid 流式布局容器 百分百宽度 占据全部视口(viewport)的容器。
但是在响应式网页设计中,服务器向所有设备展现的HTML代码都是相同的,仅通过使用CSS用于改变设备上页面的呈现方式。...下面是移动优先样式的常见用例示例,其中对于较小的设备,列的宽度为100%,但在较大的视口中,列的宽度为50%。...column”元素的宽度设置为100%; 通过使用min-width媒体查询,我们专门为最小宽度为600px(暨宽度大于600px)的viewport定义了规则。...我们设置main标签设置为flex-wrap: wrap,这个设置为允许其内部子节点在父节点中换行, flex-basis: 100% 是指我们的div节点的宽度是相对于父节点宽度的100%(图1)。...最后,宽度和高度为100%会使子级iframe元素成为其父级的100%。父级.videoWrapper完全控制建立此宽高比布局。
这个概念随着移动设备的兴起而深入人心。 比如 头条他做的就不是响应式布局,他通过实时检测设备信息,在 www.toutiao.com和 m.toutiao.com两个网站之间切换。...注意观察的同学又发现问题了,图二没有办法看啊,太小了吧。是的,我们的响应式还没有做完,这个时候我们在 head里面添加如下一行代码再试试?...,后面的覆盖前面的,于是如例,当屏幕尺寸慢慢变大到 768px的时候,后者遍生效了。...移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也逐步支持。...下面是具体参数的说明: width 设置layout viewport 的宽度,为一个正整数,或字符串”width-device” initial-scale 设置页面的初始缩放值,为一个数字,可以带小数
领取专属 10元无门槛券
手把手带您无忧上云