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

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

这段代码在本质上做了这样几件事情:先把这个元素左上角放置在(或最近、具有定位属性祖先元素)正中心,然后再利用负外边距把它向左、向上移动(移动距离相当于它自身宽高一半),从而把元素正中心放置在正中心...在通常情况下,对那些需要居中元素来说,其尺寸往往是由其内容来决定。如果能找到一个属性百分比值以元素自身宽高作为解析基准,那我们难题就迎刃而解了!...不过幸运是,如果只是想把元素相对于进行居中,仍然是有希望。CSS值与单位(第三版)定义了一套新单位,称为相关长度单位。       1) vw 是与宽度相关。...与常人直觉不符是,1vw 实际上表示宽度 1%,而不是 100%。        2)  与 vw 类似,1vh 表示高度 1%。        ...3)  当宽度小于高度时,1vmin 等于 1vw,否则等于 1vh。        4)  当宽度大于高度时,1vmax 等于 1vw,否则等于 1vh。

1.7K70

试试动态单位之 dvh、svh、lvh

翻译一下: 大(Large Viewport):大小假设任何动态扩展和缩回 UA 界面都没有展开 小视(Small Viewport):大小假设任何动态扩展和缩回 UA 界面都展开了...简单而言,动态意思是: 动态工具栏展开时,动态等于小视大小 当动态工具栏被缩回时,动态等于大大小 因此,也就能得到下面这张图: 其中,dvh、dvw、dvmax、dvmin 对标...其实,在之前也有 vi 和 vb 两个单位: vi:vi 代表 Viewport Inline,代表文档内联方向。在水平书写方向上,这对应于宽度,而在垂直书写方向上,这表示高度。...这与 vi 水平书写方向相反,这将对应于高度,而在垂直文档中,这将表示宽度。 因此,vi 和 vb 属于两个逻辑单位。...1cqh 等于容器高度 1% 容器查询:它给予了 CSS,在不改变浏览器宽度前提下,只是根据容器宽度变化,对布局做成调整能力。

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

CSS 尺寸单位概述

「使用值」是浏览器进行最终调整和转换后属性值。在此过程中,相对单位会转换为绝对单位。对于有屏幕媒体(即有屏幕设备),物理单位会转换为等效像素单位。...它们是相对于初始包含块大小计算,如果是分页媒体,则是或页面。一个百分比单位等于初始包含块 1%。这与百分比不同,百分比将尺寸设置为父元素宽度或高度一定比例。...如果使用 svw 或 svi 单位来确定元素大小,那么当浏览器界面缩回时,元素大小不会扩大。反之,如果使用 lvh 或 lvb 单位,部分内容可能会在浏览器控件展开时被隐藏。...另一方面,动态尺寸并不稳定。当方向改变或用户滚动时,它们可能会改变。例如,当浏览器界面影响大小时,高度值为 100dvmax 元素就会改变大小。...容器相对单位 相对单位适用于浏览器窗口可用空间,而容器相对单位则是相对于元素包含上下文大小来计算

26810

CSS Viewport 单位,很多人还不知道使用它来快速布局!

它们好处在于为我们提供了一种不需要使用J avaScript 就能以动态方式调整大小方法。而且,如果它失效,也有很多备用方案。...例如,我们可以将以下内容用作文章标题: .title { font-size: 5vw; } 标题font-size将根据宽度增加或缩小。 就像提供字体大小宽度5%一样。...此外,我们添加了一些flexbox来处理水平和垂直居中内容。 事例源码:https://codepen.io/shadeed/pe......从容器中挣脱出来 我注意一个用例最适合编辑版面。 一个子元素,即使父元素宽度受到限制,它也会占据100%宽度。 考虑下面: ?...垂直和水平间距 我想到另一个有趣用例是使用单位来表示元素之间间距。这可以与margin、top、bottom和grid-gap等值一起使用。

3.2K30

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

2.3、初步优化方案 为了解决纵向适配问题,我们将页面内容分为背景图和内部元素两部分,并针对性进行属性调整,初步可以解决问题。...2.1.1、元素分类 将元素分类为 主要元素 和 次要元素: 主要元素 页面中需要突出重点内容,在尺寸发生变化引起空间竞争中,处于优势地位; 次要元素 页面中相对不重点内容,在尺寸发生变化引起空间竞争中...2.1.3、实际口中元素缩放行为 当实际短于基准,主要元素大小与基准保持不变,次要元素按比例缩小; 当实际长于基准,主要元素按比例放大,次要元素大小与基准保持不变。...2.2.2、吸附性 对于一个元素,可以预设其锚点吸附于顶部/底部,左边/右边,具体规则如下: 元素在水平方向或垂直方向上,不能同时吸附对应两条边;比如不能令一个元素同时吸附顶部和底部;但是可以另其同时吸附顶部和左边...若元素在水平或垂直方向上,并不吸附于任意一条边,则令其相对于该方向上两条边距离比例固定;比如若元素同时不吸附于左边和右边,则元素相对于左边和右边距离之比固定,值为在页面设计器中,配置页面时该元素距离左边和右边距离之比

