CSS和HTML一样都是由W3C制定的标准,本章中介绍的特性和功能还是来源于CSS1和CSS2(CSS2是根据CSS1扩展的)。W3C也有新的版本更新,称为CSS3。虽然浏览器已经准备开始实现CSS3某些方面的内容,但当前浏览器仍然无法支持某些特性。一张样式表由样式规则组成,以告诉浏览器怎样去呈现一个文档。如图6.2所示给出了关于CSS规则的一个示例。

图6.2  CSS规则组成

CSS的规则主要由“选择器”和“声明”两部分组成,选择器指定声明应用于哪个或哪些元素(后面有详细讲解)。例如,任何HTML元素都可以是一个CSS的选择器,选择器仅仅是指向特别样式的元素。

p { text-indent: 3em }                        /*   当中的选择器是p   */

声明则是用于定义样式的元素,它用于设置HTML元素的样式。如果声明和选择器一起使用,就需要将声明的部分使用“{}”组织在一起。声明中可以用多个样式属性,为通过该选择器找到的HTML元素叠加样式,每个样式元素都是由以冒号隔开的两部分组成的(属性:值)。属性是希望影响的所选元素的特性,每个属性带一个值,共同地描述选择器应该如何呈现。样式规则组成如下:

选择器 {属性1:值1;属性2:值2;属性n:值n;}             /* 声明和选择器一起使用 */

属性和值之间使用冒号(:)连接,多个属性的复合样式声明之间应该用分号(;)隔开,最后一个属性的值后面可以不用分号。如果同一个样式属性出现两次以上,则使用后者。以下代码定义了h1和h2元素的颜色及字体大小属性。

如果直接在HTML元素中使用style属性声明样式,则不需要使用“{}”,而是直接将多个层叠样式元素声明在style属性的双引号中即可。例如,直接将一个一级标题h1设置为加大、红色字体:

<h1 style="font-size:x-large;color:red"> 一级标题 </h1>      <!-- 在HTML标签中直接加样式  -->

1  CSS注释

样式表里面的注释使用C语言编程中一样的约定方法去指定,注释的内容会被浏览器忽略,可用于为样式表加注解及调试使用。CSS注解的例子如下:

/* 这里的内容被注释,不能嵌套使用  */

2  长度单位

有很多样式属性的值都有长度单位,例如fontsize、width、height、border-width等。一个长度的值由可选的正号“+”或负号“-”、接着的一个数字、表示单位的两个字母组成。在一个长度的值之中是没有空格的,例如,1.3 em就不是一个有效的长度的值,但1.3em就是有效的。一个为零的长度不需要两个字母的单位声明。无论是相对值还是绝对值长度,CSS都支持。相对值单位确定一个相对于另一长度属性的长度,因为它能更好地适应不同的媒体,所以是首选的。CSS中有很多专有的属性单位,也有很多能够用于大量属性的常规单位。

Ø em(font-size:2em)是一个大致与一个字符高度相同的单位。

Ø px(font-size:12px)是一个像素的单位。

Ø pt(font-size:12pt)是一个磅的单位。

Ø %(font-size:80%)是一个百分比。

Ø 其他单位还包括pc(活字)、cm(厘米)、mm(毫米)、in(英寸)、dpi(输出分辨率)和rem(CSS3新增的一个相对单位)。

另外,有的属性值还可以使用一个百分比,由可选的正号“+”或负号“-”、接着的一个数字、百分号“%”组成。在一个百分比值之中是没有空格的,百分比值是相对于其他数值的,同样用于定义每个属性。最经常使用的百分比值是相对于元素的字体大小。

3  颜色单位和URL值

有很多样式属性的值都有颜色单位,例如color、background-color、border-color等。颜色值是一个关键字或一个RGB格式的数字。关键字通常有16个:aqua、black、blue、fuchsia、gray、green、lime、maroon、navy、olive、purple、red、silver、teal、white和yellow。RGB颜色可以有以下4种形式,例子中指定同一颜色:

Ø #rrggbb(如#00cc00)。

Ø #rgb(如#0c0)。

Ø rgb(x,x,x),x是一个0~255的整数(如rgb(0,204,0))。

Ø rgb(y%,y%,y%),y是一个0.0~100.0的整数(如rgb(0%,80%,0%))。

