这就是为什么边框总是首选 px 单位的原因,因为边框在所有屏幕尺寸上也保持固定。 % 单位 这用于设置元素的宽度,它总是相对于其直接父元素的大小。...60px; } .container{ font-size: 16px; } h1{ font-size: 1rem; } 效果 vw 单位 vw 代表 viewprot width(视口宽度...所以,如果 1vw == 1% 那么 100vw == 100% 视口宽度。 让我们考虑以下示例,其中一个子项的宽度相对于父项的大小,而另一个子项的宽度相对于根。...background: skyblue; } .box2{ width: 70vw; background: pink; } 效果 vh 单位 vh 代表 viewprot height (视口高度...em 单位相对于元素字体大小的边距和填充 。 rem 单位相对于根的字体大小 。 vw 和 vh 表示相对于根的宽度和高度。
视口宽度 vw单位表示根元素宽度的百分比,1vw等于视口宽度的1%。 ?...例如,我们可以将以下内容用作文章标题: .title { font-size: 5vw; } 标题的font-size将根据视口宽度增加或缩小。 就像提供的字体大小是视口宽度的5%一样。...2.添加 margin-left: -50vw 为了使图像居中,我们需要给它一个负的边距,其宽度为视口宽度的一半。 ?...10vh; } .page-header h2 { margin-bottom: 1.5vh; } 使用vh单位用于页面标题的 paddding,以及标题下方的边距。...Vmin 和 Vmax 用例 该用例是关于页面标题元素的顶部和底部padding 。 当视口较小(移动)时,通常会减少padding 。
假设设计师交付的设计稿宽度是750px,设计稿上一个标题字号标注的是32px 、margin是20px。我们以标注的大小来写CSS。...这段代码的意思是:设置布局视口(layout viewport)的宽度为750px(此时页面一般会超出屏幕),再缩放页面(initial-scale)使其恰好撑满屏幕。 # 3、适配代码 框在大屏手机下显得很粗,在小屏手机下显得很细。
这就是为什么边框总是首选 px 单位的原因,因为边框在所有屏幕尺寸上也保持固定。 百分比 用于设置元素的宽度时,它总是相对于其直接父元素的大小。...parent is body so, 3*16px will be 48px */ } h1{ font-size: 1em; /* now 1em == 48px */ } 我们可以将这个单元用于边距和填充...html{ font-size: 60px; } .container{ font-size: 16px; } h1{ font-size: 1rem; } vw vw 代表视口宽度...所以,如果 1vw == 1% 那么 100vw == 100% 视口宽度。 让我们考虑以下示例,其中一个子项的宽度相对于父项的大小,而另一个子项的宽度相对于根。...相对于元素字体大小的边距和填充的 em 单位。 相对于根的字体大小的 rem 单位。 vw 和 vh 表示相对于根的宽度和高度。
浏览器将向上滚动以使输入框在键盘上方,因此粘性标题和浮动按钮将消失。 它看起来与以下内容相似: 这是移动浏览器中的默认行为。...在技术术语中,可见部分被称为视口,而隐藏部分以及当前可见的部分则是布局视口。 主要问题是当虚拟键盘激活时,可视视口的大小会缩小。...使用虚拟键盘API修复键盘下隐藏的内容 由于虚拟键盘API的存在,我们可以定义视觉和布局视口相等。...你可能会对由于标题和固定底部的存在而导致的空间减少感到困惑。我们可以使用垂直媒体查询来在垂直空间足够的情况下显示标题。...无法滚动到页面的最底部 当视口底部有一个带有 position: fixed 的项目时,我们通常会添加 padding-bottom 来偏移页面,使用户可以滚动到最底部。
使用css变量,currentColor,inherit...目前css变量很少,兼容性有待改善 响应式网页设计,每个媒体查询都会增加成本;避免媒体查询 使用百分比长度来取代固定长度,或者使用与视口相关的单位...(vw,vh,vmin,vmax),她们的值解析为视口宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替width,因为他可以适应较小的分辨率,而无需使用媒体查询...替换元素(img,object,video,iframe)设置一个max-width值为100%; 图片元素以行列式进行布局时,让视口的宽度来决定列的数量,弹性和布局(flexbox,display:inline-block...边框内圆角 有时候我们需要一个容器,只有内侧有圆角,边框或者描边的四个角在外部仍然保持直角形状 解决方案:box-shadow和outline结合 实现原理: outline(描边)不会跟着元素的圆角走...紧贴底部的页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望中那样紧贴在视口的最底部,而是在内容的下方 ?
使用css变量,currentColor,inherit...目前css变量很少,兼容性有待改善 响应式网页设计,每个媒体查询都会增加成本;避免媒体查询 使用百分比长度来取代固定长度,或者使用与视口相关的单位...(vw,vh,vmin,vmax),她们的值解析为视口宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替width,因为他可以适应较小的分辨率,而无需使用媒体查询...替换元素(img,object,video,iframe)设置一个max-width值为100%; 图片元素以行列式进行布局时,让视口的宽度来决定列的数量,弹性和布局(flexbox,display...边框内圆角 有时候我们需要一个容器,只有内侧有圆角,边框或者描边的四个角在外部仍然保持直角形状 解决方案:box-shadow和outline结合 实现原理: outline(描边)不会跟着元素的圆角走...紧贴底部的页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望中那样紧贴在视口的最底部,而是在内容的下方 解决方案:flex弹性布局 flex
相关问题:图片或 1px 边框显示模糊 在移动端中,常见图片或者 1px 的边框在一些机型下显示模糊/变粗的问题。基于对像素相关的概念理解,可知 CSS 中的 1px 是指一个单位的逻辑像素。...1.2 视口 image 视口(viewport) 视口一般是指用户访问页面时,当前的可视区域范围。通过滚动条滑动,视口可以显示页面的其他部分。...为了让移动端也能正常显示未适配移动设备的页面,从而引入布局视口和视觉视口的概念。 布局视口(layout viewport) 布局视口的宽度默认为 980px,通常比物理屏幕宽。...视觉视口(visual viewport) 视觉视口是布局视口的当前可见部分。用户可以通过缩放来查看页面内容,从而改变视觉视口,但不影响布局视口。 2....使用 viewport 元标签配置视口 开发者可以通过 对移动端的布局视口进行设置。
,初步满足了“满屏”的需求,但是仍然存在不足: 不够灵活 固定定位的问题在于元素始终是以自己的某条边相对于视口的对应边框进行定位(如:只能是元素顶部相对于窗口顶部位置固定,而不能实现元素底部相对于窗口顶部位置固定的需求...2.2.2、吸附性 对于一个元素,可以预设其锚点吸附于视口的顶部/底部,左边/右边,具体规则如下: 元素在水平方向或垂直方向上,不能同时吸附对应的两条边;比如不能令一个元素同时吸附视口顶部和视口底部;但是可以另其同时吸附视口顶部和视口左边...元素若预设吸附了视口某一条边,则在任意规格的视口中,元素锚点相对于该条边的距离相同(以 rem 为单位)。...若元素在水平或垂直方向上,并不吸附于任意一条边,则令其相对于该方向上的两条边的距离比例固定;比如若元素同时不吸附于视口左边和右边,则元素相对于视口左边和右边的距离之比固定,值为在页面设计器中,配置页面时该元素距离视口左边和右边的距离之比...3.2、吸附性 不同视口内,页面元素的 锚点 相对于视口的某一个边的位置是定值,称该元素 吸附 于该条边,视吸附的边的不同,可以分为 吸顶 、 吸底 、 靠左 和 靠右; 对于某个元素,若其在水平或竖直方向并
剪裁空间:物体即使被摄像机观察到进入了摄像机空间,如果有的部分位于视景体外部,也是看不到的,所以被摄像机观察到的,同时位于视景体外部的部分裁去,留下在视景体内部的物体部分,这部分构成了剪裁空间。...实际窗口空间:就是视口,一般使用GLES20.glViewport(int x, int y, int width, int height)设置,通常来说是SurfaceView的大小。...标准设备空间->实际窗口空间(视口) 将标准设备空间的XY平面[-1,1]的坐标转换为位于实际窗口中的XY像素坐标。...在视景体内的物体是先投影到近平面,再到标准设备,最终显示到视口的,所以近平面的宽高非常重要,因为一旦近平面的宽高比出现了问题,那么物体就会被拉伸变形。一般会保持近平面的宽高比和视口的宽高比相等。...onSurfaceChanged(GL10 gl, int width, int height) { GLES20.glViewport(0, 0, width, height); //设置视口
声明viewport视口 viewport对于移动端设备来说非常的重要,用于定义视口的各种行为。...user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/> width 正整数或device-width 定义视口的宽度...,单位为像素 height 正整数或device-height 定义视口的高度,单位为像素 initial-scale [0.0-10.0] 定义初始缩放值 minimum-scale...apple-mobile-web-app-status-bar-style" content="black-translucent"/> 添加到主屏后的图标 IOS系统中对ICON有一套规范,就是在IOS设备的图标统一为“四边圆角..." content="标题"/> QQ浏览器(X5内核)独有的META //->设置屏幕方向
翻译一下: 大视口(Large Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都没有展开 小视口(Small Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都展开了...因此,对应到高度之上,其状态大致如下: 理解了大视口与小视口之后,再理解动态视口就轻松了些。...简单而言,动态视口的意思是: 动态工具栏展开时,动态视口等于小视口的大小 当动态工具栏被缩回时,动态视口等于大视口的大小 因此,也就能得到下面这张图: 其中,dvh、dvw、dvmax、dvmin 对标...同理去理解大视口、小视口下的 lvi、lvb、dvi、dvb。...分别是: 大视口(Large Viewport) 小视口(Small Viewport) 动态视口(dynamic viewport) 它们的出现,极大的弥补了之前 vh/vw 等视口单位存在的问题。
vw and vh 1vw 等于1/100的视口宽度 (Viewport Width) 1vh 等于1/100的视口高度 (Viewport Height) 综上,一个页面而言,它的视窗的高度就是 100vh...但是如果你就想用视口(viewpoint)的宽度或者高度,而不是父元素的,那该肿么办? 这就是 vh 和 vw 单位为我们提供的。 1vh 等于1/100的视口高度。...同理,如果视口宽度为750, 1vw = 750px/100 = 7.5 px。 可以想象到的,他们有很多很多的用途。比如,我们用很简单的方法只用一行CSS代码就实现同屏幕等高的框。....slide { height: 100vh; } 假设你要来一个和屏幕同宽的标题,你只要设置这个标题的font-size的单位为vw,那标题的字体大小就会自动根据浏览器的宽度进行缩放,以达到字体和...vmin and vmax vh和 vw 依据于视口的高度和宽度,相对的,vmin 和 vmax则关于视口高度和宽度两者的最小或者最大值 vmin — vmin的值是当前vw和vh中较小的值。
上图显示了当没有用wrapper进行包裹时元素是如何展开的,用户不应该体验这种行为。我们来解释一下背后的原因。...当视口大小小于 wrapper 的最大宽度时,这将导致 wrapper 边缘粘在视口上。...16px的偏移量,即使视口的大小小于最大宽度。...全屏中的 Wrapper 在某些情况下,如果某个部分的背景视口宽度为100%,并且其中包含wrapper`,则可能会出现这种情况。 与上一个示例中介绍的类似。...在上面的示例中,你可能需要让标题扩展到整个页面的宽度,而不是受wrapper宽度的限制。
# 给视口添加 meta 标签 视口的meta标签。这个 HTML 标签告诉移动设备,你已经特意将网页适配了小屏设备。.../** * 只有当设备的视口宽度大于等于 560px 的时候,才会给标题设置 2.25rem 的字号。 * 如果视口宽度小于 560px,那么里面的所有规则都会被忽略。...https://codepen.io/cellinlab/pen/GRyXmjx 通过缩放浏览器窗口就能测试标题样式。当窗口很窄的时候,标题是适应移动端的小字号。...max-width 等 min-width 匹配视口大于特定宽度的设备,max-width 匹配视口小于特定宽度的设备。...)——匹配高度小于等于20em的视口 (orientation: landscape)——匹配宽度大于高度的视口 (orientation: portrait)——匹配高度大于宽度的视口 (min-resolution
github.com/F-star/suika 线上体验: https://blog.fstars.wang/app/suika/ 缩放至适应画布 这里涉及了场景坐标和视图坐标的转换,引入了 zoom 和视口概念...需要判断是基于 bbox 的宽,还是基于高进行缩放; 最后是计算 viewport.x 和 viewport.y,将内容刚好在视口的中间位置。...最重要的是 计算缩放比,是基于 bbox 的宽还是高,去和视口宽或高相除。 这个属于是 填充策略中的 contain 策略。...加了 50px 的边距,这样内容就不再紧贴视口边缘了,选中图形图像的控制点不至于跑到视口外。 思路是,计算 newZoom 时用的 vw 和 vh,在原来的基础减去 padding,再去计算。...计算缩放比,对象是减去 padding 的视口宽高;计算位置,对象是原来的视口宽高。 代码实现,改一下上面代码的第二步即可。
引入视口相机的概念 为了便于处理编辑器内容的变换,这里引入 视口相机 (ViewCamera) 的概念。...两个尺寸的赋值 视口尺寸可以依赖外界设置。...展示尺寸在 开始时 希望以适合大大小填充视口;网格长边留下 fixPadding 的边距;这样依赖视口尺寸,就可以算出网格适应边的大小;再根据网格尺寸,就可以算出每个网格的尺寸 pixSide 比如网格宽度大于长度时...,左右两侧留下 fixPadding ,使其填充相机视口: 尺寸的计算逻辑如下所示,相机设置视口尺寸时,先检验和旧尺寸是否一致。...点击格点坐标校验 由于点击事件回调的触点时相对于视口左上角的偏移量。当视口进行缩放或者平移时,就需要进行相应的转换。将触点映射到变换后的坐标系中。
二、CSS 部分 代码功能概述 这段代码是一个 CSS 媒体查询,用于在视口宽度小于等于 800px 时(通常是移动设备屏幕),对页面的布局和样式进行调整,以实现响应式设计。...媒体查询部分 @media (max-width: 800px) { /* 这里是在视口宽度小于等于 800px 时应用的样式 */ } @media 是 CSS 中用于媒体查询的关键字,(max-width...: 800px) 表示当视口的宽度小于或等于 800px 时,内部的样式规则将会生效。...width: 100%;:菜单容器的宽度与视口宽度相同。 background-color: #252525;:设置菜单容器的背景颜色为深灰色。...HTML 结构构建 头部设置:在 index.html 中设置页面的基本元数据,包括字符编码、兼容性、视口信息和页面标题,同时引入外部样式表,确保页面能正确渲染和自适应。
在CSS3中,新增了很多长度单位,今天就来谈谈: vw、vh、vmin、vmax 1.什么是视口?...在客户端,视口指的是浏览器的可视区域; 而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Viewport(视觉视口),Ideal Viewport(理想视口)。...指的就是Layout Viewport, “视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小...2.视口单位:根据CSS3规范,视口单位主要包括以下4个: (1)vw、vh vw是相对视口(viewport)的宽度而定的,1vh 等于1/100的视口高度, 假如浏览器的宽度为200px,那么1vw...(2)vmin、vmax vmin和vmax是相对于视口的高度和宽度两者之间的最小值或最大值。
值得注意的是,在正常流里垂直边距(vertical margin)是重叠的。也就是说,上下两个块级盒之间的边距由它们之中边距较大的元素决定,而不是他们的和!...如果元素有属性 'position:fixed',containing block 由视口建立。...名词解释: 视口:通过解析文档,连续媒体(比如屏幕就是连续媒体,而打印机则是基于页的媒体)给用户产生一个视口(一个窗口或其它在屏幕上显示的区域)。...绝对定位元素(position: absolute | fixed) 行内块元素(display: inline-block) 表格的单元格(display: table-cells,TD、TH) 表格的标题...因为BFC内部的元素和外部的元素绝对不会互相影响,因此,当BFC外部存在浮动时,它不应该影响BFC内部Box的布局,BFC会通过变窄,而不与浮动有重叠。
领取专属 10元无门槛券
手把手带您无忧上云