保持元素宽高比

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>
相关推荐
GISer_Jing几秒前
React 18+ 高级特性实战与面试精讲
javascript·react.js·面试
小小小米粒16 分钟前
生命周期 = Vue 实例从创建 → 挂载 → 更新 → 销毁的全过程钩子函数computed = 基于依赖缓存的计算属性
前端·javascript·vue.js
冰暮流星27 分钟前
javascript之dom访问css
开发语言·javascript·css
蓝黑20201 小时前
Vue组件通信之slot
前端·javascript·vue
布局呆星1 小时前
Vue3+TS 笔记:Props 与 Emits 的正确打开方式
javascript·vue.js·笔记
小李子呢02111 小时前
前端八股7--- Vue 状态管理工具(vuex和pinia)
前端·javascript·vue.js
Geoking.1 小时前
后端Long型数据传到前端js后精度丢失的问题(前后端传输踩坑指南)
java·前端·javascript·后端
时寒的笔记1 小时前
js7逆向案例_禁止f12打开&sojson打开
开发语言·javascript·ecmascript
stpzhf1 小时前
uniapp nvue组件多个text在一行并且高亮其中一些文字
前端·javascript·uni-app
十一.3661 小时前
003-004 虚拟DOM的两种创建方式、虚拟DOM与真实DOM
前端·javascript·html