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;
        }
相关推荐
水域安全老周11 分钟前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师43 分钟前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing981 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
EatFan1 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
梦想平凡2 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
IT_陈寒2 小时前
Redis的Set操作居然能把我的服务整挂了?
前端·人工智能·后端
计算机魔术师2 小时前
Suno 发布 v6 音乐模型,推出 v6、v6-wild、v6-mini 三个版本
前端
whyweplay3 小时前
elpis : DSL动态组件学习
前端
用户921080262863 小时前
前端 Vue 专栏 06:异步更新机制、任务队列与 nextTick
前端
晴天164 小时前
Chrome DevTools 深度调试指南
前端·chrome·chrome devtools