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

css精髓:这些布局你都学废了吗?

1 2列布局 2列布局使用频率也非常高,其实现效果主要就是将页面分割成左右宽度不等两列。一般宽度较小一列会设置为固定宽度,作为侧边栏之类,而另一列则充满剩余宽度,作为内容区。...实现思路很简单,侧边栏宽度固定,设置绝对定位,使其脱离文档流,内容区域通过calc()函数计算剩余宽度并设置宽度,再加一个margin-left,值为侧边栏宽度。...flex,侧边栏宽度固定,内容区域设置flex:1即可充满剩余区域。...为内容区域添加最小高度 这种方法重要用vh(viewpoint height)来计算整体视窗高度(1vh等于视窗高度1%),然后减去底部footer高度,从而求得内容区域最小高度。...每一个页面都要重新计算一次,这是很麻烦,所以这种方法虽然简单但却是不推荐使用flex布局 这种方法就是利用flex布局对视窗高度进行分割。

99830

网站自适应布局为什么我要抛弃rem,改用vw?

我们可以这样理解 100vw = window.innerwidth, 100vh = window.innerheight  在移动端我们一般都可以认为,100vw就是屏幕宽度。...若使用vw布局,就不需要再像rem那样,在js中去动态设置根元素font-size了,sass中只需要使用这个函数做转换即可 //以iphone7尺寸@2x 750像素宽视觉稿为例 @function...百分比%是根据父元素宽度或者高度进行计算,而vw vh固定按照viewport来计算,不会受父元素宽高度影响。...但把body或者html设置为width:100%时,是不包括页面滚动条宽度。也就是说100vw在有纵向滚动条情况下,会比100%宽。...如果你页面只适用于微信、qq,那绝对能放心使用vw单位,还可以配合vh针对一些特殊比例屏幕做处理,彻底摆脱使用rem带来副作用,删掉html头部计算font-size那段js代码,让你代码更纯粹

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

给萌新HTML5 入门指南

HTML5页面布局 常用页面布局方式有很多种,比如 最早静态表格布局 通过栅栏划分页面的流式布局 根据屏幕大小自动调整内容自适应布局 融和流式布局和自适应布局响应式布局 以上布局主要通过使用css...CALC计算,浏览器高度变化时自动调整。...这样布局方式存在一些问题,就是当header、footer高度发生变化,需要重新设置container高度,另外如果container中并列元素较多时,浮动难以控制。...body设置高度 100vh, 这里使用了CSS3 新单位vh,即 view height 视窗高度,100vh相当于html, body 高度100%,同样还有vw代表视窗宽度 body设置flex...布局,方向从上到下叠放 designerContainer 设置flex 1,自动充满header和footer之外剩余空间 container内部依旧flex布局,designerMain 设置 flex

1.3K41

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

假设我们有一个元素与以下CSS: .element { width: 50vw; } 当视口宽度为500px时,50vw计算如下 width = 500*50% = 250px 视口高度 vh单位表示根元素高度百分比...我们有一个元素与以下CSS: .element { height: 50vh; } 当视口高度为290px时,70vh计算如下: height = 290*70% = 202px 大家都说简历没项目写...Vmin 单位 vmin表示视口宽度和高度较小值,也就是vw 和 vh较小值。如果视口宽度大于其高度,则将根据高度计算该值。 我们以下面的例子为例。 ?...在我职业生涯中,我没有使用固定高度页脚,因为在例如不同屏幕尺寸下,此footer是不可行。...2.第二种解决方案:Flexbox和视口单位(推荐) 通过将100vh设置为body元素高度,然后可以使用flexbox来使main元素占用剩余空间。

3.2K30

大屏开发你需要知道哪些

vw 100vw 等于当前窗口屏幕得宽度;vh 100vh 等于当前窗口屏幕高度;rem 主要根据根元素body得font-size:12px, 1rem 等于12px, 然后跟用窗口得大小赋值给body...真适配又分为 高度适配、宽度适配。 宽度适配就是根据用户得屏幕窗口宽度发生变化做到一个界面适配,比如全部都使用vw。...高度适配是根据用户屏幕窗口发生变化达到一个界面适配,比如使用vh;其实个人认为没必要做高度适配、都根据宽度vw达到一个界面适配就好了,主要是因为做高度适配得话使用vh,再小点得屏幕上 很容易就发生文本重叠...大屏界面布局 其实一般大屏布局会又一个header(主标题、时间展示)、side (副标题:屏幕两侧可能会分为4块4个维度去展示当前屏一些信息)、main(大屏主视图)、footer(底部)。...咱们再搭建容器使用都是定位那么一定要分清定位权重。

