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

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

本文中,我们学习 CSS Viewport units(单位)以及如何使用它们,并用列举一些常见问题及其解决方案和用例,让我们开始吧。...我的职业生涯,我没有使用固定高度的页脚,因为例如不同的屏幕尺寸下,此footer是不可行的。...2.第二种解决方案:Flexbox单位(推荐) 通过100vh设置为body元素的高度,然后可以使用flexbox来使main元素占用剩余空间。...从容器挣脱出来 我注意一个用例最适合编辑版面。 一个子元素,即使父元素的宽度受到限制,它也会占据100%的宽度。 考虑下面: ?...通过使用vmin,我们可以较小尺寸(宽度或高度)的基础上获得合适的顶部和底部 padding。 .page-header { padding: 10vmin 1rem; } ?

3.2K30

Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

使用最小宽度和最大宽度 ? 当min-width和max-width都用于一个元素时,它们的哪一个覆盖另一个?换句话说,哪个优先级更高?...使用 flexbox 最小宽度设置为零 min-width的默认值是auto,它被计算为0。当一个元素是一个flex 项时,min-width的值不会计算为零。...最小高度和粘性页脚 当一个网站的内容不够长,它希望看到页脚粘到底部。让我们用一个可视化的例子来更好地展示这一点。 ? 请注意,页脚未粘贴在浏览器窗口的末尾。...首先,body元素作为flexbox容器,然后将其最小高度设置为高度的100%。 事例源码:https://codepen.io/shadeed/pe......最大宽度/高度和单位的流体比率 为了使比例容器能够根据大小进行响应缩放,引入了padding hack。 现在,我们可以通过组合CSS单位和最大宽度/高度来模仿相同的行为。 ?

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

【CSS】1287- 一行 CSS 实现 10 种强大的布局

并将剩余空间 ( 1fr ) 应用于主区域,而auto调整大小的行将采用其子项的最小内容的大小,以便该内容大小增加,行本身增长以进行调整。...对于这些卡片,它们被放置 Flexbox 显示模式使用 flex-direction: column 方向设置为 column。 这会将标题、描述和图像块放在父卡片内的垂直列。...然后,应用 justify-content: space-between 第一个(标题)和最后一个(图像块)元素锚定 flexbox 的边缘,并且它们之间的描述性文本以相等的间距放置每个端点。...本演示,您将使用固定工具设置宽度,如下所示:width: clamp(, , ) 。 这将设置绝对最小和最大尺寸以及实际尺寸。...在这种情况下,标题的字体大小将始终保持 1.5rem 和 3rem 之间,但会根据 20vw 实际值增大和缩小以适应的宽度。

4.6K20

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

background-size: 100% 100%; 裁切溢出 保持背景图比例不变的前提下,使其大小能够完全cover窗口大小并将多余的横向/纵向部分裁掉。...2.1.1、元素分类 元素分类为 主要元素 和 次要元素: 主要元素 页面需要突出的重点内容,尺寸发生变化引起的空间竞争,处于优势地位; 次要元素 页面相对不重点的内容,尺寸发生变化引起的空间竞争...锚点的设置可以让元素的定位更加灵活:如果元素的锚点设置为其底边的中点,那么令锚点吸附顶部即可实现元素底部相对视顶部距离固定,这是常规固定定位无法实现的。...若元素水平或垂直方向上,并不吸附于任意一条边,则令其相对于该方向上的两条边的距离比例固定;比如若元素同时不吸附于左边和右边,则元素相对于左边和右边的距离之比固定,值为页面设计器,配置页面时该元素距离左边和右边的距离之比...不吸附 于某一条边,而是相对于顶部到底部或左边右边的距离是固定比例,则称其为 按比例居中。

2K10

哪些你知道或不知道的css,在这里或许都齐全

