css实现高度是宽度一半的效果

1、方法一:使用变量:root、var()、clac()实现:

1.1 效果如下:

2.2 代码如下:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    :root {
      --width: 200px;
      --height: calc(var(--width) / 2)
    }
    .box {
      width: var(--width);
      height: var(--height);
      background-color: #ccc;
    }
  </style>
</head>
<body>
<div class="box"></div>
</body>
</html>

2、方法二:使用padding来实现(padding会相对于宽度进行计算):

2.1效果如下:

2.2代码如下:

css 复制代码
  <style>
    .outer-box {
      width: 200px;
    }
    .inner-box {
      width: 100%;
      padding-bottom: 50%;
      background-color: #ccc;
    }
  </style>
html 复制代码
<body>
	<div class="outer-box">
	  <div class="inner-box"></div>
	</div>
</body>
相关推荐
贩卖纯净水.44 分钟前
webpack其余配置
前端·webpack·node.js
码上奶茶1 小时前
HTML 列表、表格、表单
前端·html·表格·标签·列表·文本·表单
抹茶san1 小时前
和 Trae 一起开发可视化拖拽编辑项目(1) :迈出第一步
前端·trae
风吹头皮凉1 小时前
vue实现气泡词云图
前端·javascript·vue.js
南玖i1 小时前
vue3 + ant 实现 tree默认展开,筛选对应数据打开,简单~直接cv
开发语言·前端·javascript
小钻风33662 小时前
深入浅出掌握 Axios(持续更新)
前端·javascript·axios
萌萌哒草头将军2 小时前
🚀🚀🚀尤雨溪推荐的这个库你一定要知道!轻量⚡️,优雅!
前端·vue.js·react.js
三门2 小时前
docker安装mysql8.0.20过程
前端
BillKu3 小时前
Vue3 + Vite 中使用 Lodash-es 的防抖 debounce 详解
前端·javascript·vue.js