84110

CSS | 视差滚动 | 笔记

perspective() 函数用于定义 计算屏幕平面 与 应用 translateZ 属性 HTMLElement 之间虚拟距离。...视口/视窗 (屏幕可见部分(去除书签栏等, 真正用于渲染页面部分), 非整个浏览器窗口) height:100% 铺满父容器高度 height:100vh 铺满屏幕(viewport)高度 "100vh...vh 优势在于能够直接获取高度, 而用 % 在没有设置 body 高度情况下, 是无法正确获得可视区域高度。 100vh 在不同浏览器实现方式上也有一点微妙变化, 这使得它几乎毫无用处。...这些浏览器没有将 100vh 高度调整为视口高度变化时屏幕可见部分,而是将 100vh 设置为隐藏地址栏浏览器高度。...结果是,当地址栏可见时,屏幕底部部分将被切断,从而破坏了100vh初衷。 如下所示: 当地址栏可见时,由于移动浏览器不正确地将100vh设置屏幕高度而没有显示地址栏, 因此屏幕底部被切断。

56621

单屏页面响应式适配玩法

标签页高度 + 地址栏高度 + 书签栏高度 3、总结上面两点 以上两点高度计算通过截图获得,可能会有些许误差。...300 ÷ (720 ÷ 100) ≈ 41.666 比如设计稿为 1920x1080(单屏设计高度应该更小一点,如适配第一节所说),可以写个 CSS 预处理函数,这样方便直接使用设计稿尺寸,以 Sass...写完在上面列举主流分辨率下一一测试通过。...8.1、尝试 rem + vh 方案 一开始想是 rem + vh 结合使用,根元素 html 使用 vh,其他单位则使用 rem,然后找到有问题宽高比,通过 @media 方式设置 html 为...8.2、落地方案,vh + vw + JavaScript 计算 而直接在元素属性值上设置vh 或 vw,所有的值都会实时变动,没有最小值(除了属性为字体有最小值),这样就最大程度减少 UI 变乱情况了

1.9K20

px转vw和vh工具(对前端同学有用)

换句话说, 不管是1136x750px屏幕还是960*640px或着其他尺寸屏幕,它们宽度都是100vw,高度都是100vh。...1136x750屏幕里, 1vw = 11.36px,1vh =7.5px;960*640px屏幕里, 1vw = 9.6px,1vh = 6.4px。 这跟百分比是一样。...设置自适应尺寸提供了很大便利,要为html文档树某处枝叶一个元素设置相对于屏幕百分比,在以前, 只能用JavaScript动态计算,现在使用vw和vh两个单位就可以解决问题。...我们可以使用以下公式 宽度(vw) = 100 / 1920 * 100; 高度(vh) = 100 / 1080 * 40; 但是每次都机械样式手动算,太浪费事件了, 于是我制作了一个简单换算工具...这是工具界面 首选项里面填好psd设计搞尺寸, 然后要计算psd中页面元素vw和vh值, 只需要在工具宽高输入框中填入相应px值, vw和vh值就自动能计算出来了, 减少了无谓手动计算工作量

4.3K80

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

如果你想将一个元素设置成全屏高度,你可以设置高度:100vh,这样你就有了一个完美的全屏元素,它会随着视口改变而改变大小!遗憾是,事实并非如此。...100vh在不同浏览器实现方式上也有一点微妙变化,这使得它几乎毫无用处。最好避免100vh,而是依赖javascript来设置高度,以获得完整视口体验。...这些浏览器没有将100vh高度调整为视口高度变化时屏幕可见部分,而是将100vh设置为隐藏地址栏浏览器高度。结果是,当地址栏可见时,屏幕底部部分将被切断,从而破坏了100vh初衷。...如下所示: 当地址栏可见时,由于移动浏览器不正确地将100vh设置屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应该在屏幕底部按钮被隐藏了。...当页面加载时,将高度设置为window.innerHeight将正确地将高度设置为窗口可见部分。如果地址栏是可见,那么window.innerHeight是全屏高度

2.4K21

弹指间,重温几个设置满屏小技巧

