Почему CSS width: cal c (наследовать) делает что-то отличное от width: наследовать? - PullRequest
0 голосов
/ 01 апреля 2020

Я учусь в средней школе, экспериментируя с CSS и HTML, и я заметил, что ширина: cal c (наследовать) делает что-то отличное от ширины: наследовать.

Следующий фрагмент есть какая ширина: наследовать; делает.

.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'>
&nbsp;
<div>
test
</div>
<div>
test..........................................................
</div>
</div>
</div>

Какой фрагмент этой ширины: cal c (наследовать); делает.

.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'>
    &nbsp;
    <div>
    test
    </div>
    <div>
    test..........................................................
    </div>
    </div>
    </div>

Я не понимаю, почему они дали бы разные результаты. Может кто-нибудь объяснить?

Ответы [ 3 ]

0 голосов
/ 01 апреля 2020

cal c () предполагается для вычисления с использованием математического выражения типа -, +, * или / example

width: calc(100% - 100px); 

у вас нет выражения, поэтому оно, вероятно, недопустимо, но, возможно, если вы сделаете, чтобы .header width имел выражение, тогда используйте наследование, которое может работать

.header{
    width: cal(100% - 100px);
}
.header{
    width: inherit;
}

, которое может работать, но не уверен, также я не знаю, является ли 100% - 100px точной шириной, которую вы ищете

0 голосов
/ 01 апреля 2020

Просто используйте width: 100%, и он займет всю ширину родительского элемента.

0 голосов
/ 01 апреля 2020

если вы посмотрите на console.log, вы увидите, что cal c не работает с наследовать.

#a1{
width:inherit;
}

#a2{
width: calc (inherit);
}
<div id='a1'>xxx</div>
<div id='a2'>xxx</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...