首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS 尺寸单位概述

「使用值」是浏览器进行最终调整和转换后的属性值。在此过程中,相对单位会转换为绝对单位。对于有屏幕的媒体(即有屏幕的设备),物理单位会转换为等效的像素单位。...或者是相对于特定字形的尺寸进行计算,如 ch、ex 和 ic 单位。 使用字体相对单位时要注意:如果字体尚未加载,它们可能会触发字体下载。这可能会在速度较慢的网络或可用性不稳定的网络上造成布局偏移。...零宽单位: ch 和 rch ch 和 rch 单位基于用于渲染的字体中零字形的宽度或高度进行度量。当文档的内联轴为水平轴时,计算基于其宽度。如果内联轴是垂直的,则根据零字形的高度进行计算。...如果浏览器无法确定 0 字形的大小,ch 单位就会表现 0 字形为0.5em宽以及1em高。 与 rem 单位类似,rch 单位使用的是根元素字体零字形的宽高进行度量。...image.png 当浏览器无法从字体中确定大写高度时,就会使用字体的升角值。升角是小写字母(如 h 或 b)中超出 x 高度的部分。

36210

什么是移动端开发【重点学习系列—干货十足–一万字详解】

大家好,又见面了,我是你们的朋友全栈君。 引言 这一篇文章主要对移动端开发相关的基础知识点,进行总结。...视觉视口 视觉视口就是用户可见的区域。 获取方式 注:不缩放的情况下,视觉视口宽度 == 布局视口宽度。 理想视口 宽度与屏幕同宽的布局视口称为理想视口。...350ms 左右,如设置完美视口则时间间隔为 5ms 左右。...,再进行适配 完美视口设置 设计稿总宽 375 布局 设置 font-size 100px 尺寸转为 rem 增加 JS 代码进行页面适配 document.documentElement.style.fontSize...= document.documentElement.clientWidth*100/375+'px'; 方法二 编写时按照 IPhone 6 直接使用 rem 单位进行布局 完美视口设置 设计稿总宽