100%同时设置了padding撑破了外层容器,而fill-available没有,保持我们预想高度。...不妨了解一下 vh定义法 vh:css3新单位,view height简写,是指可视窗口高度,1vh=视窗高度1%; 既然讲到CSS单位了,麻烦各位再脑补下这个问题: CSS单位都有哪些?...作为一个cv高手,借助搜索引擎我们了解到,Safari把网址栏与工具栏算进了100vh中,是第一个通过选择根据屏幕最大高度vh定义固定值来更新其实现移动浏览器之一,而后Google浏览器也效仿它。...滚动时可见区域会动态变化,如果我们相应地更新CSS视口高度,则需要在滚动过程中更新布局。为了达到更好用户体验,使用较大视图尺寸是最好折衷方案。..., `${vh}px`); 这样就成功在:root中创建了--vhcss变量 为了防止旋转屏幕功能使用,我们需要监听窗口调整大小事件来更新我们创建--vh值 window.addEventListener

1.1K20

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

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

1.4K30

移动端避免使用100vh

如果要设置元素样式以占据整个屏幕高度,则可以设置height: 100vh,您拥有一个完美的全屏元素,该元素会随着视口变化而调整大小!可悲是,事实并非如此。...这些浏览器没有将100vh高度调整为视口高度变化时屏幕可见部分,而是将100vh设置为浏览器高度,并隐藏了地址栏。结果是,当地址栏可见时,屏幕底部将被切除。...如下所示: 当显示地址栏时,由于移动浏览器错误地将100vh设置屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应隐藏在屏幕底部按钮。...无论地址栏是否可见,屏幕都将是视口高度。此外,通过在页面首次加载时将高度锁定在适当位置,可以防止地址栏隐藏在使用该网站过程中,从而带来尴尬屏幕调整大小体验。...遗憾是,在不依赖JavaScript情况下,仍然没有一种简单方法来使元素占据整个视口高度。 height: 100vh 非常接近 ,但鉴于其在移动设备上局限性,最好避免使用它。

1.7K20

GOFLY在线客服-使用vh、vw使div元素充满屏幕-GO语言实现开源独立部署客服系统