2K10

偏移量、客户区大小大小、滚动大小、确定元素大小

客户区大小指的是元素内容及其内边距所占空间大小。...(标准模式) document.body.clientWidth和document.clientHeight(混杂模式) 取得大小跨浏览器解决方案: var pageWidth=window.innerWidth...就是指包含滚动内容元素大小。...像textarea、html这些元素,当内容超过所设置宽高后,就会出现一个滚动条,滚动大小计算差不多就是指把元素内容平铺后大小。...right和bottom,给出了元素在页面中相对于位置 ①由于ie8及更早版本认为文档左上角坐标是(2,2),而其他浏览器包括ie9则将(0,0)作为起点坐标,所以用函数使用它自身属性来确定是否要对坐标进行调整

1.4K20

Clamp()、Max() 和 Min() CSS 函数用例

editors=1100 装饰元素 如果你需要在部分项目中添加装饰元素,大多数时候,元素需要响应,并且可能需要根据大小进行不同定位,你会怎么做? 如下示例效果: 两侧有两个装饰元素。...editors=1100 流体英雄高度 与前面的示例相关,英雄部分高度可以根据大小而不同。因此,我们倾向于通过媒体查询或使用单元来改变它。....hero { min-height: clamp(250px, 50vmax, 500px); } 调整屏幕大小时,你会注意高度会根据宽度逐渐变化。...9999 是一个很大数字,强制该值为 0px 或 8px。 有了上面的内容,当卡片占据整个宽度时,它半径为零,或者在更大屏幕上为 8px。...,我们后面将会详细介绍,今天内容就先分享这里,感谢你阅读。

1.5K20

干货:CSS 专业技巧

一致垂直节奏 通用选择器 ( *) 跟元素一起使用,可以保持一致垂直节奏: .intro > * { margin-bottom: 1.25rem;} 一致垂直节奏可以提供视觉美感,增强内容可读性...与宽度无关,子元素div将保持其宽高比(100%/ 20%= 5:1)。...;用 em 来调整局部大小 在根元素设置基本字体大小后 ( html { font-size: 100%; }), 使用 em 设置文本元素字体大小: h2 { font-size: 2em;}p...使用选择器 :root来控制字体弹性 在响应式布局中,字体大小应需要根据不同进行调整。...你可以计算字体大小根据高度字体大小和宽度,这时需要用到 :root: :root { font-size: calc(1vw + 1vh + .5vmin);} 现在,您可以使用 root em

1.5K50

为什么margin、padding和其他间距技术应使用 px 单位

绝对长度单位总是相同,而不是基于页面中其他内容 相对长度单位单位可以改变,并基于字体和 如何确定何时使用绝对或相对 CSS 单位?...对于 font-size 属性使用 rem 单位是最佳实践,因为它允许用户通过个人设备上设置来自定义他们浏览体验 相对长度单位也常用于根据用户尺寸改变页面外观。...增加文字大小设置 调整浏览器窗口大小 放大或缩小页面 使用移动设备阅读 在所有这些情况下,用户最关心是什么?是内容,还是内容之间间距?这两点中哪一点对理解网页至关重要?...就垂直间距而言,最终也会增加用户完成任务难度。由于水平空间有限,文字必须换行下一行,对此你无能为力,但你也不想让页面变得更高,因为你垂直间距会随着文字大小增加而增加。...这样做目的是将网站使用基本字体大小加倍,因为网站使用 rem 单位来实际调整文字大小。 遗憾是,在大多数元素中,它们还将 rem 单位用于 margin 和 padding 中。

7310

07-移动端开发教程-移动端视

2.1 PC端视 PC端视大小跟浏览器可视区宽高保持1:1固定比例对应。也就是说浏览器改变宽高,跟着改变。...由于移动端可以进行放大、缩小、改变宽高,所以造成了大小跟屏幕能显示内容宽度和布局宽度不一致,这就出现两个概念:布局和视觉。...(ideal viewport) 所谓理想是: 第一,不需要用户缩放和横向滚动条就能正常查看网站所有内容; 第二,显示文字大小是合适,比如一段14px大小文字,不会因为在一个高密度像素屏幕里显示得太小而无法看清...看一图就明了: 普通屏幕 两倍屏 视觉:当页面手动放大时候,用户可以看到网页内容减少,视觉尺寸变小。反之,同理不赘述。...name="viewport" content="initial-scale=1,maximum-scale=5" /> 假设页面的默认缩放值initial-scale是1,那么用户最终能够将页面放大这个初始页面大小

