首页 > 其他分享 >css的height:100%和height:inherit之间有什么区别呢?

css的height:100%和height:inherit之间有什么区别呢?

时间:2024-12-02 10:13:08浏览次数:7  
标签:包含 100% 元素 高度 inherit height

height: 100%height: inherit 在 CSS 中都用于设置元素的高度,但它们的工作方式不同,导致产生的效果也不一样。 关键区别在于它们如何参考父元素来确定高度。

  • height: 100%: 将元素的高度设置为其包含块高度的 100%。 这意味着元素的高度将与其包含块的高度完全相同。 需要注意的是,如果包含块的高度未明确设置,则 height: 100% 将不起作用。 换句话说,父元素需要有一个定义的高度(例如,通过像素、em 或 vh 设置),才能使子元素的 height: 100% 生效。

  • height: inherit: 将元素的高度设置为与其父元素的计算高度相同。 这意味着元素将继承其父元素的 height 属性值,无论该值是百分比、像素值还是其他单位。 如果父元素没有显式设置 height 属性,它将继续向上查找祖先元素,直到找到一个具有显式 height 值的元素,或者默认使用 auto

总结区别:

特性 height: 100% height: inherit
参考对象 包含块 父元素
计算方式 包含块高度的 100% 继承父元素的 height 值
父元素无高度 无效 继续向上查找祖先元素的 height 值

示例:

<div style="height: 200px; background-color: lightblue;">
  <div style="height: 100%; background-color: lightcoral;">100%</div>
</div>
<div style="background-color: lightgreen;">
  <div style="height: 200px; background-color: lightblue;">
    <div style="height: inherit; background-color: lightcoral;">inherit</div>
  </div>
</div>

在这个例子中:

  • 第一个红色 div 的高度是 200px,因为它继承了其包含块(外部蓝色 div)的 200px 高度。
  • 第二个红色 div 的高度也是 200px,因为它继承了其父元素(内部蓝色 div)的 200px 高度。

选择哪个?

  • 如果希望元素填充其包含块的整个高度,则使用 height: 100%。 确保包含块具有显式设置的高度。
  • 如果希望元素具有与其父元素完全相同的高度(包括单位和计算值),则使用 height: inherit

希望这个解释能够帮助你理解 height: 100%height: inherit 之间的区别。

标签:包含,100%,元素,高度,inherit,height
From: https://www.cnblogs.com/ai888/p/18581096

相关文章

  • 说下你对css样式的这几个属性值initial、inherit、unset、revert的理解
    这四个CSS属性值initial、inherit、unset和revert都与元素样式的继承和重置有关,但它们的作用方式略有不同:initial(初始值):将属性设置为浏览器样式表中定义的默认值。每个属性都有其初始值,例如,background-color的初始值为transparent,font-size的初始值为medium,d......
  • body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢
    body{height:100%}andhtml,body{height:100%}haveacrucialdifferencerelatedtohowthebrowsercalculatestheheightofthebodyelement.Thehtmlelementrepresentstherootofthedocument,whilethebodyelementcontainsthevisiblecontent.Here......
  • 【洛谷】P1002 [NOIP2002 普及组] 过河卒
    #include<iostream>usingnamespacestd;constints1[]={0,-2,-1,1,2,2,1,-1,-2};constints2[]={0,1,2,2,1,-1,-2,-2,-1}; //马可以走到的位置,上下对应longlongf[80][80],s[80][80];intmain(){ longlongi,b1,b2,m1,m2; cin>>b1>......
  • hot100-一刷-02双指针(共4道题)
    283.移动零题目链接题目描述代码实现分析:快慢指针,快指针指向不为0的数,慢指针指向左边当前已经处理好的序列的尾部代码:classSolution{publicvoidmoveZeroes(int[]nums){intslow=0;intfast=0;intn=nums.length;wh......
  • 【LTspice学习笔记】:三线制 Pt100 测温电路
         本文是一个大三自动化专业本科生就恒流源三线制Pt100测温电路相关仿真设计的实验学习与记录过程,并对 Pt100电阻的一些原理特性以及电位计的导入做简单介绍。一、PT100介绍        PT100电阻是指在0°C时,PT100温度传感器的电阻值为100欧姆,随着温度......
  • hot100-一刷-01哈希(共3道题)
    1.两数之和题目链接题目描述代码实现分析:暴力的话就是两个for循环依次寻找相加为target的两个数。用一个map记录已经遍历过的数,其中key就用这个数的字面值,value就存它的下标。判断是否相加为taget的时候,只需要看map中是否有target-nums[i]就可以,说明当前的nums[i]和之前......
  • heritage、legacy和inheritance的区别
    heritage、legacy和inheritance都表示从祖先处得到的物品或财富。他们的区别是:heritage不是财物,是文化、历史、语言、遗迹这样的东西。如:Theparliamenthaspassedalawtopreserveculturalheritage.(国会通过了一部旨在保护文化遗产的法律)legacy也不是财物,他是一种对后世或......
  • 求100之内的素数-多语言
    目录C语言实现方法1:使用for循环方法2:使用埃拉托斯特尼筛法方法3:使用自定义判断素数 Python实现方法1:使用自定义函数判断素数 方法2: 使用埃拉托斯特尼筛法(SieveofEratosthenes)方法3:使用递归方法Java实现方法1:使用自定义函数判断素数方......
  • 【力扣热题100】—— Day3.相交链表
    被你改变的那部分我,代替你,永远与我站在一起                                                                        ——24.11.28160.相交链表给你两个单链表的头节点 headA ......
  • 代码随想录算法训练营第二十八天| leetcode122.买卖股票的最佳时机 II、leetcode55.
    1leetcode122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II_哔哩哔哩_bilibili思路:自己不知道怎么写出来的一道题目,就觉得理解上面就是找到了方法,但是后面再......