我是一名中学生,正在尝试CSS和HTML,我注意到width:calc(inherit(的作用与width:inherit不同。
下面的代码段是什么宽度:inherit;做
.header {
background-color: #77a4ed;
min-width: 200px;
width: fit-content;
border-top-left-radius: 50px;
border-top-right-radius: 50px;
height: 30px;
text-align: center;
height: 20px;
}
.header > div {
background-color: whitesmoke;
border-right: solid 2px black;
border-left: solid 2px black;
border-top: solid 2px black;
min-width: 200px;
width: inherit;
text-align: center;
margin: auto;
padding-left: 10px;
padding-right: 10px;
padding-top: 3px;
padding-bottom: 3px;
}
.header > div:last-of-type {
background-color: whitesmoke;
border-right: solid 2px black;
border-left: solid 2px black;
min-width: 200px;
width: fit-content;
margin: auto;
padding-left: 10px;
border-bottom: solid 2px black;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
<div class='container'>
<div class='header'>
<div>
test
</div>
<div>
test..........................................................
</div>
</div>
</div>
这个片段是什么宽度:calc(inherit(;做
.header {
background-color: #77a4ed;
min-width: 200px;
width: fit-content;
border-top-left-radius: 50px;
border-top-right-radius: 50px;
height: 30px;
text-align: center;
height: 20px;
}
.header > div {
background-color: whitesmoke;
border-right: solid 2px black;
border-left: solid 2px black;
border-top: solid 2px black;
min-width: 200px;
width: calc(inherit);
text-align: center;
margin: auto;
padding-left: 10px;
padding-right: 10px;
padding-top: 3px;
padding-bottom: 3px;
}
.header > div:last-of-type {
background-color: whitesmoke;
border-right: solid 2px black;
border-left: solid 2px black;
min-width: 200px;
width: fit-content;
margin: auto;
padding-left: 10px;
border-bottom: solid 2px black;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
<div class='container'>
<div class='header'>
<div>
test
</div>
<div>
test..........................................................
</div>
</div>
</div>
我不明白他们为什么会给出不同的结果。有人能解释一下吗?
如果检查console.log,您会发现calc无法使用inherit。
#a1{
width:inherit;
}
#a2{
width: calc (inherit);
}
<div id='a1'>xxx</div>
<div id='a2'>xxx</div>
calc((假设使用数学表达式进行计算,如-、+、*或/示例
width: calc(100% - 100px);
你没有任何表达式,所以它可能是无效的,但如果你让.header width有一个表达式,那么使用可能工作的inherit
.header{
width: cal(100% - 100px);
}
.header{
width: inherit;
}
这可能有效,但也不确定我不知道100%-100px是否是你想要的的确切宽度
只需使用width: 100%
,它将占据父元素的整个宽度。