另外,指定背景图片还需要使用一个URL值。URL的格式为:url(addr),其中addr是一个URL。URL可以选择用单引号(')或者双引号("),也可以不加引号,并且在URL之前或之后可以包含空格。在URL中的括号、逗号、空格、单引号或双引号必须避开反斜杠。不完整的URL被理解为样式表的源代码,而不是HTML源代码。例如:

body { background: url(xsphp.gif) }                         /* 不用引号   */

body { background: url(http://www.l****.net/xsphp.gif) }       /* 绝对URL   */

body { background: url(' xsphp.gif ') }                    /* 使用单引号 */

body { background: url(" xsphp.gif ") }                     /* 使用双引号 */

IT兄弟连 HTML5教程 CSS3揭秘 CSS规则的组成的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3揭秘 CSS选择器2

    4  结构性伪类选择器 在学习结构性伪类选择器之前,先了解两个概念:伪类选择器和伪元素选择器.伪类选择器是CSS中已经定义好的选择器,不能随便命名.常用的伪类选择器是使用在a元素上的几种,如a:lin ...

  2. IT兄弟连 HTML5教程 CSS3揭秘 CSS选择器1

    要使用CSS对HTML页面中的元素实现一对一.一对多或者多对一的控制,就需要用到CSS选择器.选择器是CSS3中一个重要的内容,使用它可以大幅度地提高开发人员书写或修改样式表的效率.在大型网站中,样式 ...

  3. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值2

    3  背景属性 大多数HTML元素都允许控制背景,包括背景颜色.背景图像.背景重复.背景附件.背景位置等属性.常见的控制背景属性.值及描述如表2所示. 表2  CSS中常见的控制背景的属性 除了使用表 ...

  4. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值1

    CSS中的样式属性比较多,经常使用的属性可以分为这么几类:字体.文本.背景.位置.边框.列表,以及其他一些样式属性.每个类中的属性都可以单独使用:如果同一个类中多个属性一起使用,还可以将它们整合为一行 ...

  5. IT兄弟连 HTML5教程 CSS3揭秘 CSS简介

    HTML使用标签将内容放到网页上,也可使用元素和属性来控制简单的文档外观.如果希望更全面地控制Web页面的外观和布局,则需要使用层叠样式表(简写为CSS).CSS规范的工作原理在于允许用户制定一些规则 ...

  6. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值5

    CSS综合实例 在Web页面中经常使用栏目显示分类内容.本例将使用HTML和CSS结合编写一个分类栏目模型,用于演示前面介绍的CSS应用.通过使用独立的文件定义样式表,并在HTML文档中使用link标 ...

  7. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值4

    6  鼠标光标属性 在网页中默认的鼠标指针只有两种,一种是最普通的箭头,另一种是当移动到链接上时出现的“小手”.但现在越来越多的网页都使用了CSS鼠标指针技术,当将鼠标移动到链接上时,可以看到多种不同 ...

  8. IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值3

    5  边框属性 边框属性用于设置一个元素的边框风格.边框宽度.边框颜色,可以一起设置4条边的边框,也可对上边框.右边框.下边框和左边框单独设置.分别介绍如下. a.边框风格属性 可以通过边框风格属性b ...

  9. IT兄弟连 HTML5教程 CSS3揭秘 在HTML文档中放置CSS的几种方式

    有很多方法将样式表加入到HTML中,每种方法都有自己的优点和缺点.新的HTML元素和属性已被加入,以允许样式表与HTML文档更简易地组合起来.将样式表加入到HTML中的常用方法有内联样式表.嵌入一张样 ...

随机推荐

  1. 有一部分程序员还不知道Java 中的注解到底是如何工作的?

    作者:人晓 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分.开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解. 这篇文章中, ...

  2. Linux搭建rsync服务

    一.Rsync的简单介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具.Rsyn ...

  3. 面试题:为什么客户端最后还要等待2MSL

    面试题: 为什么客户端最后还要等待2MSL MSL(Maximum Segment Lifetime),TCP允许不同的实现可以设置不同的MSL值. 保证客户端发送的最后一个ACK报文能够到达服务器, ...

  4. GHOST CMS -上下文概述 Context Overview

    Context Overview上下文概述 Each page in a Ghost theme belongs to a context, which determines which templa ...

  5. SpringBoot微服务电商项目开发实战 --- 分布式文件系统实现

    SpringBoot分布式开发系列文章已经持续了一段时间了,每一篇都有核心内容讲给大家.比如:分环境部署配置及服务端口号统一配置,子模块版本号管理及第三方jar依赖管理,单点登录实现,接口安全(签名+ ...

  6. ubuntu14.04编译vim8.1

    安装依赖 这一步其实我没做,直接下载编译成功了.估计有些包不是必需的.姑且列在这里供参考 sudo apt install libncurses5-dev libgnome2-dev libgnome ...

  7. CouchDB学习-介绍

    官方文档 CouchDB 1文档存储 CouchDB服务器主机是一个存储文档的数据库.每一个文档在数据库中都有唯一的名字.CouchDB提供RESTful HTTP API用来读取和更新(添加,编辑, ...

  8. python内置模块-datetime

    摘录 廖雪峰网站 datetime是python内置的处理日期和时间的标准库 获取当前日期和时间 >>> from datetime import datetime >> ...

  9. 关于iOS引导页图层的相关属性类

    关键字:CABasicAnimation 参考链接:https://blog.csdn.net/Dwarven/article/details/42492199 Layer.mask属性用法: htt ...

  10. 如何在windows下安装linux双系统

    首先是看这篇博客,讲得很详细,但是有一点小小的区别,这里把整个过程回顾一下. https://www.cnblogs.com/masbay/p/10745170.html 第一步,刻盘,将一个u盘刻录 ...