美文网首页
【转载】CSS之aspect-ratio:按百分比保持宽高

【转载】CSS之aspect-ratio:按百分比保持宽高

作者: Piemon_Jay | 来源:发表于2021-12-01 17:46 被阅读0次

一、什么是aspect-ratio🌽

aspect-ratio是一个很早就在W3C提出的保持元素纵横比的规范,但是早期各大浏览器都支持的不好,而现在各大主流浏览器都已经很好的支持了这个css原生属性,它出现的目的就是为了解决我们保持元素纵横比遇到的各种麻烦的事

W3C

image.png

各大主流浏览器已经完美支持

浏览器支持率百分之89%

image.png

二、如何使用aspect-ratio 🍪

就拿我们刚才上面使用Padding-Top Hack的例子来试试吧,来看看它究竟有多好用

只需要添加这一行代码 哈哈哈哈哈 太爽了😂

 .inner {
        background-color: pink;
        color: red;
        font-size: 30px;
        width: 50%;
        text-align: center;
        aspect-ratio: auto 2 / 1; //就添加这一行
      }

三、 aspect-ratio详细解析🐳

语法 : aspect-ratio: auto ||

  • auto 默认值,它指定元素没有首选的纵横比,应该像往常一样调整自己的大小。因此,替换元素,如具有固有纵横比的图像,使用 纵横比。
  • <ratio>: 由正斜杠 ( /)分隔的两个正数值,它们周围有或没有空格,目标是元素的宽度和高度。在单个值的情况下,第二个值被认为是 1。涉及首选纵横比的大小计算适用于指定的框的尺寸 box-sizing
  • initial 应用属性的默认设置,即auto
  • inherit 采用aspect-ratio父级的值。
  • unset 从元素中删除当前的纵横比。

直接上例子解释吧

html

<div class="preferably-square"></div>
<img class="preferably-square" src="https://source.unsplash.com/random/800x600?iran" alt="">
复制代码

css

body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2rem;
  padding: 2rem;
}

.preferably-square {
  width: 300px;
  aspect-ratio: auto 2 / 1; 
}

div {
  background-image: linear-gradient(90deg,#ec4899,#ef4444,#f59e0b);
}

img {

}
复制代码

auto属性适用于可替换元素(img、video这种本身就具有长宽比的元素)

使用了auto属性,那么可替换元素将继续保持它原本的长宽比,不会受你css属性的影响。

转载链接:https://juejin.cn/post/7035779305376317476

相关文章

  • 【转载】CSS之aspect-ratio:按百分比保持宽高

    一、什么是aspect-ratio? aspect-ratio是一个很早就在W3C提出的保持元素纵横比的规范,但是...

  • 2021-02-20

    css新属性aspect-ratio 使用宽/高比进行页面适配 aspect-ratio:CSS[https://...

  • 使用CSS新特性aspect-ratio保持图片宽高比

    使用CSS新特性aspect-ratio保持图片宽高比 一、aspect-ratio兼容性 浏览器版本chrome...

  • css笔记

    0. 关于百分比宽高 在使用百分比指定元素的宽高时,相对于父元素的宽高值会因为子元素定位方式的不同而不同 子元素是...

  • 2019前端基础面试题

    1、css实现图片自适应宽高 主要使用padding-bottom,该属性是基于父元素宽度百分比的; 2、什么是B...

  • table-cell设置宽高、居中

    table-cell默认宽高由内容决定 可以设置固定宽高: 直接设置宽高百分比是无效的,因为table没有显式声明...

  • 17、宽高

    获取宽高的几种方式: css('height') / css('width')获取组件的宽高,带有px,是字符串 ...

  • 浅析使用attr设置宽高与css设置宽高的区别

    一、主要区别 使用attr设置宽高,attr对于的是实际宽高,如果没设置css就是显示的实际宽高,如果设置了css...

  • Canvas-基础

    坐标系 css中的宽高不是画布的大小,当设置了css宽高,画布会随之缩放如果你的canvas的宽高是100,100...

  • 1-css的多种垂直居中的方法

    多种css垂直居中的方法 ==css3不定宽高水平垂直居中== 1:固定高宽的垂直居中 如上图,固定高宽的很简单,...

网友评论

      本文标题:【转载】CSS之aspect-ratio:按百分比保持宽高

      本文链接:https://www.haomeiwen.com/subject/vaosxrtx.html