中文排版CSS心得

  先介紹如何設定字體、顏色、大小、段落空白等比較簡單的應用,後面再介紹下好比首字下沉、首行縮進。最後講一些經常使用的web頁面中文排版,好比中文字的截斷、固定寬度詞內折行(word-wrap和word-break)等等。由於只是應用方面的心得,若是須要完整的CSS屬性介紹,請參考CSS手冊。
 
一、如何設定文字字體、顏色、大小 —— 使用font
font-style  設定斜體,好比font-style: italic;
font-weight  設定文字粗細,好比font-weight: bold;
font-size  設定文字大小,好比font-size: 12px;(或者9pt,不一樣單位顯示問題參考CSS手冊)
line-height  設定行距,好比line-height: 150%;
color  設定文字顏色(注意不是font-color),好比color: red;
font-family  設定字體,好比font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋體,sans-serif;(這是通用的寫法)
  以上均可以寫在一行font屬性裏(除了color屬性須要單獨寫):
font: italic bold 12px/150% "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋體,sans-serif;
 
二、如何控制段落排版 —— 使用margin,text-align
  中文段落使用<p>標籤,左右(至關於縮進)、段前段後的空白,均可以用margin。好比:
p{
 margin: 18px 6px 6px 18px; /*分別是上、右、下、左,十二點開始的順時針方向*/
}
  文字的對齊方式用text-align,好比:
p{
 text-align: center;  /*居中對齊*/
}
  對齊方式還有left、right和justify(兩端對齊)
  PS.談起margin,能夠在寫CSS的時候爲全部的標籤訂義margin: 0; 避免時而出現因爲默認的margin值致使頁面排版問題,而本身又找不到緣由(特別注意的是ul/ol/p/dt/dd等標籤)。
 
三、豎排文字 —— 使用writing-mode
  writing-mode屬性有兩個值lr-tb和tb-rl,前者是默認的左-右、上-下,後者是上-下、右-左。好比:
p{
 writing-mode: tb-rl;
}
  能夠結合direction排版。
 
四、項目符號的問題 —— 使用list-style
  在CSS裏項目符號有disc(實心圓點)、circle(空心圓圈)、square(實心方塊)、decimal(阿拉伯數字)、lower-roman(小寫羅馬數字)、upper-roman(大寫羅馬數字)、lower-alpha(小寫英文字母)、upper-alpha(大寫英文字母)、none(無)。好比設定一個列表(ul或ol)的項目符號爲方塊,如:
li{
 list-style: square;
}
  另外list-style還有一些值,好比能夠採用一些小圖片做爲項目符號,在list-style下直接寫url(「圖片地址」)就能夠了。注意若是一個項目列表的左外補丁(margin-left)設爲零的時候,list-style-position: outside(默認是outside)的項目符號不會顯示。惋惜的是上述的項目符號彷佛並不能設定大小,圓點和方塊始終是那麼點。而且不能設定垂直方向上的對齊。
 
五、首字下沉 —— 使用:first-letter
  僞對象:first-letter配合font-size、float能夠製做首字下沉效果。好比:
p:first-letter{
 padding: 6px;
 font-size: 32pt;
 float: left;
}
 
六、首行縮進 —— 使用text-indent
  text-indent可使得容器內首行縮進必定單位。好比中文段落通常每段前空兩個漢字。能夠這麼寫:
p{
 text-indent: 2em; /*em是相對單位,2em即如今一個字大小的兩倍*/
}
  若是font-size是12px的話,那麼text-indent: 2em則縮進24px。
 
七、關於漢字註音 —— 使用ruby標籤和ruby-align屬性
  好比說<ruby>註音<rt style="font-size: 11px;">zhu yin</rt></ruby>,能夠利用ruby-align設置對齊方式。這是在CSS手冊裏面看到的,具體能夠自行查閱ruby-align項。
 
八、固定寬度漢字截斷 —— 使用text-overflow
  用後臺語言能夠對從數據庫裏的字段內容作截斷處理,好比說截12個漢字(以後用省略號)。可是有時還須要html標籤的過濾等,而用CSS來控制則沒有這個問題。好比對列表應用如下樣式:
li{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
不過只能處理文字在一行上的截斷,不能處理多行。
 
九、固定寬度漢字(詞)折行 —— 使用word-break
  舉個例子,好比說要在一個固定寬度容器裏面顯示不少地名(假設以空格分隔),爲了不地名中間斷開(即一個字在上面而另外一個字折斷到下一行去了)。則可使用word-break。好比:
<div style="width:210px;height: 200px;background: #ccc;word-break:keep-all">
南京上海 上海上 南 上海上海 南京 上海上海上海 南京上海 上海 南京上海 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京上海 上海 南京上海 上海
</div>
  值得注意的是裏面的空格不能以&nbsp;代替(最少要有一個軟空格)。
相關文章
相關標籤/搜索