1.4K80

07-移动端开发教程-移动端视

2.1 PC端视 PC端视大小跟浏览器可视区宽高保持1:1固定比例对应。也就是说浏览器改变宽高,跟着改变。...由于移动端可以进行放大、缩小、改变宽高,所以造成了大小跟屏幕能显示内容宽度和布局宽度不一致,这就出现两个概念:布局和视觉。...(ideal viewport) 所谓理想是: 第一,不需要用户缩放和横向滚动条就能正常查看网站所有内容; 第二,显示文字大小是合适,比如一段14px大小文字,不会因为在一个高密度像素屏幕里显示得太小而无法看清...视觉:当页面手动放大时候,用户可以看到网页内容减少,视觉尺寸变小。反之,同理不赘述。...name="viewport" content="initial-scale=1,maximum-scale=5" /> 假设页面的默认缩放值initial-scale是1,那么用户最终能够将页面放大这个初始页面大小

1.8K120

关于移动端适配,你必须要知道

当用户对浏览器进行缩放时,不会改变布局大小,所以页面布局是不变,但是缩放会改变视觉大小。...布局在移动端展示效果并不是一个理想效果,所以理想( ideal viewport)就诞生了:网站页面在移动端展示理想大小。...4.6 缩放 上面提到 width可以决定布局宽度,实际上它并不是布局唯一决定性因素,设置 initial-scale也有肯能影响布局,因为布局宽度取是 width和视觉宽度最大值...4.7 获取浏览器大小 浏览器为我们提供获取窗口大小 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉高度(包括垂直滚动条)。...下面的代码可以保证在页面大小变化时,布局可以自适应,当触发了 window resize和 pageShow事件之后自动调整 html fontSize大小

1.9K41

关于移动端适配,你必须要知道

当用户对浏览器进行缩放时,不会改变布局大小,所以页面布局是不变,但是缩放会改变视觉大小。...布局在移动端展示效果并不是一个理想效果,所以理想( ideal viewport)就诞生了:网站页面在移动端展示理想大小。...4.6 缩放 上面提到 width可以决定布局宽度,实际上它并不是布局唯一决定性因素,设置 initial-scale也有肯能影响布局,因为布局宽度取是 width和视觉宽度最大值...4.7 获取浏览器大小 浏览器为我们提供获取窗口大小 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉高度(包括垂直滚动条)。...下面的代码可以保证在页面大小变化时,布局可以自适应,当触发了 window resize和 pageShow事件之后自动调整 html fontSize大小

1.9K20

关于移动端适配,你必须要知道

当用户对浏览器进行缩放时,不会改变布局大小,所以页面布局是不变,但是缩放会改变视觉大小。...布局在移动端展示效果并不是一个理想效果,所以理想( ideal viewport)就诞生了:网站页面在移动端展示理想大小。...4.6 缩放 上面提到 width可以决定布局宽度,实际上它并不是布局唯一决定性因素,设置 initial-scale也有肯能影响布局,因为布局宽度取是 width和视觉宽度最大值...4.7 获取浏览器大小 浏览器为我们提供获取窗口大小 API有很多,下面我们再来对比一下: ? window.innerHeight:获取浏览器视觉高度(包括垂直滚动条)。...下面的代码可以保证在页面大小变化时,布局可以自适应,当触发了 window resize和 pageShow事件之后自动调整 html fontSize大小

2K10

【移动端网页布局】移动端网页布局基础概念 ② ( | 布局 | 视觉 | 理想 )

一、 ---- 浏览器 显示 网页页面内容 屏幕区域 被称为 " " ; 分为以下几个大类 : 布局 视觉 理想 上面的 , 只需要关注 理想 即可 ; 1、布局...它是指 网页中可见部分大小,即浏览器窗口中显示内容大小。 在移动设备上,由于屏幕较小,需要 对网页进行缩放以适应屏幕大小,因此布局也需要进行调整。...为了 使网页在 不同设备上 都能够 正确地显示和布局,开发者可以使用 响应式设计来根据设备不同调整布局。..., 压缩到手机屏幕宽度 , 网页中元素被缩小了 , 用户只能通过手指缩放查看网页内容 ; 2、视觉 ( 设备大小 | 网页大小 > 设备大小 ) 视觉 - Visual Viewport...理想大小 取决于 网页内容和布局,通常应该 与布局大小相同 。 通过设置理想,可以 使网页在不同设备上具有相同布局和显示效果,无需进行缩放和滚动。

1.2K30

一文彻底搞懂js中位置计算

