Является ли высота строки: 1.4 такой же, как высота строки: 140%?

Является ли использование значения line-height 1,4 таким же, как использование значения line-height 140%? Другими словами, можем ли мы считать безразмерное значение таким же, как процентное значение?


person JKK    schedule 07.02.2020    source источник
comment
Каждая строка становится высотой 1,4 строки, поэтому она составляет 140% от исходной высоты в зависимости от размера шрифта. Это не то же самое, что height:140%;, поскольку ширина и высота % основаны на родительском элементе. line-height не основан на родительском элементе, поэтому line-height:140%; совпадает с line-height:1.4;.   -  person StackSlave    schedule 07.02.2020
comment
@ Гермес, пожалуйста, не меняй смысл вопроса! обратите внимание на ваши правки   -  person Temani Afif    schedule 07.02.2020


Ответы (2)


Не существует точно1 одинаковых из-за наследования, вот тривиальный пример.

.box {
  display: inline-block;
  border: 1px solid green;
}

.box > span {
  font-size: 50px;
  border: 1px solid red;
}

.box > span > span{
  font-size: 50%;
  border: 1px solid red;
}
<div class="box">
  <span style="line-height:1.8;"><span>some text here</span></span>
</div>

<div class="box">
  <span style="line-height:180%;"><span>some text here</span></span>
</div>

В первом случае последний диапазон будет иметь значение line-height, равное 45px, что равно 1.8 * (50% of 50px), где 1.8 — это унаследованное значение высоты строки от его родителя. Во втором случае последний диапазон будет иметь значение, равное 90px, то есть 180% of 50px, где все значение наследуется от его родителя.

Другими словами, первый диапазон получает 1.8, затем будет учитывать свой font-size, в то время как второй диапазон получит вычисленное значение от своего родителя, а font-size ничего не изменит.

<number>

Используемое значение свойства — это число, умноженное на размер шрифта элемента. Отрицательные значения недопустимы. Вычисленное значение совпадает с указанным значением.

<percentage>

Вычисленное значение свойства – это процент, умноженный на вычисленный размер шрифта элемента. Отрицательные значения недопустимы. ref

Обратите внимание, что в обоих случаях вычисленное значение не совпадает, что делает наследование различным в обоих случаях.

Чтобы лучше проиллюстрировать процентный случай:

.box {
  display: inline-block;
  border: 1px solid green;
}

.box > span {
  font-size: 50px;
  border: 1px solid red;
  line-height: 180%;
}

.box > span > span {
  border: 1px solid red;
}
<div class="box">
  <span ><span style="font-size:50px;">some text </span></span>
</div>

<div class="box">
  <span ><span style="font-size:50%;">some text </span></span>
</div>
<div class="box">
  <span ><span style="font-size:20px;">some text </span></span>
</div>

<div class="box">
  <span ><span style="font-size:5px;">some text </span></span>
</div>

Если вы осмотрите элементы, вы можете ясно увидеть, что во всех случаях значение line-height равно 90px.

Обратитесь к этому вопросу, чтобы понять, почему высота окна увеличивается: Почему высота увеличивается с меньшим размером шрифта?

Если мы рассмотрим безразмерное значение, мы получим другой результат:

.box {
  display: inline-block;
  border: 1px solid green;
}

.box > span {
  font-size: 50px;
  border: 1px solid red;
  line-height: 1.8;
}

.box > span > span {
  border: 1px solid red;
}
<div class="box">
  <span ><span style="font-size:50px;">some text </span></span>
</div>

<div class="box">
  <span ><span style="font-size:50%;">some text </span></span>
</div>
<div class="box">
  <span ><span style="font-size:20px;">some text </span></span>
</div>

<div class="box">
  <span ><span style="font-size:5px;">some text </span></span>
</div>


1Если мы опустим факт наследования и рассмотрим только тот элемент, где мы явно установили line-height, то мы можем сказать, что оба они одинаковы, поскольку они дадут одинаковый результат для заинтересованный элемент.

person Temani Afif    schedule 07.02.2020

См. пример..

<div style="background:green;">
  <p style="line-height:1.4;">This is demo Text. <br>This is demo Text.</p>
</div>
<div  style="background:green;">
  <p style="line-height:140%;">This is demo Text. <br>This is demo Text.</p>
</div>

person Rohit Tagadiya    schedule 06.07.2020