行內(nèi)模型歷史溯源
網(wǎng)站建設(shè)CSS行內(nèi)格式化模型看上去可能有些沒必要的復(fù)雜,而且在某些方面,甚至與網(wǎng)站建設(shè)人員的意愿相違背。遺憾的是,我們現(xiàn)在要創(chuàng)建的是這樣一種樣式語言,它既能與CSS之前的Web瀏覽器向后兼容,還要為將來擴展到更復(fù)雜的領(lǐng)域敞開大門,它將過去和現(xiàn)在笨拙地混合在一起,而上述行內(nèi)格式化模型的這種復(fù)雜性正是這樣做的直接后果,另外還有一個原因,我們可能會做一些合理的決策來避免一個不期望的后果,但這可能又會導(dǎo)致另一個不期望的后果出現(xiàn)。
例如,有圖像和垂直對齊文本的文本行會“散開”,究其原因,這要歸根于Mosaic 1.0的做法。在這種瀏覽器中,段落中的所有圖像都會留出足夠大的空間來包含該圖像,這種做法很好,因為這樣可以避免圖像與其他行中的文本重疊。所以,在CSS網(wǎng)站建設(shè)引入為文本和行內(nèi)元素設(shè)置樣式的方法時,設(shè)計者則盡力創(chuàng)建這樣一個模型,(默認(rèn)地)它不會導(dǎo)致行內(nèi)圖像與其他文本行重疊。不過,這個模型也意味著存在另外一些問題,例如,上標(biāo)元素(sup)很可能也會使行拉開距離。
這種效果使一些網(wǎng)站建設(shè)人員很惱火,他們希望行基線之間的距離應(yīng)該固定,不過再來看另一種情況。如果line-height要求基線之間的距離是指定的,最后很可能使行內(nèi)替換元素和垂直移動元素與其他文本行重疊——這也會使創(chuàng)作人員不滿意。幸運的是,CSS有足夠強大的功能,總能以這樣或那樣的某種方式得到你想要的效果,CSS的將來還會有更大潛力。