CSS技巧(02)

纵横比aspect-ratio

CSS有一个常见的问题无法根据长宽比来调整大小。特别是在处理响应式设计时,通常希望能够将宽度设置为百分比,并使用高度对应于某个纵横比。针对该问题,也是负责设计CSS的人员(即CSS工作组)一直在讨论的问题,最近在旧金山举行的CSSWG会议上针对这方面的解决方案的提议得到了一致性的通过。

在该提议之前,Web开发人员一直以各种方式处理纵横比,其中最主要的方案是借助padding(padding-top或padding-bottom)设置一个百分比值。原理非常的简单,padding的百分比是根据元素的width来计算的。如此一来就可以达成到我们想要的效果(模拟出纵横比效果)。除了这种方案,CSS中还有其他的一些技巧可以实现长宽比。有关于这方面的介绍,在互联网上也较多,比如:

容器长宽比

Web中如何实现纵横比

Flexible Images

Aspect Ratio Boxes

虽然上述提到的方案可以实现纵横比,但大家还在寻找一个通用的解决方案。W3C的CSS Sizing 4 specification规范中就提供了这样的通用解决方案。规范中提供了aspect-ratio属性。该属性将接受一个长宽比的值,比如16/9。如果想要一个宽度和高度相同的盒子,可以像下面这样使用:




©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容