css变量,currentColor,inherit...目前css变量很少,兼容性有待改善 响应式网页设计,每个媒体查询都会增加成本;避免媒体查询 使用百分比长度来取代固定长度,或者使用相关的单位...(vw,vh,vmin,vmax),她们的值解析为宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替width,因为他可以适应较小的分辨率,而无需使用媒体查询...替换元素(img,object,video,iframe)设置一个max-width值为100%; 图片元素以行列式进行布局时,让的宽度来决定列的数量,弹性和布局(flexbox,display...垂直居中 css对元素进行水平居中垂直居中,我们页面布局的时候会经常用到。...紧贴底部页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望那样紧贴在的最底部,而是在内容的下方 解决方案:flex弹性布局 flex

1.4K20

哪些你知道或不知道的css,在这里或许都齐全 css编码技巧 css小技巧

css变量,currentColor,inherit...目前css变量很少,兼容性有待改善 响应式网页设计,每个媒体查询都会增加成本;避免媒体查询 使用百分比长度来取代固定长度,或者使用相关的单位...(vw,vh,vmin,vmax),她们的值解析为宽度或高度的百分比 当你需要在较大分辨率下得到固定宽度, 使用max-width代替width,因为他可以适应较小的分辨率,而无需使用媒体查询...替换元素(img,object,video,iframe)设置一个max-width值为100%; 图片元素以行列式进行布局时,让的宽度来决定列的数量,弹性和布局(flexbox,display:inline-block...垂直居中 css对元素进行水平居中垂直居中,我们页面布局的时候会经常用到。...紧贴底部页脚 一个具有块级样式的页脚,当页面内容足够长时他一切正常,但是当页面比较短时,就会出现问题;页脚就不能像我们期望那样紧贴在的最底部,而是在内容的下方 ?

1.6K10

响应式布局,你需要知道这些

复制代码 像素是一个固定单位,一般我们不会使用固定像素来做响应式布局,但是你需要了解他。...14px */ } 复制代码 所以,如果我们改变根元素的字体大小页面上所有使用 rem 的元素都会被重绘。...根据两者的特性, EM 更适合模块化的页面元素,比如 Web Components REM 则更加方便,只需要设置 html 的字体大小,所以 REM 的使用更加广泛一些 实际开发,设计图的单位是 CSS...layout viewport 为了解决早期 Web 页面在手持设备上的显示问题,Apple IOS Safari 定义了一个 viewport meta 标签,它可以创建一个虚拟的布局(layout...下面是一些响应式图片的最佳实践, 1.确保图片内容不会超出 viewport 试想一下,如果图片固定大小且超出理想的宽度,会发生什么?

1.6K20

vue移动端开发总结

idealviewport为浏览器定义的可完美适配移动端的viewport,固定不变,可以认为是设备宽度device-width。...width=device-width表示页面宽度layoutviewport与设备宽度idealviewport一致 initial-scale=1表示页面宽度和网页宽度与设备宽度的初始缩放比例...单位 宽度window.innerWidth和高度window.innerHeight(即layoutviewport)等分为 100 份。...vw : 1vw 为宽度的 1% vh : 1vh 为高度的 1% vmin : vw 和 vh 的较小值 vmax : 选取 vw 和 vh 的较大值 和rem相比较,单位不需要使用js...转场动画 vue我们通过vue-router来管理路由,每个路由跳转类似与不同的页面之间进行切换,从用户友好的角度来说,每次切换页面的时候最好添加一个转场效果。

1.3K40

响应式设计

通过使用几个关键技术,根据用户浏览器大小(或者屏幕分辨率)让内容有不一样的渲染结果。这种方式不需要分别维护两个网站。只需要创建一个网站,就可以智能手机、平板,或者其他任何设备上运行。...这意味着实现桌面布局之前先构建移动版的布局。 @media 规则。使用这个样式规则,可以为不同大小定制样式。...媒体查询本身不会影响它里面选择器的优先级。 媒体查询断点中推荐使用 em 单位。各大主流浏览器,当用户缩放页面或者改变默认的字号时,只有 em 单位表现一致。...使用 display: none 隐藏不重要的内容,比如导航菜单和页脚。还可以整体的字体颜色设置成黑色,去掉文字后面的背景图片和背景色。...流式布局,主页面容器通常不会有明确宽度,也不会给百分比宽度,但可能会设置左右内边距,或者设置左右外边距为 auto,让其与口边缘之间产生留白。也就是说容器可能比略窄,但永远不会比宽。

2K10

vue移动端开发总结

idealviewport为浏览器定义的可完美适配移动端的viewport,固定不变,可以认为是设备宽度device-width。...width=device-width表示页面宽度layoutviewport与设备宽度idealviewport一致 initial-scale=1表示页面宽度和网页宽度与设备宽度的初始缩放比例...单位 宽度window.innerWidth和高度window.innerHeight(即layoutviewport)等分为 100 份。...vw : 1vw 为宽度的 1% vh : 1vh 为高度的 1% vmin : vw 和 vh 的较小值 vmax : 选取 vw 和 vh 的较大值 和rem相比较,单位不需要使用js...转场动画 vue我们通过vue-router来管理路由,每个路由跳转类似与不同的页面之间进行切换,从用户友好的角度来说,每次切换页面的时候最好添加一个转场效果。

4.1K30

移动端自适应的常见手段

1.2 image (viewport) 一般是指用户访问页面时,当前的可视区域范围。通过滚动条滑动,可以显示页面的其他部分。... PC 端上, 元素的宽度被设置为 100% 时,等同于大小,等同于浏览器的窗口大小。...CSS 布局会基于布局进行计算。移动设备的浏览器基于虚拟的布局去渲染网页,并将对应的渲染结果缩小以便适应设备实际宽度,从而可以完整的展示站点内容且不破坏布局结构。...如果允许内容灵活的分配空间则使用 Flexbox;如果需要准确控制布局项目的位置则使用 CSS Grid。 image 4....同理于 flexible 方案,使用 vw、vh 也需要对设计稿的尺寸进行换算, px 转换为 vw 值,常见的工具如 postcss-px-to-viewport 等可以满足需求。

1.8K00

Vue.js开发移动端经验总结

idealviewport为浏览器定义的可完美适配移动端的viewport,固定不变,可以认为是设备宽度device-width。...width=device-width表示页面宽度layoutviewport与设备宽度idealviewport一致 initial-scale=1表示页面宽度和网页宽度与设备宽度的初始缩放比例...单位 宽度window.innerWidth和高度window.innerHeight(即layoutviewport)等分为 100 份。...vw : 1vw 为宽度的 1% vh : 1vh 为高度的 1% vmin : vw 和 vh 的较小值 vmax : 选取 vw 和 vh 的较大值 和rem相比较,单位不需要使用js...现在我们使用flex来实现h5常见的顶部标题栏+中部滚动内容+底部导航栏的布局 页面跳转 转场动画 vue我们通过vue-router来管理路由,每个路由跳转类似与不同的页面之间进行切换,从用户友好的角度来说

4.2K10

终于等到你,新的虚拟键盘API 即将到来,快来先睹为快吧!

技术术语,可见部分被称为,而隐藏部分以及当前可见的部分则是布局。 主要问题是当虚拟键盘激活时,可视大小会缩小。...使用虚拟键盘API修复键盘下隐藏的内容 由于虚拟键盘API的存在,我们可以定义视觉和布局相等。...VirtualKeyboard API 的使用案例 底部固定操作 较小的口上,您可能需要一个固定在界面底部的呼叫行动按钮或页脚。 考虑下面的图示,我们有一个固定底部的CTA按钮。...你可能会对由于标题和固定底部的存在而导致的空间减少感到困惑。我们可以使用垂直媒体查询来垂直空间足够的情况下显示标题。...无法滚动到页面的最底部底部有一个带有 position: fixed 的项目时,我们通常会添加 padding-bottom 来偏移页面使用户可以滚动到最底部

28020

移动端避免使用100vh「建议收藏」

移动端避免使用100vh CSS的Viewport单元听起来很棒。如果你想将一个元素设置成全屏高度,你可以设置高度:100vh,这样你就有了一个完美的全屏元素,它会随着的改变而改变大小!...核心问题是移动浏览器(Chrome和Safari)有一个“帮助”功能,地址栏有时可见,有时隐藏,改变了的可见大小。...这些浏览器没有100vh的高度调整为高度变化时屏幕的可见部分,而是100vh设置为隐藏地址栏的浏览器高度。结果是,当地址栏可见时,屏幕的底部部分将被切断,从而破坏了100vh的初衷。...更糟糕的是,当用户第一次使用手机访问网站时,地址栏会显示页面顶部,因此用户体验是很糟糕的。...遗憾的是,仍然没有一种简单的方法可以让一个元素不依赖javascript的情况下占据整个高度。height: 100vh是如此接近伟大,但考虑它在移动设备上的局限性,最好避免它。

2.4K21

alert弹窗样式自定义-Vue.js开发移动端经验总结

单位   宽度window.和高度window.(即)等分为 100 份。   ...vw : 1vw 为宽度的 1% vh : 1vh 为高度的 1% vmin : vw 和 vh 的较小值 vmax : 选取 vw 和 vh 的较大值   和rem相比较,单位不需要使用...需要谨慎对待的fixed   :fixed日常的页面布局中非常常用,许多布局起到了关键的作用。它的作用是::fixed的元素将相对于屏幕()的位置来指定其位置。...现在我们使用flex来实现h5常见的顶部标题栏+中部滚动内容+底部导航栏的布局   页面跳转   转场动画   vue我们通过vue-router来管理路由,每个路由跳转类似与不同的页面之间进行切换...而注册全局组件我们首先需要引入组件,然后使用Vue.进行注册;这是一个重复的工作,我们每次创建组件都会进行,如果我们的项目是使用构建(vue-cli也是使用),我们就可以通过.自动组件注册全局。

2.9K40

防御式CSS是什么?这几点属性重点防御!

在这个例子,我们右边有一个section标题和一个操作按钮。目前,它看起来还不错。但是,如果标题再长一些,会发生什么呢? 注意文本太靠近按钮了吗?...默认情况下,当触及页面顶部或者底部时(或者是其他可滚动区域),移动端浏览器倾向于提供一种“触底”效果,甚至进行页面刷新。...这种方法可以变量可能失败的情况下使用。 7.使用固定宽度或高度 破坏布局的常见情况之一是对一个有不同长度内容的元素使用固定的宽度或高度。...次要链接应该位于旁白部分的最底部。 考虑一下下面的例子。主导航和次导航看起来还不错。我看到的这个例子,开发者给二级导航添加了 position: sticky,这样它就可以粘在底部了。...这个背景只有图片加载失败时才会显示出来。 12.小心CSS网格固定值 假设我们有一个包含aside和main的网格。

4.3K30

详细设计一个文章页目录插件

首先我打算文章的目录放置文章内容的右侧,且是悬浮固定在那里不随浏览器的滚动而滚动。...首先需要根据文章内容的二级和三级标题生成目录; 然后,页面从上到下滚动过程,需要在右侧目录里高亮当前的标题,而高亮的原则是当前标题所在的位置浏览器可视区域顶部的距离需要小于或等于一个固定值,如上图所示...这部分内容开始前,我们先来复习一个 API,该方法会返回元素的大小及其相对于的位置: Element.getBoundingClientRect() 需求分析的时候有提到,高亮的原则是当前标题所在的位置浏览器可视区域顶部的距离需要小于或等于一个固定值...,即位线以下,此时目录的滚动距离将是滚动后高亮子目录的底部位置位线的高度差,如上图 ②; 滚动后的高亮目录处于位线以下且最后一个子目录需要贴着滚动区域底部,此时目录的滚动距离将是滚动列表底部滚动区域底部的高度差...浏览器高度变了怎么办 因为我们的滚动高度是根据浏览器高度计算出来的,如果浏览器高度变化了,那这个时候再去滚动页面,那肯定会出问题的。

2.4K20

优雅设计之美:实现Vue应用程序的时尚布局

前言 页面布局是减少代码重复和创建可维护且具有专业外观的应用程序的基本模式。如果使用的是Nuxt,则可以提供开箱即用的优雅解决方案。然而,令人遗憾的是,Vue,这些问题并未得到官方文档的解决。...三列布局 主页是每个流行的社交网络使用的典型 3 列布局。第一列包含应用程序的徽标和导航,使用此布局的每个页面中保持不变。这同样适用于右下角的页脚。每个页面的主要内容和侧边栏小部件都会更改。...布局的实现细节取决于此组件,而不是页面使用flexbox,网格系统或任何其他技术都是可能的。如果使用全宽、盒装或流体布局,则同样适用。 此布局有 3 列 第一列包含硬编码的徽标和导航组件。...第二列仅创建默认插槽,并让页面决定要插入的内容。 第三列包含每个页面通用的旁槽和页脚组件。...第一列将与三列布局相同,但主要部分占据屏幕的其余部分,并将页脚放在底部。 该实现看起来与上一个没有太大区别。但是这次小编使用flex-basis。( 只是为了演示创建CSS布局的不同方法。

30480
领券