美化html段落文本 Ⅰ

上篇已经说了在第五篇会开始讲CSS,刚开始讲不能讲得复杂,我们还是由浅入深,一步步来。还是那句话:先用起来,然后再去研究。即然我们第一篇讲的是段落,那我们这篇初讲CSS当然也还是要从段落开始,让我们的段落先漂亮起来。

在没有讲CSS之前我们先去想一下什么样的段落才看起来才是最舒服的?如果大家一时还没有什么想法或是还不清楚如何去分析这个问题不妨先看一下《网页设计技巧系列之一 浅谈文本排版》。不论如何至少我们的小学老师告诉我们每一段的第一行应该空两个字。这可能是我们接受到的第一个关于如何划分段落的方法。并且可能更多人已经产生了思维定式,认为段落必需要首行空两格。而我则认为区分段落的首要素同段距,其次才能是段落首行的处理。而首行的处理是否只有缩进两字呢?我个人认为不是,因为我们还可以用“首字下沉”、“首行突出两字”等来表现。有人会说:“首字下沉我就见过,比如作者的博客就用了这个效果,但是首行突出两字似乎有点奇怪。”然而事实上首行突出两字必不是作者发明的,在中国古代的奏本上就常采用这种格式,不同的是因为他们常需要在行首写上一些颂语,而要表达这种颂语就需要抬高其地位,比如“君”“圣上”等字眼,所以才会突出两字,久之则形成了一种特别的排版形式,这种形式现在的文体是用得少了,不过大家可以多多了解一下,方便以后表达不同的文体时可以用得着。

即然段距是段落区分的第一要素,那么我们就先来解决这个段距的的样式问题。即然是一段一段的那么我们每一段都是由一组<p></p>组合而成的,而我们的CSS只要通过对这个段落标签的描述就可以实现我们所需要的效果了。那么基本形式是:

p {这里是样式描述内容}

我们注意到了,在CSS中这个段落标签是不需要加尖括号的,只需要一个"p"即可以了。所有的标签都是如此处理。那么我们需要给每个段落设个段距,这里我们有两个描述属性,一个是padding,另一个是margin,这两个表现的效果看起来有点像,但是却有着本质上的区别,如果我们把段落表示成盒子,在这个盒子里装着一些东西,padding就是这些东西与盒子内侧边的距离,而margin则是盒子与盒子之间的距离。这里很显然,我们里应该是使用margin。写法是:margin:1em 0;这是一种简写的方法,如果写全了应该是:margin-top:1em; margin-right:0; margin-bottom:1em; margin-left:0;  这很明显太冗余了,所以一般我们通常是写成:margin:1em 0 1em 0; 这里的顺序是上右下左,由于上下的数值是一样的,左右的数值是一样的,那么就可以再缩写成:margin:1em 0; 这里的em是指相对长度单位,相对于当前对象内文本的字体尺寸。有关于单位的知识请查阅沈苏小雨编制的《CSS2.0中文手册》。那为什么要用em而不用px或是pt呢,这是因为我们现在的流览器大多都有字体放大的功能,这也是方便读者的能看得更清楚文字内容,那么如果我们用px来设定段距那么当字体放大时段距却不会变动,那么当放大到一定数值时这个段距的特性也就不存在了。所以我们使用em这个单位,也就是希望当字体变大时段距也跟着相应变大,方便识别。

这里值得注意的是,当我们使用margin的时候两个段落之间的margin会有重叠,那么看上图中右侧的图我们可以发现在两段之间的margin是被重叠了原本应该是两个高度相加的结果还是一个高度,但是上图中间的示意padding却没有重叠他们的高度是相加的,这点大家要注意到,这不是什么BUG,而是一种特性。那么我们就写一句CSS来设定我们的段落:

p {margin:1em 0;}

说了段距自然就会说到行距,有看过《网页设计技巧系列之一 浅谈文本排版》的朋友就会明白行距的重要性,那么你是否有给自己的页面设置行距呢,是如何设置的? 设置行距有一个专门的属性:line-height,这个应该称之为行高。因为我们要设定的是一行的高度,而不是行与行之间的距离。这也就是为什么我们总发现Photoshop里设置行距的数据与做网页设置的数值不一样的原因了。但是行距依然是可以通过我们设定的行高最终产生,所以方法不同,但是目标是一致的。一般我们的行高一定是要超过字体高度的,否则行与行之间就会重叠,当然我们不排除使用这种式做一些特别的效果,但是至少在阅读文本上我们需要行行清楚。行距不宜太大,太大了阅读效率不高,如果太小了又容易读错行。所以一般行高不应超过两个字的高度。振之最常用的是1.6em~1.8em之间,如果宽度很大,我们就需要加大行距不然我们很容易读错行,如果宽度小的时候行距过大则失去了阅读的效率。那么我们把刚才的段落的CSS做一下增加,标注一下我们的行距:

p {margin:1em 0; line-height:1.6em; }

这样对于一个基本的段落设置就已经完成了,如果需要给这个段落加个首行缩进,还可以为这个段落设置一下字体,字大小,字样式,色彩等等:

