保持元素宽高比

css 属性: aspect-ratio

兼容性问题:Google 浏览器 2021 年后 88+ IE 不支持 ( Can I Use )

  • 宽度不固定
  • 高度不固定( 不给高度 height )
html 复制代码
<body>
  <style>
    div {
      width: 50%;
      background-color: red;
      aspect-ratio: 1/2;
    }
  </style>
  <div></div>
</body>
使用padding + 定位
html 复制代码
 <body>
    <style>
      .item {
        background-color: red;
        width: 50%;
        margin: 0 auto;
      }
      .inner {
        /* 跟随父原生的宽度变化 */
        width: 100%;
        /* 需要了解视觉格式化模型和包含块 */
        /* padding的百分比相当于父元素的百分比 */
        padding-top: 75%;
        /* 此定位是为了container使用 */
        position: relative;
      }
      .container {
        position: absolute;
        /* CSS 属性 inset 为简写属性,对应于 top、right、bottom 和 left 属性。其与 margin 简写属性具有相同的多值语法 */
        inset: 0;
        background-color: blue;
      }
    </style>
    <div class="item">
      <div class="inner">
        <div class="container">这是测试文字</div>
      </div>
    </div>
  </body>
相关推荐
gaolei_eit2 小时前
Vue3项目ES6转ES5,兼容低版本的硬件设备,React也
javascript·react.js·es6
一位搞嵌入式的 genius2 小时前
从 ES6 到 ESNext:JavaScript 现代语法全解析(含编译工具与实战)
前端·javascript·ecmascript·es6
子兮曰7 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
百锦再8 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
颜酱9 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
小迷糊的学习记录10 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜10 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛11 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大11 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus