今天我讀了關於CSS排版和如何建立一個簡單的基線網格的文章。我認爲這樣做可能很有趣,所以我設置了一切,但顯然它看起來並不像預期的那樣。CSS排版 - 爲什麼基線網格完全關閉?
這裏是全屏小提琴:http://jsfiddle.net/j5Tav/embedded/result/
,及代碼:http://jsfiddle.net/j5Tav/
形象化基線我用Baseliner作爲一個書籤。它使用JavaScript顯示一個基線。
正如你可以從我的SCSS代碼中看到的,我確定的基準爲14px的的字體大小21px:
/* Reset */
* { margin: 0; padding: 0; }
/* Variables */
$bodyFontSize: 14px;
$baseline: 21px; /* 1.5 for 14px */
body {
font-size: $bodyFontSize;
line-height: $baseline;
}
article {
margin: 0 auto;
width: 65%;
}
h1,
h2,
p {
margin-bottom: $baseline;
}
h1 {
font-size: $bodyFontSize * 2;
line-height: $baseline * 2;
}
h2 {
font-size: $bodyFontSize * 1.8;
line-height: $baseline * 1.8;
}
不過,當您使用底線上全屏小提琴和輸入21到書籤,基線完全關閉。爲什麼?我計算了什麼錯誤?
聽起來就像你遇到舍入不一致(14px * 1.8 = 19.6px)。您是否有特定的原因選擇在每個線條高度上指定單位? (請參閱:http://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/和https://developer.mozilla.org/en-US/docs/CSS/line-height) – cimmanon
@cimmanon \t 不,沒有具體原因。通常我會這樣做,就像你的鏈接建議 - 沒有單位。但有一個變量像$ baseline:21;對我來說似乎很陌生。通常我使用REM與px後備文本大小,但不知何故jsfiddle無法處理。你有一個想法如何避免這些問題?我仍然困難地圍繞着基線概念 - 目前我正在以一個div高度的rem值結束。 – Sven
它似乎喜歡你試圖使用一個單一的變量,當它更合適的有2:'$ multiplier:1.5'(對於行高)和'$ baseline:$ font-size * $ line-height '(用於填充等)。 – cimmanon