保持元素宽高比

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>
相关推荐
程序员大阳4 小时前
HTML+CSS+JS对话式实战(3)-活动管理页实现查询、新增、删除API后端接口
javascript·css·html·实战·删除·查询·新增
炫酷的大高个5 小时前
6 亿播放的闪身步,我用前端算出 15 倍重心差
前端·javascript
林小帅5 小时前
【笔记】Prisma v7 + SQLite TS2305 及连锁 TS7006 问题
前端·javascript·后端
Dumbness5 小时前
订阅消息弹窗必须在用户点击里调:联调实验室里 timing 和 Mock 支付通知踩的坑
javascript·uni-app
黄连木笛5 小时前
不改一行 Postman 源码,把它汉化了:Electron preload 注入 + fetch 拦截实战
javascript·electron
叼烟扛炮7 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
卋罖7508 小时前
Razor 视图 + JavaScript + Vue/iView 组件实现的表格自定义列
javascript·vue·iview·razor视图
系统集成-鹰翔1 天前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端
FlyWIHTSKY1 天前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js
程序员大阳1 天前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例