css媒体查询有一个 宽高比很方便,aspect-ratio ,可以直接使用宽/高 来进行页面适配 使用样例如下: // 宽高比在((320/50)+(728/90))/2 两个尺寸中间值以内...{ display: none; } } } } 注意三点: 1、宽高比一定是比值的形式,不能直接写小数,宽/高 2、在less.../zh-CN/docs/Web/Guide/CSS/Media_queries 媒体查询 http://www.zhangyunling.com/837.html device-aspect-ratio...与aspect-ratio单屏布局 https://stackoverflow.com/questions/50465331/scss-media-query-aspect-ratio-not-working... scss中不生效
除此之外,Safari 的技术预览版(下载地址[3])已经支持 aspect-ratio了,参考Safari 技术预览版 118 版本的发版日志[4]。...Safairi 对 macOS 版本有要求,本着谨慎升级的态度,我没有在该浏览器进行验证。 Firefox 从 81 版本之后也开始逐步支持 aspect-ratio 了。不过需要开启对应的配置才行。...目前来看,浏览器对于 aspect-ratio 的实现程度还是很向好的。相关的规范也在去年十月更新了一版工作组草案[5]。 所以是时候爬起来再学一学了,希望大家都还能学得动 ?。...aspect-ratio就是为了解决这一场景而提出的,可以给非替换元素指定期望的宽高比,CSS 在进行布局计算的时候,会按照给定的值进行计算。 此外,该属性还可以用来修改可替换元素的固有宽高比。...-118/ [5] 工作组草案: https://www.w3.org/TR/css-sizing-4/#ratios [6] New in Chrome 88: aspect-ratio: https
在此示例中,字体大小已放大至200%,但复选框仍保持其根大小,即13.333333px: 在本教程中,我们将剖析浏览器的默认复选框,看看是否可以做得更好。...对于 Chrome 中的边框颜色,它与系统颜色匹配ButtonBorder,但由于 Safari 使用更浅的 ButtonBorder颜色,我们将使用GrayCanvas在两种浏览器中都适用的颜色。...接下来,让我们添加浏览器在未选中的复选框上使用的相同悬停效果。...Safari 是唯一支持系统颜色 的浏览器AccentColor,因此我们需要为此创建自己的变量--_accent,在 Mac 上对应于#0075ff: [type=checkbox] { --_accent...我们需要--_accent首先更新 -property,因为AccentColor尚未在所有浏览器中工作: @media (prefers-color-scheme: dark) { --_accent
在图像和其他响应式元素的宽度和高度之间有一个一致的比例是很重要的。在CSS中,我们使用padding hack已经很多年了,但现在我们在CSS中有了原生的长宽比支持。...在 CSS 中实现宽高比 我们过去是通过在CSS中使用百分比padding 来实现宽高比的。好消息是,最近,我们在所有主要的浏览器中都得到了aspect-ratio的原生支持。...aspect-ratio 属性 今年早些时候,Chrome、Safari TP和Firefox Nightly都支持aspect-ratio CSS 属性。...最近,它在Safari 15的官方版本中得到支持。 我们回到前面的例子,我们可以这样改写它。...渐进增强 我们可以通过使用CSS @supports和CSS变量来使用CSS aspect-ratio。
火狐浏览器中倒影的实现 目前只有Webkit浏览器(谷歌浏览器和Safari浏览器)实现 box-reflect 属性。...为了在火狐浏览器中也实现倒影功能,我们需要寻找另外的途径:使用 -moz-element() 方法。这个方法能够复制指定网页元素的内容。...因为所有的属性都是来实现倒影的,而且这些属性都有火狐浏览器独有的前缀,和Webkit的倒影不冲突,所以在代码在可以把两个版本倒影方法都写上,保证两种浏览器里都有效果。...视频倒影 官方文档中说当倒影的实体内容变化时,倒影的内容也会相应更新。因此,这种技术用在视频是有特殊的效果。...CSS倒影技术在火狐浏览器中的小问题 有时,火狐浏览器生成的渐变色图形会比背景元素稍微小一些,导致有一些间隙线出现。
JavaScript:在浏览器中 今天,Web 开发人员编写特定于供应商的 JavaScript 或特定于供应商的 CSS 选择器的时间比以往任何时候都更少。...浏览器引擎对齐:三大浏览器引擎(Chromium/Chrome、Gecko/Firefox和Webkit/Safari)现在对JavaScript、CSS和Web API的跨浏览器支持是我们见过的最好的...现在有跨浏览器支持: aspect-ratio,防止布局变化的宽/高属性,本地图像惰性加载,以及纯 CSS/SVG-based 模糊图像占位符。...在浏览器中,我们有 Web Fetch API。在 Node.js 18 之前,没有内置的获取数据的方案。...JavaScript: 在 Edge 中 Edge computing,这种常常被误解的最新运行 JavaScript 的目标,在三个(浏览器、服务器、edge)中标准化最少。
图片元素固定宽高比 你可能没注意到,我们给img元素设定了height: auto;,这是为了避免开发者或者内容管理系统在 HTML 源码中给图片添加了height属性,通过这个方式可以覆盖掉,避免出现...2.1 padding-bottom实现普通元素固定宽高比 在之前的陪读章节《精通 CSS》第 3 章 可见格式化模型中,我们提到垂直方向上的内外边距使用百分比做单位时,是基于包含块的宽度来计算的。...W3C 的 CSS 工作组为了避免这一问题,已经在致力于实现这样一个属性aspect-ratio。...该方案已经提出,但是还没有浏览器实现,现在还处于设计节点,暂时还没有已发布的工作组草案,只有编辑草案[1]。 但是这并不妨碍我们来提前了解一下这个新技术。 下面让我们一起来看看是如何的便利吧。...CSS 工作组现在正在引入一种新的方案aspect-ratio,可以很方便地指定宽高比,不过暂时还没有浏览器实现。相信不久之后就会有浏览器逐渐实现了。
我们借助了 aspect-ratio 这个 CSS 中较新的属性来始终自动获得正确的宽高比,无论其父元素的宽度如何变化。...content-visibility:属性控制一个元素是否渲染其内容,它允许用户代理(浏览器)潜在地省略大量布局和渲染工作,直到需要它为止。...由浏览器决定哪种方式更适合用户。 上文其实也提及了,浏览器在进行图片渲染展示的过程中,是需要对图片文件进行解码的,这一个过程快慢与图片格式有关。...在张鑫旭老师的这篇文章中 -- 图片加载失败后CSS样式处理最佳实践 有一个不错的实践。...Safari 仍不支持这个特性,所以,在 Safari 下,我们可能得到如下的结果: 效果仍然还是 OK 的,只是没有了兜底图的展示,在实际使用过程中,需要知道这一点。
当然,到今天,我们还可以使用 aspect-ratio 设定图片的高宽比。 aspect-ratio CSS 属性为容器规定了一个期待的宽高比,这个宽高比可以用来计算自动尺寸以及为其他布局函数服务。...ul li img { width: 100%; aspect-ratio: 3 / 2; } 这里,容器基于 Flex 弹性布局或者响应式布局,其宽度是不固定的,但是图片的宽高比是固定的...我们借助了 aspect-ratio 这个 CSS 中较新的属性来始终自动获得正确的宽高比,无论其父元素的宽度如何变化。...在 aspect-ratio 之后,我们终于有了设定容器固定宽高比的能力。...真正规范希望的在放大后让图片尽可能不失真的 crisp-edges 效果,目前暂时没有得到浏览器的实现。后面可以期待一下。
开篇 在过去的几年里,CSS引入了许多新的改进功能,并且跨浏览器的努力提高了兼容性,使这门语言比以往任何时候都更加稳定!...自定义属性,也被称为“CSS变量”,允许我们定义可在样式表中重复使用的值。自定义属性可以作为属性的整个值或部分值使用,我们还可以在JavaScript中修改自定义属性。...在CSS中,文档可以采用不同的书写模式,例如从左到右(LTR)的水平书写模式和从右到左(RTL)的水平书写模式,以及垂直书写模式。...,因此上述演示目前仅适用于Safari 15.4+和Chrome/Edge 105+,以及启用 layout.css.has-selector.enabled 标志的Firefox 103。...这提供了一种选择,可以适应浏览器的UI元素,如滚动条、表单控件和CSS系统颜色。
padding hack:https://css-tricks.com/aspect-ratio-boxes/ 2021年9月开始,大多数主流浏览器都稳定支持了一个新的CSS属性:aspect-ratio...,应用了aspect-ratio属性的元素在某种程度上是“宽容”的。...CSS中的color-scheme属性为开发者提供了一种简单的方式来适配浏览器UI元素的光暗模式,今天我们就来深入探讨它的应用。...,滚动条的出现和消失有时会导致不希望的布局变化。...保持视觉平衡:使用both-edges关键词可以在滚动容器的两侧都预留空间,即使滚动条不可见时也能保持布局的对称性。 浏览器兼容性 结束 至此,我们对几个CSS中的新特性进行了深入的探讨和分析。
属性 MDN - aspect-ratio Can I Use - CSS property: aspect-ratio CSS 的 aspect-ratio 属性用于设置元素的首选宽高比,可以自动计算宽度...、高度和其他一些布局功能,省去同时计算宽和高的工作。...以前在使用 flex 布局的时候经常会用 margin、padding 来控制 flex item 之间的间隔,用 gap 会更方便。...浏览器的默认行为是:当子元素滚动到边界后继续滚动鼠标,会触发父元素的滚动。该行为被称作 scroll chaining。...很多时候我们不需要这样的行为,比如当我们滚动一个弹窗中的内容时,不希望后面的页面也跟着滚动。
在最新的 Chrome Canary 中,一个有意思的 CSS 语法 Container Queries 得到了支持。 Chrome Canary:开发者专用的每日构建版,站上网络科技最前沿。...当然,不一定稳定~ 而在最近几个 Chrome 版本中,有一些挺有意思的属性相继得到支持,本文就将介绍一下,在今天,新时代布局中,我们能逐渐去使用的一些有意思的新特性,通过本文,你将能了解到: flex...布局中的 gap 属性 控制容器宽高比属性 aspect-ratio firefox 下的 CSS Grid 瀑布流布局(grid-template-rows: masonry) CSS 容器查询(Container...从 firefox 87 开始,在浏览器输入网址栏输入 about:config 并且开启 layout.css.grid-template-masonry-value.enabled 配置使用。...如果你的浏览器已经开启了 chrome://flags/#enable-container-queries,你可以戳这个代码感受一下: CodePen Demo -- CSS @container query
,会占去120px(双倍屏上,这个数据可能不准,只是想说,会被这些占用设备可视区域的可用高度,如果你是在浏览器全屏的话,就当我没说这些啦)的高度。...aspect-ratio aspect-ratio 定义输出设备中的页面可见区域宽度与高度的比率 可视区域,这个对于我们来说,才是真正需要的。...如果直接设置:aspect-ratio:9/16,那么就表示,只要在width/height = 9/16的情况下,才会被触发,但是同一个手机,在APP和浏览器(甚至不同的浏览器),这个宽高比是不同的,...再加上CSS的层叠覆盖理论,后面定义的会覆盖前面的。...3 – 正无穷 2 – 正无穷 1 – 正无穷 虽然在数学上来说,这个差距微乎其微,但是真实的情况确实是,CSS文件中,定义的顺序为: C ,B,A,也就是我们前面的一段代码的定义顺序。
你是否曾对CSS中的百分比单位非常疑惑?是否简单认为百分比的基准值就是所在元素的宽高?本文将从包含块角度帮助大家理解记忆百分比单位的计算规则,便于巧妙运用包含块规则解决实际开发中的布局问题!...在我们常用的场景中,position的值有relative、absolute、fixed、static,且这四种属性为代表,浏览器对于这四种属性的包含块确立规则如下: 绝对定位,包含块就是由它的最近的...二、百分比值计算规则 CSS中例如width、height、padding等属性在设置百分比值时,浏览器会动态计算实际的像素值,百分比的计算基数就是该元素的包含块对应的实际属性值。...通过思考,大致有如下的实现方式,大家可以参考 实现方法1: 利用Chrome浏览器最新支持的aspect-ratio属性,其问题就是C端浏览器兼容性不好 .box { aspect-ratio:...background-size: 100% 100%; } 效果如下图: 1比3的实现 CodePen地址: https://codepen.io/DYBOY/pen/JjbZgeE 四、总结 熟记包含块规则,有利于在实际开发中解决一些
在摄影中,2.35 比 1 这个比例,可以给人一种电影的感觉。 包括微信公众号的封面,也是这个比例: 在网页设计的时候,我也想用这个比例来实现图片比例的裁切。...(当然像 ie 浏览器是肯定不支持的,具体可以查看 MDN 文档。) 使用aspect-ratio这个属性就可以,属性值是宽 / 高。...例如我有这样一张图片: 我要给图片的img标签设置比例为:2.35:1的比例,我可以这样写: aspect-ratio: 2.35 / 1; 以此类推,如需设置 16:9,我们写作: aspect-ratio...: 16 / 9; css 完整代码如下: img { max-width: 100%; aspect-ratio: 2.35 / 1; object-fit...> body { } img { max-width: 100%; background-color: pink; aspect-ratio
❞ image aspect ratio aspect-ratio CSS 属性为box容器规定了一个期待的纵横比,这个纵横比可以用来计算自动尺寸以及为其他布局函数服务。...❝CSS aspect-ratio属性可以明确元素的高宽比例,日后一定是一个高频使用的CSS属性。...现在有了aspect-ratio属性,开发者对于元素比例的控制就非常容易实现了。...目前Chrome 88已经支持了aspect-ratio属性,各大浏览器大规模支持只是时间问题,我的Chrome现在版本正好是88,可以体验效果了,于是赶快尝鲜,了解下相关的细节。...在传统的固定宽度的布局下,我们会通过给图片设定具体的宽度和高度值,来保证我们的图片占据区域稳固;但是在移动端或者在响应式开发情况下,图片最终展现的宽度很可能是不确定的,例如手机端的一个通栏广告,iPhone7
我们只使用一个div,仅采用css实现饼状图。...--b:边框厚度的值 --c:边框的主体颜色 本文使用的是简写的变量,在生产环境中,为了达到可读性,我们应该使用--p -> --percentage, --b -> --border-thickness...浏览器会自动匹配我们预设 to 中的值(div class="pie" style="--p:60;">60%) 最后,我们调用动画。...遗憾的是,上面所用到的技术现存的浏览器不是很广泛地支持,你可以在Can I Use查找属性是否被相关版本浏览器支持。...请你在谷歌内核的浏览器上面去尝试博文展示的效果。 PS:当然,如果你做内部系统的话,完全不用担心支持的问题,请规范你的团队对浏览器的使用。 【完】
启动项目 初始完之后,进入到项目根目录: cd my-project 启动项目: npm run serve 稍等一会儿,可以看到自动在浏览器中打开了 安装PostCSS插件 ...实现长宽比的几种方案 容器长宽比 Web中如何实现纵横比 实现精准的流体排版原理 目前采用PostCSS插件只是一个过渡阶段,在将来我们可以直接在CSS中使用aspect-ratio...CSS Modules Vue中的vue-loader已经集成了CSS Modules的功能,个人建议在项目中开始使用CSS Modules。...在Vue中,使用CSS Modules的相关文档可以阅读Vue官方提供的文档《CSS Modules》。...在img中content会引起部分浏览器下,图片不会显示。这个时候需要全局添加: img { content: normal !
它决定容器在滚动过程中是否应该对齐到特定位置以及对齐的方向。...它允许你将样式、布局和绘制重新计算的范围限制在DOM的特定部分,提高性能并最小化不必要的渲染工作。 使用 contain ,我们可以指示一个元素及其内容尽可能独立于文档树的其他部分。...basic-shape :在CSS Shapes规范中定义的基本形状函数。 geometry-box :与 结合使用,为基本形状提供参考框。 none :未应用任何剪辑。...9. aspect-ratio aspect-ratio 属性是CSS的一个相对较新的添加,它允许我们控制元素的宽高比。它提供了一种简单的方法,确保元素保持特定的宽高比,无论其内容或视口的大小如何。...总结 将这些较少为人所知的CSS属性融入到你的项目中,不仅会扩展你的知识,还会为你提供额外的工具来创建出色的设计并优化性能。 记住,在使用这些属性时,考虑浏览器支持和潜在的跨浏览器问题是至关重要的。
领取专属 10元无门槛券
手把手带您无忧上云