css之如何获取祖先元素的宽高

如何获取包含块之外的祖先元素的宽高

一、使用css变量

css 复制代码
  .container {
            width: 200px;
            height: 100px;
            background-color: #f0f0f0;
            --ancestor-width: 200px;
            --ancestor-height: 100px;
        }
        .box {
            width: 150px;
            height: 50px;
            background-color: #000;
        }
        .item {
            width: var(--ancestor-width);
            height: var(--ancestor-height);
            background-color: red;
        }

当祖先元素的宽高是百分比的时候还是挺有用的

二、使用容器查询

css 复制代码
    /* 
        方案1: 使用容器查询获取祖先元素宽度(推荐,现代浏览器)
         将祖先元素设置为容器
        */
        .container {
            container-type: inline-size;
            width: 200px;
            height: 100px;
            background-color: #f0f0f0;
        }
        .box {
            width: 150px;
            height: 50px;
            background-color: #000;
        }
        .item {
            /* 方案1: 使用容器查询(推荐)- 基于祖先容器宽度
                65cqw = 65% of container width (祖先元素.su-content的宽度) */
            width: 65cqw;
            height: 100%;
            background-color: red;
        }
相关推荐
Lstone73642 小时前
从 Jetpack Compose 到 CMP:跨平台开发学习笔记
前端
deli0072 小时前
多加一粒沙,整堆为什么就塌了?sandpile 模型 20 万粒实测
前端
涛涛ing2 小时前
乱序HTML流正式进入浏览器:前端流式渲染的“框架特权”被终结了
前端
__sjfzllv___2 小时前
在职前端Leader学习/转行 AI Agent -DAY73
前端
用户1733598075372 小时前
纯前端 PDF 压平避坑指南:压平后表单字段变了?
前端·javascript·vue.js
nyaomaru2 小时前
将一个真实的 TypeScript OSS 库从 tsup 迁移到 tsdown
前端·typescript
胡写代码2 小时前
雪花 ID 传到前端就变了个数?我用全局 Long 转 String 一次收口
前端·后端
沐言人生3 小时前
82.4k 星!把十几万行代码变成知识图谱,新人终于不用硬啃了
前端·后端·github
溪语流沙3 小时前
【Web全栈进阶】JWT无状态认证:签发、校验、刷新
前端·git·python·github
在繁华处3 小时前
2.1 上下文:决定 Agent 能力上限的关键
前端·人工智能·microsoft