1. 程式人生 > >【Web前端】清除浮動&css中文字體

【Web前端】清除浮動&css中文字體

white hidden lag iso 學習資源 target 元素 關系 align

清理浮動有非常多種方式,像使用 br 標簽自帶的 clear 屬,使用元素的 overflow。使用空標簽來設置 clear:both 等等。但考慮到兼容問題和語義化的問題,一般我們都會使用例如以下代碼來清理浮動。

/* 清理浮動 */
.clearfix:after {
visibility:hidden;
display:block;
font-size:0;
content:" ";
clear:both;
height:0;
}
.clearfix {
zoom:1;
}

其原理是。在「高級」瀏覽器中使用 :after 偽類在浮動塊後面加上一個非 display:none 的不可見塊狀內容來。並給它設置 clear:both 來清理浮動。在 ie6 和 7 中給浮動塊加入 haslayout 來讓浮動塊撐高並正常影響文檔流。


上面的代碼應該是如今主流的清理浮動方式。如今支付寶就使用這種方式。而如今,Nicolas Gallagher 給出了一個更簡潔的方案:

.cf:before, .cf:after {

content:"";
display:table;
}
.cf:after {
clear:both;
}
.cf {
zoom:1;
}


原理還是一樣的。使用 :after 偽類來提供浮動塊後的 clear:both。不同的是,隱藏這個空白使用的是 display: table。

而不是設置 visibility:hidden;height:0;font-size:0; 這種 hack。

值得註意的是這裏中的 :before 偽類。事實上他是來用處理 top-margin 邊折疊的,跟清理浮動沒有多大的關系。但由於浮動會創建 block formatting context,這樣浮動元素上的另而一元素上假設剛好有 margin-bottom 而這個浮動元素剛好有margin-top 的話。應該讓他們不折疊(盡管這樣的情況並不常見)。

------------------------------------------------------------------------------------------------------------------------------------------------

在寫一個站點的樣式表的時候,都會不可避免地用到一些中文字體。比方說微軟雅黑、黑體等,除非是做英文站,或者說你樂意整站都用瀏覽器默認的字體,那我也算服了U。在 CSS 中寫入中文字體的方法一般採用 font-family:"微軟雅黑","黑體";這樣類似的表達方式。可是對於像 WordPress 這樣須要 UTF8 編碼平臺來說。一個不註意沒有轉換編碼就會導致中文字體無法依照希望的字體表形出來。所以我們能夠通過英文、unicode 這樣的形式來表達中文。比方說剛才的 font-family:"微軟雅黑","黑體";就能夠寫成 font-family:"Microsoft Yahei","SimHei"; 這樣看起來是不是也能夠統一一點呢。

中文字體與英文、unicode 相應的太多,背也背不下來,就搜集了一張表格收藏記錄一下,希望也是你想要的:

中文名 英文名 Unicode
Mac OS
華文細黑 STHeiti Light [STXihei] \534E\6587\7EC6\9ED1
華文黑體 STHeiti \534E\6587\9ED1\4F53
華文楷體 STKaiti \534E\6587\6977\4F53
華文宋體 STSong \534E\6587\5B8B\4F53
華文仿宋 STFangsong \534E\6587\4EFF\5B8B
麗黑 Pro LiHei Pro Medium \4E3D\9ED1 Pro
麗宋 Pro LiSong Pro Light \4E3D\5B8B Pro
標楷體 BiauKai \6807\6977\4F53
蘋果麗中黑 Apple LiGothic Medium \82F9\679C\4E3D\4E2D\9ED1
蘋果麗細宋 Apple LiSung Light \82F9\679C\4E3D\7EC6\5B8B
Windows
新細明體 PMingLiU \65B0\7EC6\660E\4F53
細明體 MingLiU \7EC6\660E\4F53
標楷體 DFKai-SB \6807\6977\4F53
黑體 SimHei \9ED1\4F53
宋體 SimSun \5B8B\4F53
新宋體 NSimSun \65B0\5B8B\4F53
仿宋 FangSong \4EFF\5B8B
楷體 KaiTi \6977\4F53
仿宋_GB2312 FangSong_GB2312 \4EFF\5B8B_GB2312
楷體_GB2312 KaiTi_GB2312 \6977\4F53_GB2312
微軟正黑體 Microsoft JhengHei \5FAE\x8F6F\6B63\9ED1\4F53
微軟雅黑 Microsoft YaHei \5FAE\8F6F\96C5\9ED1
Office
隸書 LiSu \96B6\4E66
幼圓 YouYuan \5E7C\5706
華文細黑 STXihei \534E\6587\7EC6\9ED1
華文楷體 STKaiti \534E\6587\6977\4F53
華文宋體 STSong \534E\6587\5B8B\4F53
華文中宋 STZhongsong \534E\6587\4E2D\5B8B
華文仿宋 STFangsong \534E\6587\4EFF\5B8B
方正舒體 FZShuTi \65B9\6B63\8212\4F53
方正姚體 FZYaoti \65B9\6B63\59DA\4F53
華文彩雲 STCaiyun \534E\6587\5F69\4E91
華文琥珀 STHupo \534E\6587\7425\73C0
華文隸書 STLiti \534E\6587\96B6\4E66
華文行楷 STXingkai \534E\6587\884C\6977
華文新魏 STXinwei \534E\6587\65B0\9B4F

非常全面吧,但也不要高興地太早。由於我們有著人手一個規則的瀏覽器大軍,就算是舉著完美支持 CSS 大旗的 Firefox,也有不盡如人意的地方,由於 Firefox 竟然不支持以上別名。對它來說 "Microsoft Yahei" 並非微軟雅黑。僅僅能反饋出瀏覽器默認字體的的結果,唉,瀏覽器太多也不好,還不如回到 IE 壟斷的年代,沒有比較,也就沒有抱怨。

-------------------------------------------------------------------------

原文地址:https://neveryu.github.io/guestbook/

Github: https://github.com/Neveryu

新浪微博http://weibo.com/Neveryu


技術分享 技術分享




很多其它學習資源請私信我的新浪微博...


【Web前端】清除浮動&css中文字體