属性可以获取或设置一个元素内容垂直滚动像素数....Element.getBoundingClientRect 用法讲解 Element.getBoundingClientRect() 方法返回元素大小及其相对于位置。...除了 width 和 height 以外属性是相对于视图窗口左上角来计算。 width和height是计算元素大小,其他属性都是相对于左上角来说。...当计算边界矩形时,会考虑区域(或其他可滚动元素)内滚动操作,也就是说,当滚动位置发生了改变,top 和 left 属性值就会随之立即发生变化(因此,它们值是相对于,而不是绝对) 。...计算元素是否出现在口内 利用还是元素距离位置小于大小。 注意即便变成了负值,那么也表示元素曾经出现过在屏幕中只是现在不显示了而已。

3.7K10

CSS(四)

Block,Inline,Inline-block,None Block 之前说过,块级元素特点: 独占一行 宽度基于父容器 高度基于内容 Inline 之前说过,行内元素特点: 宽度基于内容...无法修改垂直外边距 我们有时可能需要修改行内元素宽高或垂直外边距,但又不想其独占一行。...Inline-block 行内块元素特点: 可以通过 width,height 属性修改宽高 可以通过 margin 属性修改垂直外边距 与其他行内元素或行内块元素处于一行 None 可以通过 display...2 种可选取值: scroll(默认): 跟随滑动 background-attachment: scroll; fixed: 背景图像不会随页面滚动,并根据保持定位。...它还将根据定位和调整自身大小。 因此,背景图像可能只是部分可见。

41330

投影矩阵详解

大家好,又见面了,我是你们朋友全栈君。 视锥就是场景中一个三维空间,它位置由摄像机来决定。这个空间形状决定了摄像机空间中模型将被如何投影屏幕上。...在透视变换中,   这个矩阵基于一定距离(这个距离是从摄像机邻近剪切面)对对象进行平移和旋转,但是它没有考虑视野(   在这个矩阵中,   在程序中,使用视野角度来定义 x和y缩放系数比使用水平和垂直尺寸...下面两式使用了尺寸,并且与上面的公式相等:   在这些公式中,Zn表示邻近剪切面的位置,变量Vw和Vh表示高和宽。...变量w、h和Q意义如下(注意:fovw和fovh表示水平和垂直视野,用弧度标示):x-与y-方向限制是-1和1。z-方向限制是前表面为0,后表面为1。...下面的矩阵讨论了这一问题,并且调整顶点来说明视高宽比例:(0, 0, -D),那么它就要将向量沿z-轴平移-D距离,如上面右图所示: D是从摄像机空间原点距离,这个空间是在集合管道最末端经过变换得到空间

1.2K30

探讨移动端适配

需要注意单位是CSS像素,而非物理像素 如下图 通过查看html尺寸即可知道尺寸 如图在浏览器大小没有发生改变,没有进行缩放时此时html/尺寸为 1280x116...980/移动端宽度 布局带来问题是 如果我们直接在网页中编写移动端代码,在980下像素比是非常不友好 也就是 1px =0.几物理像素,这样就会导致网页中内容非常非常小 因此在编写移动端页面时...我们可以通过改变大小来改变CSS像素和物理像素比值 如Iphone6 物理像素是750px这个是固定,我们要调整像素比,只需将调小就可以了如 375,此时正好是1:2 通过meta设置大小....vh:1vh等于高度1% 如100vw 在宽度为 375px大小时渲染处理盒子宽度为 375px vw,vh与百分比不同时vw,vh永远相当于宽度,而百分比是相当于父元素宽度...,依赖于大小而自动缩放,无论过大还是过小,它也随着过大或者过小,失去了最大最小宽度限制。

1.3K10

避免在移动端页面中使用100vh

如果要设置一个元素样式使它占据整个屏幕高度,那么你可以设置height: 100vh,这样你就拥有一个完美的全屏元素,该元素会随着变化而调整大小!可惜是,事实并非如此。...核心问题是移动浏览器(说就是你,Chrome和Safari)具有“有用”功能:地址栏有时可见,有时隐藏,从而改变了可见大小。...当高度变化时,这些浏览器没有将100vh高度调整为屏幕可见部分高度,而是将100vh设置为隐藏了地址栏浏览器高度(其实就是100vh高度没变,但是地址栏那块把内容顶出去了一块)。...无论地址栏是否可见,屏幕都将是高度。此外,在页面首次加载时将高度固定为适当大小,可以防止在使用该网站过程中地址栏隐藏,从而带来尴尬屏幕调整大小体验。...遗憾是,在不依赖JavaScript情况下,仍然没有一种简单方法来使元素占据整个高度。100vh是如此接近伟大(greatness),但考虑它在移动设备上局限性,最好避免使用它。

1.4K30
领券