侧边栏壁纸
博主头像
chao's blog博主等级

记录学习所得,以及日常生活

  • 累计撰写 11 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

在css中设置元素固定长宽比的几种方法

Administrator
2024-10-28 / 0 评论 / 0 点赞 / 3 阅读 / 3499 字

在CSS中,有几种方法可以设置固定的长宽比。以下是一些常用的技巧:

  1. 使用padding-top或padding-bottom:

这是最常用的方法,利用padding的百分比是相对于父元素宽度的特性。

.aspect-ratio-box {
  width: 100%;
  position: relative;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.aspect-ratio-box-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
  1. 使用aspect-ratio属性(现代浏览器支持):

这是一个新的CSS属性,可以直接设置长宽比。

.aspect-ratio-box {
  width: 100%;
  aspect-ratio: 16 / 9;
}
  1. 使用视口单位:

这种方法适用于需要相对于视口大小的固定比例。

.aspect-ratio-box {
  width: 100vw;
  height: 56.25vw; /* 100 * 9 / 16 */
}
  1. 使用伪元素:

这种方法类似于第一种方法,但使用伪元素来创建比例。

.aspect-ratio-box {
  width: 100%;
}

.aspect-ratio-box::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
}
  1. 使用grid布局:

这种方法利用grid布局的特性来设置比例。

.aspect-ratio-box {
  display: grid;
}

.aspect-ratio-box::before {
  content: "";
  grid-area: 1 / 1 / 2 / 2;
  padding-top: 56.25%;
}

.aspect-ratio-box-content {
  grid-area: 1 / 1 / 2 / 2;
}

这些方法中,第1种和第2种是最常用和最简单的。第2种(aspect-ratio)是最新的方法,但可能不被所有浏览器支持。选择哪种方法取决于你的具体需求和目标浏览器的兼容性。

0

评论区