中文排版CSS心得[转摘]-程序员宅基地

技术标签: 数据库  ruby  

数月来学习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

中文段落使用<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等标签)

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>注音<rt style="font-size: 11px;">zhu yin</rt></ruby>,可以利用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。比如:
<div style="width:210px;height: 200px;background: #ccc;word-break:keep-all">
南京上海 上海上 南 上海上海 南京 上海上海上海 南京上海 上海 南京上海 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京 上海 南京上海 上海 南京上海 上海
</div>
值得注意的是里面的空格不能以 代替(最少要有一个软空格)。

转载于:https://www.cnblogs.com/Apollo/archive/2006/06/14/425763.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/avgk01030117/article/details/102042274

智能推荐

庖丁解牛--数据结构(二)之数组模拟队列_庖丁解牛 模拟-程序员宅基地

文章浏览阅读192次。一,数组模拟队列1.定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。2.举例个例子去银行排对取钱3.问题代码样例public class ArrayQueueDemo { public stati..._庖丁解牛 模拟

Google Earth Engine(GEE)——影像数组的转换与运算.matrixSolve_gee矩阵运算-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏9次。Earth Engine 支持转置、逆和伪逆等数组变换。例如,考虑一个时间序列图像的普通最小二乘 (OLS) 回归。在以下示例中,具有预测变量和响应的带的图像被转换为​​数组图像,然后“求解”以获得最小二乘系数估计三种方式。首先,组装图像数据并转换为数组:这里对于计算系数有三种方式:下面代码中有所展示,具体就是更好的方法是使用该pseudoInverse()方法(matrixPseudoInverse()对于数组图像):matrixPseudoInverse()计算矩阵的 Moore-Penr_gee矩阵运算

springBoot+Cache(自定义有效时间配置)_springboot整合springcache自定义指定过期时间-程序员宅基地

文章浏览阅读2.2k次。自定义的类继承org.springframework.data.redis.cache.RedisCacheManager。if(!//表示天 return super . createRedisCache(key , cacheConfiguration . entryTtl(Duration . ofDays(cycleTime)));_springboot整合springcache自定义指定过期时间

一次下载所有Keras数据集_keras.dataset 下载-程序员宅基地

文章浏览阅读3k次。使用下面的代码可以一次下载所有Keras的dataset。也可以直接下载我已经下好的解压到%UserProfile%\.keras\目录下,也就是C:\Users\<user>\.keras\数据集比较大,分成4部分,方便下载。Keras数据集-fashion-mnist: https://download.csdn.net/download/hansel/11133067..._keras.dataset 下载

【光学】基于matlab介电常数计算【含Matlab源码 1926期】_基于matlab在太赫兹波段相对介电常数的计算-程序员宅基地

文章浏览阅读1.3k次。介电常数计算完整的代码,方可运行;可提供运行操作视频!适合小白!_基于matlab在太赫兹波段相对介电常数的计算

k8s - Service不能访问问题排查流程_ihdgp-程序员宅基地

文章浏览阅读3.6k次。对于新安装的 Kubernetes,经常出现的一个问题是Service没有正常工作。如果您已经运行了Deployment并创建了一个Service,但是当您尝试访问它时没有得到响应,希望这份文档能帮助您找出问题所在。先来熟悉下Service工作逻辑:为了完成本次演练的目的,我们先运行几个Pod。$ kubectl run hostnames --image=k8s.gcr.io/serve_hostname \ --label..._ihdgp

随便推点

大咖访谈 | 做开源,最核心的就是要随缘 —— Apache SkyWalking 创始人吴晟-程序员宅基地

文章浏览阅读1k次。转载自| 开源雨林编辑|高旖阳责编| 钱英宇本期访谈阵容嘉宾:吴晟 ShengWu•Tetrate 创始工程师,Apache 软件基金会首位华人董事,开源 APM 项目 Apache SkyWalking 创始人,分布式追踪与诊断技术专家,骨灰级开源社区爱好者。主持:庄表伟•开源社理事、华为开源管理中心开源专家。常年参与社区各类活动,热心开源治理、开源成长、开源学..._吴晟skywalking

Missing artifact commons-lang:commons-lang:jar:2.5 解决方案_commons-lang:commons-lang:jar:2.5 is invalid-程序员宅基地

文章浏览阅读5.7k次。Missing artifact commons-lang:commons-lang:jar:2.5 解决方案_commons-lang:commons-lang:jar:2.5 is invalid

使用R语言进行数据汇总统计_r数据 汇总计数统计-程序员宅基地

文章浏览阅读276次。R语言作为一种功能强大的统计分析工具,提供了丰富的函数和包来支持数据的汇总统计操作。本文将介绍如何使用R语言进行数据汇总统计,并提供相应的源代码示例。在实际应用中,根据具体需求,您还可以使用其他的R包和函数来进行更复杂的数据汇总统计分析。首先,我们可以计算数据集的基本统计信息,如均值、中位数、最大值、最小值等。下面的示例将按照性别字段对数据集进行分组,并计算每个性别组的平均分数。如果我们想按照某个字段对数据集进行分组,并计算每个组的统计信息,可以使用。下面的示例将统计性别字段的频数。_r数据 汇总计数统计

文本分类-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏17次。1. 简述文本分类的方法属于有监督的学习方法,分类过程包括文本预处理、特征抽取、降维、分类和模型评价。本文首先研究了文本分类的背景,中文分词算法。然后是对各种各样的特征抽取进行研究,包括词项频率-逆文档频率和word2vec,降维方法有主成分分析法和潜在索引分析,最后是对分类算法进行研究,包括朴素贝叶斯的多..._文本分类

硬件消抖——开关并联电容的那点事儿_按键并联电容消抖原理-程序员宅基地

文章浏览阅读1.7w次,点赞36次,收藏142次。关于硬件消抖——开关并电容的那点小事一年前做过的小脚丫的消抖实验和不消抖实验的区别,开关如果不消抖,产生的毛刺和电平变化确实给开关带来了不良影响,比如按键不灵,需要按暂停或者切换的时候要反复按多次才有随机概率实现需要的功能。所以对消抖的概念和重要性比较深刻。昨天学习STM32的按键消抖知识,教程提到一点:本实验板连接的按键带硬件消抖功能,见图 ,它利用电容充放电的延时,消除了波纹,从而简化软件的处理,软件只需要直接检测引脚的电平即可。突发奇想的想了解一下硬件消抖,毕竟本辣鸡就是学硬件出身的,所_按键并联电容消抖原理

Pytorch数据载入函数介绍_torchvision.transforms.functional.erase()-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏7次。Pytorch学习笔记之数据载入_torchvision.transforms.functional.erase()

推荐文章

热门文章

相关标签