p {margin:1em 0;  text-indent:2em; font:normal normal 12px/1.6em "宋体";  color:#000; }

这里关于字体的属性也是个缩写形式,顺序是:“font : font-style || font-variant || font-weight || font-size || line-height || font-family ”,这些知识在沈苏小雨的CSS2.0中文手册中都有讲述。我这里就不重复了。这里的color是文字的色彩,#后面的数值应该是6位,可以直接复制Photoshop拾色板里的数值。但是我们也常常会缩写。缩写方式是,奇数位与偶数位的值相同时即可合并为3位的色值。比如:#4488cc,可以缩写为#48c,如果需要首突出,那么不光需要把text-indent的值设为负值,还需要修改padding的数值,因为突出去的也就是超出了内容区那么如果padding区没有空间那么这两个突出去的字就无法显示。那我们再给出一个首行突出两字的CSS

p {margin:1em 0; padding:0 0 0 2em; text-indent:-2em; font:normal normal 12px/1.6em "宋体";  color:#000; }

有关美化段落文本的内容先讲到这里,下一篇讲解首字下沉的做法以及注意事项!

(0)

相关推荐

  • 美化html段落文本 Ⅰ

    上篇已经说了在第五篇会开始讲CSS,刚开始讲不能讲得复杂,我们还是由浅入深,一步步来.还是那句话:先用起来,然后再去研究.即然我们第一篇讲的是段落,那我们这篇初讲CSS当然也还是要从段落开始,让我们的段落先漂亮起来. 在没有讲CSS之前我们先去想一下什么样的段落才看起来才是最舒服的?如果大家一时还没有什么想法或是还不清楚如何去分析这个问题不妨先看一下<网页设计技巧系列之一 浅谈文本排版>.不论如何至少我们的小学老师告诉我们每一段的第一行应该空两个字.这可能是我们接受到的第一个关于如何划分段落的

  • CSS 美化段落文本之首字下沉

    Selector:first-letter {font-size:2.5em; font-family:"楷体_GB2312"; font-weight:bold; line-height:1.2em; float:left; padding:5px 2px 0 0; color:#c00;} 如果你觉得还不是很清楚,那么这里就细细讲述一下: 首先要在HTML中有一段自己的文本,是在<p></p>中的也好,在其它块标签中都可以.给他个ID也好,class也好,直

  • 用文本作数据处理

    作者:redfox  邮件:ask4more@163.net   主页:http://netnote.oso.com.cn 相信大家在网上申请的免费PHP空间,如果是初级用户,一般都是没得MySQL可供使用,那么我们解决数据处理的方法之一就是用文本文件了.但是用什么方法才可以最快最方便的处理文本数据呢?     按我的经验,本人认为,以下列文件结构为最优: ----------------------------------------------------------------------

  • php中用文本文件做数据库的实现方法

    按我的经验,本人认为,以下列文件结构为最优:  ----------------------------------------------------------------------  文件扩展名:.php  <? die('ACCESS DENIED!');?>  email=ask4more@13.net & nickname=redfox & realname=阿鼎 & url=http://NetNote.oso.com.cn & ...  ...

  • Jquery的hide及toggle方法让超链接慢慢消失

    复制代码 代码如下: $(this).hide("slow"); 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&quo

  • C#向Word插入排版精良的TextBox

    Text Box(文本框)是Word排版的工具之一.在Word文档正文的任何地方插入文本框,可添加补充信息,放在合适的位置,也不会影响正文的连续性.我们可以设置文本框的大小,线型,内部边距,背景填充等效果.文本框内可以图文混排,设置字体,字号,图片大小等. 在日常使用中,我们很容易忽略这些元素,仅仅插入一个黑色单线,仅含文字的文本框.因而,我觉得有必要向大家介绍并制作一个版式精良的文本框,抛砖引玉. 本篇博文主要介绍,如何使用C#在Word文档的特定位置,插入一个有图片填充,内部边距,图文混排,

  • jQuery和JavaScript节点插入元素的方法对比

    二.插入元素: <div> <p>面朝大海,春暖花开</p> </div> (一).jQuery方法 1.在节点内部插入: 方法 说明 append() 向每个匹配的元素内部追加内容 appendTo() 把所有的元素追加到另一个指定的元素集合中,实际上是颠倒了append()的用法.如$(A).append(B)与$(B).appendto(A)是等价的 prepend() 向每个匹配的元素内部前置内容 prependTo() 把所有匹配的元素前置到另一个

  • jQuery中prepend()方法使用详解

    prepend()方法将指定元素插入匹配元素按内部的开头,其作用和prependTo()方法基本相同,只在语法上有差别,虽然说在语法形式上看基本相同. 下面介绍下语法结构: 复制代码 代码如下: $(selector).prepend(content) 参数列表: demo: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author&qu

  • Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面

    虽然说IE6除了部分要求苛刻的需求以外已经被可以不考虑了,但是WIN7自带的浏览器IE8还是需要支持的. 本文这个方法主要的优点,个人觉得就是准备少,不需要上网寻找大量的图片做素材,你只要准备好一个bootstrap.jquery与photoshop就可以了,bootstrap与jquery怎么配置,可以参考<Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗>(点击打开链接) 被要求编写一个网站,常常会被如何布局困扰,其实也不难,如果能够熟练使用Bootstrap,并且有一套特定

  • 使用Python 自动生成 Word 文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档的格式(默认字体.页面边距等). 3.在文档对象中加入段落文本.表格.图像等,并指定其样式. 4.保存文档. 注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.docx 的. 下面分步介绍其基本使用方法: 步骤一: from docx import Document doc = Do

随机推荐