那些理解不夠深入的CSS屬性

line-height

兩行文字基線之間的距離css

行內盒子模型的種類

  1. content-area: 內容區域,大小與font-size有關
  2. inline-box: 內聯盒子,匿名內聯盒子
<p id='p1'>我是一行文本<em>我是em標籤</em>我是一行文本</p>
複製代碼

  • 紅色表示內聯盒子
  • 綠色表示內聯匿名盒子
  1. line-box: 行框盒子

每一行就是行框盒子bash

  1. containing-box: 包含盒子

一行一行的line-box組成包含盒子字體

什麼是基線

行高

一些思考與疑問

  1. 內聯元素的高度是由行高決定的,不是由文字撐開的
<body>
	<style type="text/css">
		#p1{
			font-size: 30px;
			line-height: 0;
			background: red;
			border: 2px solid #ccc;
		}
		#p2{
			font-size: 0;
			line-height: 30px;
			background: red;
			border: 2px solid #ccc;
		}
		#p3{
			background: red;
			border: 2px solid #ccc;
		}
	</style>
	<p id='p1'>我是一行文本<em>我是em標籤</em>我是一行文本</p>
	<p id='p2'>我是一行文本<em>我是em標籤</em>我是一行文本</p>
	<p id='p3'>我是一行文本<em>我是em標籤</em>我是一行文本</p>
</body>
複製代碼

2. line-heigth的定義是兩行基線之間的距離,爲何單行文本也有行高,而且還控制了內聯元素的高度?

單行文本的高度不是行高,單行文本的高度=內容區域+行間距,這個距離恰好和行高的值相等。ui

  • 內容區域高度只與字號和字體有關,與line-height沒有關係
  • 在simsun(宋體)下,內容區域高度等於文字大小
  • 在simsun字體下:font-size + 行間距 = line-height
  1. 行高決定內聯元素的高度
  2. 行間距,可大可小,甚至能夠是負值,會根據字體的不一樣自動調整,保證:行高的值 = 內容區域 + 行間距
  3. 若是行框盒子裏有多個高度不一樣的內聯盒子,這個時候行框盒子的高度?
  • 爲何line-height可讓單行文本垂直居中spa

  • 爲何是基線code

  • 須要兩行嗎cdn

相關文章
相關標籤/搜索