2.6K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    –我对移动端适配的了解

    获取到html元素的布局宽度也就是布局视口的宽度,使用媒体查询时 max-width 和 min-width 的值指的也是布局视口的宽。...故布局视口是看不见的,浏览器厂商设置的一个固定值,如980px,并将980px的内容缩放到手机屏内。一块手机屏幕,物理像素的数量是固定不变的。...**方案一:固定高度,使其宽度自适应**这也是我接触移动端适配第一次使用的方案。这个方案使用了理想视口,使得布局视口等于设备宽度。...**方案二:固定布局视口宽度,使用viewport进行缩放(网易、荔枝FM)** if(/Android (\d+\....rem,同时设计稿的宽对应可视视口的宽,即有 (750/100) rem = 可视视口宽,1 rem = 可视视口宽 * (100/750),(100/750)就是我们要的系数在页面初始化时设置一下

    2.1K30

    H5移动端开发学习总结

    viewport(视口) ###3个视口### layout viewport(布局视口):CSS初始包含块的尺寸。CSS中所有以百分比为单位的长度都是根据它推算出来的。...ideal viewport(完美视口):完美适配移动设备的viewport,它的宽度等于移动设备的屏幕宽度。有了完美视口,用户不用缩放和拖动网页就能够很好的进行网页浏览。...而完美视口需要通过viewport meta标签来进行相应的设置。 ###像素### 一个像素就是计算机屏幕能显示一种特定颜色的最小区域。屏幕上的像素越多,同一时间你可以看到的就越多。...手机浏览器是把页面放在一个虚拟的”视口”(viewport)中,视口可大于或小于手机屏幕的可视区域,一般手机默认viewport大于可视区域。...viewport宽度与设备视觉视口宽度一致了。

    1K20

    vivo悟空活动中台-基于行为预设的动态布局方案

    ,初步满足了“满屏”的需求,但是仍然存在不足: 不够灵活 固定定位的问题在于元素始终是以自己的某条边相对于视口的对应边框进行定位(如:只能是元素顶部相对于窗口顶部位置固定,而不能实现元素底部相对于窗口顶部位置固定的需求...1.2、实际视口宽高 描述实际视口宽度与高度,我们设实际宽度和高度分别为 realW 和 realH ,且由于使用基于 DPR 和 rem 的方案,容易得出 realW = baseW = 10.8rem...2.2、缩放比 scale 使用 scale 描述元素在实际视口与标准视口下的缩放比,设元素在基准视口下的宽高为 width 和 height ,则元素在实际视口下的宽高分别为 baseW * scale...3.3、元素定位 我们以视口左上角作为定位坐标系的原点 ( 0, 0 ) ,将元素的吸附性使用元素锚点相对于定位原点的距离进行描述。...4.1.3 使用锚点进行样式表达 而且既然我们已经有了元素 锚点 的概念,使用元素锚点的偏移量进行定位是更合乎情理的,锚点即是 CSS 中的 transform-origin 属性,即 transform-origin

    2.1K10

    投影矩阵详解

    大家好,又见面了,我是你们的朋友全栈君。 视锥就是场景中的一个三维空间,它的位置由视口的摄像机来决定。这个空间的形状决定了摄像机空间中的模型将被如何投影到屏幕上。...在透视变换中,   这个矩阵基于一定的距离(这个距离是从摄像机到邻近的剪切面)对对象进行平移和旋转,但是它没有考虑到视野(   在这个矩阵中,   在程序中,使用视野角度来定义 x和y缩放系数比使用视口的水平和垂直尺寸...下面两式使用了视口的尺寸,并且与上面的公式相等:   在这些公式中,Zn表示邻近的剪切面的位置,变量Vw和Vh表示视口的高和宽。...开始定义透视投影的矩阵时,可以象下面左图这样来使用变量D: fov-field of view)和前后剪切面的位置来进行定义:   视锥就是场景中的一个三维空间,它的位置由视口的摄像机来决定。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.5K30

    【学习图片】11.描述性语法

    例如,固有宽度为400px的图像在原始的Google Pixel和较新的Pixel 6 Pro上几乎占据整个浏览器视口 - 这两个设备都有一个标准化的412px逻辑像素宽的视口。...这并没有告诉我们有关图像在页面布局中应该如何渲染的任何信息 - 它甚至不能将视口用作 img 大小的上限的代理,因为它可能占据水平滚动的容器。因此,我们需要使用标记语言提供这些信息给浏览器。...幸运的是,我们可以在这里使用calc()——任何具有响应式图像本地支持的浏览器也将支持calc(),使我们能够混合和匹配CSS单位——例如,一个占据用户视口的全宽度,减去两侧1em边距的图像: 视口缩放到需要新图像才能避免缩放的程度,那么仍将进行该请求,以便一切看起来符合我们的期望。...很少有人会手工制作多个版本的图像以用于生产环境,而是使用类似Gulp这样的任务运行器、Webpack这样的捆绑器、第三方CDN(如Cloudinary)或已经内置在您选择的CMS中的功能来自动化该过程。

    1.2K20

    第118天:移动端开发——视口

    CSS像素:为Web开发者创造的,在CSS(和JavaScript)中使用的一个抽象的层。 说明一下:web开发过程中,我们基本使用的都是CSS像素,设备像素基本不会用。...所以,移动端浏览器厂商必须保证即使在窄屏幕下我们的页面可以展示的很好,他们将视口的宽度设计得比屏幕宽度宽出很多。这样。在移动端,视口与移动端浏览器屏幕宽度就不再关联,而是完全独立的了。...如上图,红色箭头之间的区域就是视觉视口的区域。它和设备的屏幕一样宽,并且它的CSS像素的数量会随着用户缩放而改变。 3、理想视口 布局视口的默认宽度并不是一个理想的宽度。...另外,建议大家在书写meta视口时,应向本篇开始时的典型例子那样书写。 三、总结   本篇介绍了css像素和设备像素。开发人员在开发中基本上使用的都是css像素。   ...介绍了三种视口 布局视口:不再与移动端浏览器相关联,完全是独立的。实际上布局视口的宽度要比屏幕宽出很多。 视觉视口:用户看到的网站展示区域,一般视觉视口和设备宽度一致。

    95420

    Canvas 上实现坐标定位

    本文,我们将来讲解如何在 canvas 上实现坐标的定位,如下效果图所示: 我们顺便还显示了一个拖拽的功能,当然这个并不是使用 canvas 绘制,后面会讲到。...canvasDom.addEventListener("mouseout", () => { clearRect(); }) getBoundingClientRect() 是 DOM 元素对象的方法,用于获取该元素相对于视口的位置和尺寸信息...该方法返回一个 DOMRect 对象,其中包含以下属性: x: 元素左边界相对于视口左边界的距离 y: 元素上边界相对于视口上边界的距离 width: 元素的宽度 height: 元素的高度 top...: 元素上边界相对于视口上边界的距离 right: 元素右边界相对于视口左边界的距离 bottom: 元素下边界相对于视口上边界的距离 left: 元素左边界相对于视口左边界的距离 我们来讲个题外话...是因为 transform 的性能更友好,这一步是在合成线程中进行,避免了重排的情况。

    36830

    把所有的东西都对齐吧 - 谈谈垂直居中的解决方案

    "44年前我们就把人类送上了月球了,但现在我们仍然无法在css中实现垂直居中 -James Anderson" 难题 在CSS中对元素进行水平居中是非常简单的;如果是一个行内元素,就对父元素设置text-align...当我们在进行translate()变形函数中使用百分比值时,是以这个元素位基准进行转换和移动的,而这正是我们所需要的. main{ position:absolute; top:50%;...但是没有任何技巧十全十美,我们需要注意几点: 我们有时不能选择绝对定位,他对整个布局影响太过强烈 如果需要居中的元素已经在高度上超过了视口,那它的顶部部分就会被视口裁掉 在某些浏览器中,这个方法可能会导致元素的显示模糊...,因为元素可能会被放置在半个元素上.可以用一个偏hack的手段来修复transform-style:preserve-3d 基于视口的解决方案 假设我们不使用绝对定位,仍然采用translate()技巧来把这个元素以其自身宽高的一半为距离进行移动...vm是与视口宽度相关的.1vm相当于视口的1% 与vw类似,1vh相当于视口的1% 当视口宽度小于高度时,1vmin等于1vw,否则等于1vh 当视口宽度大于高度时,1vmax等于1vw,否则等于1vh

    2.3K60

    解决CSS垂直居中的几种方法(基于绝对定位,基于视口单位,Flexbox方法)

    3)在实践中,它往往难如登天,当涉及尺寸不固定的元素时尤其如此。       接下来我们具体说明一下这三个方法的简单使用。...这段代码在本质上做了这样几件事情:先把这个元素的左上角放置在视口(或最近的、具有定位属性的祖先元素)的正中心,然后再利用负外边距把它向左、向上移动(移动距离相当于它自身宽高的一半),从而把元素的正中心放置在视口的正中心...三、基于视口单位的解决方法     假设我们不想使用绝对定位,仍然可以采用translate()技巧来把这个元素以其自身宽高的一半为距离进行移动;但是在缺少left和top的情况下,如何把这个元素的左上角放置的容器的正中心呢...不过幸运的是,如果只是想把元素相对于视口进行居中,仍然是有希望的。CSS值与单位(第三版)定义了一套新的单位,称为视口相关的长度单位。       1) vw 是与视口宽度相关的。...五、绝对定位结合translate()方法 (不确定宽高的情况下)  使用绝对定位将top和left设置为50%,再将元素本身使用translate分别沿着x和y轴移动-50%,此方法可以在不知道div

    1.8K70

    图形编辑器开发:缩放至适应画布

    github.com/F-star/suika 线上体验: https://blog.fstars.wang/app/suika/ 缩放至适应画布 这里涉及了场景坐标和视图坐标的转换,引入了 zoom 和视口概念...需要判断是基于 bbox 的宽,还是基于高进行缩放; 最后是计算 viewport.x 和 viewport.y,将内容刚好在视口的中间位置。...最重要的是 计算缩放比,是基于 bbox 的宽还是高,去和视口宽或高相除。 这个属于是 填充策略中的 contain 策略。...更多填充策略,看我的这篇文章: 《在容器内显示图片的五种方案:contain、cover、fill、none、scale-down》 我们需要比较 bbox 的宽高比和视口 viewport 的宽高比。...计算缩放比,对象是减去 padding 的视口宽高;计算位置,对象是原来的视口宽高。 代码实现,改一下上面代码的第二步即可。

    28130

    流媒体解码及H.264编码推流简介

    简介 相关理论 程序流程 Opencv解析视频流 像素格式转换 FFmpeg进行H.264编码 FFmpeg进行格式封装和推流 完整 这里我们使用了FFmpge的sdk和Opencv的sdk。...FFmpeg进行推流 接下来我们来细化流程。 Opencv读取视频流 打开并读取视频帧使用VideoCapture类。open来打开。打开完成后可获取相关的视频信息。...保存在Mat中。...而read()中主要分两个步骤 使用grab()方法解码视频帧 注意解码的步骤不许要做,保证后面的数据能够正确解析 使用retrieve将yuv转换为rgb数据 这里的yuv和rgb都是未压缩的数据...源宽、高、像素格式 inWidth, inHeight, AV_PIX_FMT_YUV420P,//目标宽、高、像素格式 SWS_BICUBIC, // 尺寸变化使用算法 0,

    1.8K50

    超 Nice 的表格响应式布局小技巧

    今天,遇到了一个很有意思的问题,一名群友问我,仅仅使用 CSS,能否实现这样一种响应式的布局效果: 简单解析一下效果: 在屏幕视口较为宽时,表现为一个整体 Table 的样式 而当屏幕视口宽度较小时,...另外,我们观察下拆分后的每一组数据: 都会存在一组原本整体一个 Table 时的表头信息,主要的难点就是在这里,我们如何在拆分成一个一个的子 Table 展示时,同时展示这些表头信息?...基本结构的实现 首先,我们先实现常规宽屏下的 HTML 及对应的 CSS。 比较简单,这里没有什么特殊之处,使用 标签或者使用 div、ul 等标签进行模拟一个表格都可以。...重复多组 得到这样一个简单的 Table: 使用媒体查询将单个 Table 拆分成多个 下一步也很简单,设定合适的阈值(视实际业务情况而定),使用媒体查询将单个...完整的效果,即如题图所示: 完整的 DEMO,你可以戳这里:CodePen Demo -- Simple Responsive Table in CSS 最后 伪元素的这个特性其实可以应用在日常效果中的非常多个地方

    1.4K10

    【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

    Q此处插入一个问题: 浏览器中,对页面进行放大的时候,视口的大小如何变化? 2.1 viewport 的缩放与平移 回答上面的问题,视口会变小。...如图,PC Chrome 中试验,确实如之前解释,放大到 200%后,视口大小缩小了一倍。...如前面 viewport 概念的解释,css 中同样 px 大小的宽高描述,在不同大小的视口状态下,用户在浏览器窗口中看到的页面大小的效果是不同的。...注:Pad 设备虽然也是移动设备,但是因为屏幕足够宽,所以现在多数产品(如某宝)的方案都是访问 PC 站点了。...在滚动到视图中之前,视口外部的内容在屏幕上不可见。 ●当前可见的视口部分称为可视视口。这可以小于布局视口,例如当用户进行缩放缩放时。该布局视口保持不变,但视觉视口变小。

    3.1K30

    整理获取 viewport 和 element 尺寸和位置方法

    整理获取 viewport 和 element 尺寸和位置方法 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 视口页面或窗口的位置和宽高 获取视口宽高 下面方法是包括滚动条的宽高,不支持 IE8...document.documentElement.clientHeight || document.body.clientHeight 如果是 document.documentElement,那么返回的是不包含滚动条的视口尺寸...如果是 document.body,并且是在混杂模式下,那么返回的是不包含滚动条的视口尺寸 clientLeft/clientTop 返回的是计算后的 CSS 样式的 border-left-width...document.documentElement.scrollHeight || document.body.scrollHeight 如果元素是 document.documentElement,返回的是视口滚动区域宽度和视口宽度中较大的那个...如果元素是 document.body,并且是在混杂模式下,那么返回的是视口滚动区域宽度和视口宽度中较大的那个 scrollLeft/scrollTop 这个方法返回元素滚动条的位置 如果元素是根元素

    1.3K20

    彻底搞懂移动Web开发中的viewport与跨屏适配

    Q此处插入一个问题: 浏览器中,对页面进行放大的时候,视口的大小如何变化? 2.1 viewport 的缩放与平移 回答上面的问题,视口会变小。...如图,PC Chrome 中试验,确实如之前解释,放大到 200%后,视口大小缩小了一倍。...如前面 viewport 概念的解释,css 中同样 px 大小的宽高描述,在不同大小的视口状态下,用户在浏览器窗口中看到的页面大小的效果是不同的。...注:Pad 设备虽然也是移动设备,但是因为屏幕足够宽,所以现在多数产品(如某宝)的方案都是访问 PC 站点了。...在滚动到视图中之前,视口外部的内容在屏幕上不可见。 ●当前可见的视口部分称为可视视口。这可以小于布局视口,例如当用户进行缩放缩放时。该布局视口保持不变,但视觉视口变小。

    3.4K20
    领券