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>
相关推荐
kyriewen1 小时前
今年裁了16万技术人——但字节前端岗反而涨了23%
前端·javascript·面试
用户059540174461 小时前
把 AI Agent 记忆存储验证从 40 分钟手测压到 3 分钟,pytest + Docker 这套组合太顶了
前端·css
stereohomology1 小时前
MS Edge很多事的一点是把地址栏复制的地址自动转标题文本
前端·edge
imaol12 小时前
链表 -- 环链表
java·前端·链表
imaol12 小时前
链表 -- 双向链表
java·前端·链表
东风破_2 小时前
大前端手里的 Next.js:从 #root 到 SEO,一份 HTML 的两种命运
前端·后端
IT_陈寒2 小时前
Vue的v-for不听话?我被这个Key的坑整懵了
前端·人工智能·后端
王林不想说话3 小时前
ES6 到 ES2026 全面进阶指南:新特性、原理、示例与工程落地
前端·javascript·面试
用户43523713814933 小时前
🚀 Vue3 + TypeScript 学习笔记:从泛型 T 到 Promise<T>,终于搞懂了 keyof 和 typeof
前端
跟着群主去吃肉3 小时前
Cinemachine的应用-第三人称视角
前端·unity3d·游戏开发