当进行布局时候,有时候需要div元素根据屏幕宽度和高度进行自适应,而不是根据内容 除了使用js方法之外,还可以使用css3新单位 vh wh 1vh=视窗高度1%,height: 100vh...;就是屏幕高度100% 1vw=视窗宽度1%,width: 100vw;就是屏幕宽度100% vw、vh 与 % 百分比区别 (1)% 是相对于父元素大小设定比率,vw、vh 是视窗大小决定...(2)vw、vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度情况下,是无法正确获得可视区域高度。...margin: 0; } .content{ width: 100vw; height: 100vh...; background: #1c7430; } 1vh=视窗高度1%,height: 100vh;就是屏幕高度100%

51120

移动端避免使用100vh

CSS中视口单位听起来很棒。如果要设置元素样式以占据整个屏幕高度,则可以设置height: 100vh,您拥有一个完美的全屏元素,该元素会随着视口变化而调整大小!可悲是,事实并非如此。...这些浏览器没有将100vh高度调整为视口高度变化时屏幕可见部分,而是将100vh设置为浏览器高度,并隐藏了地址栏。结果是,当地址栏可见时,屏幕底部将被切除。 如下所示: ?...当显示地址栏时,由于移动浏览器错误地将100vh设置屏幕高度而没有显示地址栏,因此屏幕底部被切断。在上图中,应隐藏在屏幕底部按钮。...无论地址栏是否可见,屏幕都将是视口高度。此外,通过在页面首次加载时将高度锁定在适当位置,可以防止地址栏隐藏在使用该网站过程中,从而带来尴尬屏幕调整大小体验。...遗憾是,在不依赖JavaScript情况下,仍然没有一种简单方法来使元素占据整个视口高度。 height: 100vh 非常接近 ,但鉴于其在移动设备上局限性,最好避免使用它。

1.8K20

postcss-px-to-viewport之vw、vh、rem

先知道一下viewport四个单位,vw、vh、vmax、vmin: vw:1vw 等于视口宽度1% vh:1vh 等于视口高度1% vmin: 选取 vw 和 vh 中最小那个 vmax:选取...取是vw和vh最大最小计算。 先使用rem,之前用是淘宝flexible.js,会帮你动态根据屏幕大小计算htmlfont-size。...我去看了之前项目和淘宝,根据750设计稿,使用flexible.js屏幕556px之后htmlfont-size最大是54px,移动端时候540之后htmlfont-size最大也是54px...既然知道rem原理,只需要动态设置htmlfont-size,计算也很简单,比如按照750设计稿,flexible1rem是75px,如果配合vw,100vw是750px,那么1px就是0.1333333vw...也可以直接用蓝湖直接转换,或者设置成1rem为100px,那font-size就要设置成13.33333vw。 有点跑偏了,主要想分享postcss-px-to-viewport使用

1.7K30

响应式图像

处理高度时候,vh单位更好。 1. 占满宽度元素: % > vw 正如我所提到,vw单位根据视窗宽度决定它大小。然而,浏览器是根据浏览器窗口计算视窗大小,包括了滚动条空间。...在这个例子中,我用红色边框包裹html元素,然后给section元素设置背景颜色。 ? 因为这个细微差别,当使一个元素横跨整个页面的宽度时,最好使用百分比单位而不是视口宽度。 2....占满高度元素:vh > % 在另一方面,当使一个元素跨越整个页面的高度时,vh远比百分比单位好。...因为用百分比定义元素大小是由它父元素决定,只有父元素也填满整个屏幕高度时我们才能拥有一个填满整个屏幕高度元素。...滚动条问题也不是一个问题,因为现在大多数页面通常不会有水平滚动条。 vh应用 全屏背景图片 vh单位一个典型用途是用来创建一个横跨整个屏幕高度和宽度背景图片,不管设备大小。

2.5K10

前端css单位小结:vh、vw、百分比、rem、px、计算属性calc

前端css单位小结:vh、vw、百分比、rem、px、计算属性calc 1 vh 视口高度,也就是眼睛可以看到屏幕高度,如果你屏幕分辩率为1920*1080,那么视口高度就是1080px,vh可用于写自适应...一般给css div height赋值用。 2 vw 与vh相对,视口宽度,同理,如果你屏幕分辩率为1920*1080,那么视口宽度就是1080px,vw可用于写自适应。...4 rem 根据根元素来变化大小,如果在根元素设置10px,那么1rem=10px。亦可用于自适应布局。...有时候在自适应布局下,边框线通常用px来设定,比如1px啥。 6 计算属性calc height: calc(~'100% - 7.4rem - 10px'); 这就是计算属性咯。...可以计算出当前值,然后再赋值。

88420

CSS:绝对单位、相对单位

px px 是 pixels(像素)缩写,是一种绝对单位,用于屏幕显示器上,传统上一个像素对应于计算屏幕一个点,而对于高清屏则对应更多。...如果父元素没有设置字体大小,则继续往父级元素查找,直到有设置大小,如果都没有设置大小,则使用浏览器默认字体大小。...来计算,所以如果改变 html font-size 值,那么所有使用 rem 单位大小都会随着改变,这对于移动端适应各种屏幕大小来说还是有点作用。...vw:基于视窗宽度计算,1vw 等于视窗宽度百分之一 vh:基于视窗高度计算,1vh 等于视窗高度百分之一 vmin:基于vw和vh最小值来计算,1vmin 等于最小值百分之一 vmax:...基于vw和vh最大值来计算,1vmax 等于最大值百分之一 下面我们实例说明实现一个宽度为视窗宽度 25%,高度为视窗高度 50% 一个盒子: .box { height: 50vh; /

2K20

移动端适配大法

所以使用时,我们只要让根字体大小随屏幕大小自适应,那页面中所有使用rem单位来设置宽高元素,大小也会随屏幕大小自适应了。...代码关键参数20和375是这样设置: a) 由于提供设计稿现在基本都是以iPhone6/7/8为参考,宽度为750px,dpr为2,所以计算rem时参考屏幕宽度可以设置为375。...b) 由于chrome最小字体是12px,又为了计算方便,所以可以设置1rem大小为20px 应用过程中,比如我们拿到了一个750设计稿,那么首先,将设计稿里数值除以2,得到按手机屏幕大小布局数值...(也就是常说2倍图、3倍图使用)等 四、vw、vh vw是以屏幕宽度为基准百分比单位,1vw=1%* deviceWidth vh是以屏幕高度为基准百分比单位,1v=1% * deviceHeight...vw,vh确实很好用,但是目前使用时仍需考虑兼容性问题,在国内一些手机自带浏览器里(比如华为)会失效,并且据说碰上X5内核时也容易踩坑 。

2.7K20
领券