首页 > web前端 > css教程 > 正文

中文排版CSS心得

php中文网
发布: 2016-05-16 12:09:29
原创
1590人浏览过

数月来学习web标准,并遵循标准设计和制作web页面。一直想写点什么,整理一下自己的心得体会。写这篇文章,主要是针对中文排版设计,英文排版因为很少做,所以不涉及。 

先介绍如何设定字体、颜色、大小、段落空白等比较简单的应用,后面再介绍下比如首字下沉、首行缩进。最后讲一些常用的web页面中文排版,比如中文字的截断、固定宽度词内折行(word-wrap和word-break)等等。因为只是写一些应用方面的心得,如果需要完整的CSS属性介绍,请参考CSS手册。 

1、如何设定文字字体、颜色、大小 —— 使用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; 

2、如何控制段落排版 —— 使用margin,text-align

中文段落使用

标签,左右(相当于缩进)、段前段后的空白,都可以用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等标签) 

3、竖排文字 —— 使用writing-mode 

writing-mode属性有两个值lr-tb和tb-rl,前者是默认的左-右、上-下,后者是上-下、右-左。

比如: 

p{ 
writing-mode: tb-rl; 
}
登录后复制

可以结合direction排版。 

4、项目符号的问题 —— 使用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)的项目符号不会显示。可惜的是上述的项目符号似乎并不能设定大小,圆点和方块始终是那么点。并且不能设定垂直方向上的对齐。 

5、首字下沉 —— 使用:first-letter 

伪对象:first-letter配合font-size、float可以制作首字下沉效果。  

比如:

p:first-letter{ 
padding: 6px; 
font-size: 32pt; 
float: left; 
}
登录后复制

6、首行缩进 —— 使用text-indent 

text-indent可以使得容器内首行缩进一定单位。

比如中文段落一般每段前空两个汉字。可以这么写: 

p{ 
text-indent: 2em; /*em是相对单位,2em即现在一个字大小的两倍*/ 
}
登录后复制

如果font-size是12px的话,那么text-indent: 2em则缩进24px。 

7、关于汉字注音 —— 使用ruby标签和ruby-align属性 

比如说,可以利用ruby-align设置对齐方式。这是在CSS手册里面看到的,具体可以自行查阅ruby-align项。 

8、固定宽度汉字截断 —— 使用text-overflow 

用后台语言可以对从数据库里的字段内容做截断处理,比如说截12个汉字(之后用省略号)。但是有时还需要html标签的过滤等,而用CSS来控制则没有这个问题。比如对列表应用以下样式:

li{ 
overflow:hidden; 
text-overflow:ellipsis; 
white-space:nowrap; 
}
登录后复制

不过只能处理文字在一行上的截断,不能处理多行。 

9、固定宽度汉字(词)折行 —— 使用word-break 

举个例子,比如说要在一个固定宽度容器里面显示很多地名(假设以空格分隔),为了避免地名中间断开(即一个字在上面而另一个字折断到下一行去了)。则可以使用word-break。比如:

南京上海 上海上 南 上海上海 南京 上海上海上海 南京上海 上海 南京上海 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京上海 上海 南京上海 上海

值得注意的是里面的空格不能以 代替(最少要有一个软空格)。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号