背景
需要注意:背景的所有属性都不会向下进行继承。
背景色
我们可以设定一个纯色为背景色。
p {background-color: red;} a {background-color: #ff0000;}
背景色有特点如下:
- 可以为所有元素设置背景色,这包括 body 一直到 em 和 a 等行内元素。
- background-color 不能继承,其默认值是 transparent。transparent 有“透明”之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。
背景图像
background-image 属性的默认值是 none,表示背景上没有放置任何图像。
设定背景图像代码如下:
body {background-image: url(/i/eg_bg_04.gif);}
只需要将背景图片的地址通过url传入即可。
背景重复
如果需要在页面上对背景图像进行平铺,可以使用 background-repeat 属性。
属性值 repeat 导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-x 和 repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺。
background-repeat: repeat-y;
背景定位
可以利用 background-position 属性改变图像在背景中的位置。
background-position:center;
为 background-position 属性提供值有很多方法。首先,可以使用一些关键字:top、bottom、left、right 和 center。通常,这些关键字会成对出现,不过也不总是这样。还可以使用长度值,如 100px 或 5cm,最后也可以使用百分数值。
文本
缩进文本
CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进。
p {text-indent: 5em;}
em是作为一种基于文字大小的单位,具体可以查看这里。
另外需要注意的是text-indent属性是可以继承的。
水平对齐
text-align 是一个基本的属性,它会影响一个元素中的文本行互相之间的对齐方式。
- left:把文本排列到左边。默认值:由浏览器决定。
- right:把文本排列到右边。
- center:把文本排列到中间。
- justify:实现两端对齐文本效果。
- inherit:规定应该从父元素继承 text-align 属性的值。
文本方向
direction 属性影响块级元素中文本的书写方向,有两个值:ltr 和 rtl。大多数情况下,默认值是 ltr,显示从左到右的文本。如果显示从右到左的文本,应使用值 rtl。
字符转换
- text-transform 属性处理文本的大小写,有四个值:
- none:不对字符进行转换。
- uppercase:字符全部转换为大写。
- lowercase:字符全部转换为小写。
- capitalize:每个单词首字母大写。
文本装饰
text-decoration 属性提供对文本进行装饰的功能,有下面几个值:
- none:不对文本进行处理。
- underline:添加下划线。
- overline:添加上划线。
- line-through:添加删除线。
处理空白符
white-space 属性会影响到用户代理对源文档中的空格、换行和 tab 字符的处理。
默认的情况下浏览器会把所有空白符合并为一个空格,同时忽略元素中的换行。如果希望保留空格和换行可以使用该属性。
可使用的值如下:
- 值 空白符 换行符 自动换行
- pre-line 合并 保留 允许
- normal 合并 忽略 允许
- nowrap 合并 忽略 不允许
- pre 保留 保留 不允许
- pre-wrap 保留 保留 允许
字体
使用哪种字体
在设定字体时,常常会出现一种情况,即我们设定使用的字体不能保证用户的机器上一定安装了,这样的结果就是,同样一个HTML网页,由于字体的不确定性导致最终的显示都不一致。
针对这个情况,CSS提出了通用字体系列,即拥有相似外观的字体系统组合,当我们制定了通用字体时,系统会在用户的机器上寻找到最接近我们要使用的字体的字体,可以尽可能的使显示一致。
通用的字体有如下几种:
- Serif:这些字体成比例,而且有上下短线。
- Sans-serif:这些字体是成比例的,而且没有上下短线。
- Monospace:Monospace 字体并不是成比例的。
- Cursive:这些字体试图模仿人的手写体。
- Fantasy:这些字体无法用任何特征来定义,只有一点是确定的,那就是我们无法很容易地将其规划到任何一种其他的字体系列当中。
指定字体系列
通过 font-family 属性设置更具体的字体。
/*指定为通用字体*/ body {font-family: sans-serif;} /*指定为特定字体*/ h1 {font-family: Georgia;} /*如果指定的特定字体找不到则使用后面的通用字体*/ h1 {font-family: Georgia, serif;} /*根据顺序依次查找到可以使用的字体*/ p {font-family: Times, TimesNR, 'New Century Schoolbook', Georgia, 'New York', serif;}
字体风格
font-style 属性最常用于规定斜体文本。
该属性有三个值:
- normal - 文本正常显示
- italic - 文本斜体显示
- oblique - 文本倾斜显示
字体加粗
font-weight 属性设置文本的粗细。使用 bold 关键字可以将文本设置为粗体。关键字 100 ~ 900 为字体指定了 9 级加粗度。
p.normal {font-weight:normal;} p.thick {font-weight:bold;} p.thicker {font-weight:900;}
字体大小
font-size 属性设置文本的大小。
font-size 值可以是绝对或相对值。
绝对值:
- 将文本设置为指定的大小
- 不允许用户在所有浏览器中改变文本大小(不利于可用性)
- 绝对大小在确定了输出的物理尺寸时很有用
相对大小:
- 相对于周围的元素来设置大小
- 允许用户在浏览器改变文本大小
p {font-size:14px;} p {font-size:0.875em;}
结合使用百分比和 EM
在所有浏览器中均有效的方案是为 body 元素(父元素)以百分比设置默认的 font-size 值:
body {font-size:100%;} h1 {font-size:3.75em;} h2 {font-size:2.5em;} p {font-size:0.875em;}
链接
链接的四种状态
- a:link - 普通的、未被访问的链接
- a:visited - 用户已访问的链接
- a:hover - 鼠标指针位于链接的上方
- a:active - 链接被点击的时刻
下面我们来看一个示例:
<!DOCTYPE html> <html> <head> <style> a:link {color:#FF0000;} /* 未被访问的链接 */ a:visited {color:#00FF00;} /* 已被访问的链接 */ a:hover {color:#FF00FF;} /* 鼠标指针移动到链接上 */ a:active {color:#0000FF;} /* 正在被点击的链接 */ </style> </head> <body> <p><b><a href="/index.html" target="_blank">这是一个链接</a></b></p> <p><b>注释:</b>为了使定义生效,a:hover 必须位于 a:link 和 a:visited 之后!!</p> <p><b>注释:</b>为了使定义生效,a:active 必须位于 a:hover 之后!!</p> </body> </html>
同理,我们除了控制链接的颜色外,还可以控制<a>标签的其它样式,如背景、是否带有下划线等。
列表
我们可以修改列表项的前方第一个标示:
/*去掉标示*/ ul {list-style-type : none} /*使用方块*/ ul {list-style-type : square} /*使用图像来进行标示*/ ul li {list-style-image : url(xxx.gif)}
表格
CSS 表格属性可以帮助您极大地改善表格的外观。
表格边框
如需在 CSS 中设置表格边框,请使用 border 属性
table, th, td { border: 1px solid blue; }
折叠边框
边框变为只有一条线:
table { border-collapse:collapse; } table,th, td { border: 1px solid black; }
表格文本对齐
td { text-align:right; height:50px; vertical-align:bottom; }