第一节我们简介了一下CSS的工作流程,我相信读者会有一个大体的认识,那么接下来我们将会深入的研究一下CSS的细节问题,这些问题的涉及将会使我们的工作更加完善。

*************注释************

1.CSS也是需要注释的,注释中的内容不会被解释执行,它也和C语言一样,用/*开头,用*/结尾,其中的内容会被当做注释,我们想怎么写就怎么写。

2.下面给个例子:

p{    color: green;
/* 我们在这里书写注释
* 辛星CSS,与博客园共同成长
*/
font-size: 14px;
text-align: center;}

****************选择器**************

1.我们第一节就介绍了CSS的基础语法了,其中就说到了选择器,在CSS中有两类稍微特殊点的选择器,我们称之为id选择器和class选择器。

2.先说id选择器,我们在HTML的元素中,每一个元素都可以设置一个属性,该属性就是id,然后我们在CSS中使用#号外加这个id的数值型来作为选择器,后面的声明就和普通的写法一样。

3.光说是有点抽象的,我们下面给个例子:

首先新建一个my.html文件,书写内容如下:

<html>
<head>
<title>2014年辛星CSS教学夏季版</title>
<link rel="stylesheet" type="text/css" href="my.css">
</head>
<body>
<p id = "para">辛星CSS,分享知识,传递温情</p>
</body>
</html>

然后我们在my.css中这么写就可以了:

#para{    color: green;
font-size: 14px;
text-align: center;}

上面我们就通过在HTML文件中指定了p标签的id,然后在css文件中根据id来设置了它的属性。

4.所谓id,那就是唯一的,在同一个HTML文件中,不能有两个id都是para,这样会导致混乱,我们可以用下面的class来解决。

5.如果说id是用来描述单个的样式,那么,class则用于描述一组标签的样式,class可以用在多个元素中使用。

6.id使用#号来加上属性值,而class则使用.号加上属性值,由于两者的使用及其的类似,我就不赘述了,想必聪明的读者已经可以仿造出来了。

*************伪类***************

1.CSS中的选择器是比较灵活的,比较常用的还有伪类的说法,下面我来解释一下,伪类的使用官方给出的语法格式是这样的:

selector:pseudo-class {property:value;}

2.什么意思呢,就是selector就是选择器嘛,而pseudo-class就是相应的伪类了,后面跟的就是它的属性和值。

3.其实伪类的最经典的例子之一就是超链接,比如我们可以书写如下代码:

首先是创建一个my.html文件,代码如下:

<html>
<head>
<title>2014年辛星CSS教学夏季版</title>
<link rel="stylesheet" type="text/css" href="my.css">
</head>
<body>
<a href="#">博客园辛星</a>
</body>
</html>

然后就是my.css文件,代码如下:

a:link{color:red;}
a:visited{color: green;}
a:hover{color:blue;}
a:active{color:black;}

4.上面的css文件中我们就设置了当我们没有点击超链接的时候是红色的,当我们的鼠标经过的时候是蓝色的,当我们的鼠标点击它而又没有松开的时候,它是黑色的,当我们访问过的连接,它会呈现绿色。

5.而且a:hover必须被放到a:link和a:visited之后,才会有效。

6.而a:active必须被当道a:hover之后,才有效。

7.我们还可以让伪类与上面提到的class选择器一起用,我感觉不是很常用,就不介绍了。

8.还有一个child伪类,但是对浏览器的兼容性上不好,因此也不介绍了。

9.此外还有伪元素的说法,如果大家做的事英文网站,还是比较重要的,但是对于汉语网站来说,意义不大,因此也就不说了。

*************其他选择器*********

1.CSS还支持几种其他的选择器类型,第一种就是后代选择器,比如我们把a插入到一个div里面去,那么可以用div a这样的选择器来表示a的样式。

2.第二种就是子元素选择器,它会选择父元素中的所有子元素,比如div>a,即它和第一个的区别就是把空格换成了大于号。

3.另外的相邻兄弟选择器和普通相邻兄弟选择器,总体感觉意义不大,只会增加记忆量和学习的难度,实用性并不高。

4.CSS还支持属性选择器,但是由于也是对浏览器的兼容性上不好,也就不介绍了。

5.还有所谓的群组选择器的说法,是指几个选择器使用同一个样式,它用逗号把各个选择器进行区分,并且连接起来,就像我们C语言中函数的参数列表中的多个参数一样,示例:

p,td,li{color: red;}

6.还有通用选择器的说法,就是用一个*表示,如下代码:

p*{color: red;}

会把所有的段落的颜色都设置为红色。

***************小结************

1.本小节我们讲述了CSS选择器和注释。

2.CSS常用的选择器就是标签选择器、id选择器、class选择器和伪类选择器,其他选择器的方式都可以用上面这几种方式来搞定。

2014年度辛星css教程夏季版第二节的更多相关文章

  1. 2014年度辛星css教程夏季版第一节

    CSS是Cascading Style Sheets的缩写,即层叠样式表,它用于表现HTML的样式,即HTML只是去写该网页有哪些内容,至于如何去表现它们,由CSS去定制. ************* ...

  2. 2014年度辛星html教程夏季版第二节

    上面一节中我们介绍了HTML文件的书写和几个标签,接下来我们来认识几个其他的标签,这里我们主要介绍一下head标签和文本标签. ***************head标签*************** ...

  3. 2014年度辛星css教程夏季版第六节

    这一节我们就要讲到布局了,其实布局本身特别简单,但是要合理的布好局就不那么简单了,就像我们写文章一样,写一篇文章非常简单,但是要写一篇名著就很难了,这需要我们扎实的功底和对文学的理解,但是,千里之行, ...

  4. 2014年度辛星css教程夏季版第五节

    本小节我们讲解css中的”盒模型“,即”box model“,它通常用于在布局的时候使用,这个”盒模型“也有人成为”框模型“,其实原理都一样,它的大致原理是这样的,它把一个HTML元素分为了这么几个部 ...

  5. 2014年度辛星css教程夏季版第三节

    第二节我们讲述的几乎全是CSS的选择器,那么下面这一节我们来讲一下CSS的颜色和文本的一些东西,虽然我对调色不大敏感,但是对于颜色还是比较感兴趣的. *********CSS中的颜色********* ...

  6. 2014年度辛星css教程夏季版第四节

    接下来的这一节我计划讲解的是超链接和列表的样式,然后我们做出一个导航栏出来,其实导航栏是非常常见的,但是我们这里做得这个有点并不那么完善,等我们学完了css之后再完善它. ************** ...

  7. 2014年度辛星html教程夏季版第一节

    从今天起开始在博客园开启自己的html教程啦,先从第一节开始把,首先推荐一个网站,就是http:/www.w3cschool.cc,这是一个公开的教学网站,但是它有一个问题,那就是虽然很全面,但是不是 ...

  8. 2014年度辛星css教程夏季版第七节

    本小节我们研究浮动的问题,浮动使得布局更加灵活,虽然我们前面也有关于布局的讲解,但是它们提供的内容还是太有限了,要想获得更强大的布局,还必须使用浮动才能完成更灵活的布局. ***********浮动* ...

  9. 2014年度辛星html教程夏季版第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差不多了,而且我特别的删去了某些东西,比如框架,如果回到几年前,那么框架是非常流行的,但是现在都到了2014年了,这些东西早就该被遗忘了,因此,我果断的 ...

随机推荐

  1. HTTP 无法注册 URL http://+:12345/HelloWcfService/。进程不具有此命名空间的访问权限

    运行的时候却发现出如下问题:HTTP 无法注册 URLhttp://+:12345/HelloWcfService/.进程不具有此命名空间的访问权限(有关详细信息,请参见http://go.micro ...

  2. 结合 category 工作原理分析 OC2.0 中的 runtime

    绝大多数 iOS 开发者在学习 runtime 时都阅读过 runtime.h 文件中的这段代码: struct objc_class { Class isa  OBJC_ISA_AVAILABILI ...

  3. TamperData火狐插件启用

    今天第一次在准备学习sqlmap的时候看到有人使用了这个TamperData火狐的插件,所以我也安装来看看,光是安装了,但是重启浏览器之后不知道怎么启用,得不到想要的运行界面,所以在这里记录一下,为自 ...

  4. 关于Servlet的原理以及常用类

    Servlet是JavaWeb的三大组件之一,它属于动态资源. 在Servlet中通常需要: 接收请求数据: 处理请求: 完成响应. 实现Servlet有三种方式: 实现javax.servlet.S ...

  5. 关于 I/O Wait

    I/O wait is a per-CPU performance metric showing time spent idle, when there are threads on the CPU ...

  6. 安装Numpy和matplotlib

    (1)测试程序     这是我从网上(http://www.open-open.com/lib/view/open1393488232380.html)找到的一个使用Numpy和matplotlib的 ...

  7. Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

    The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...

  8. 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)

    原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_ ...

  9. Windows8安装Oracle11.2.0.1-0624,附带 DBCA建库、netca创建监听、配置PLSQL、定义客户端的环境变量 NLS_LANG、定义客户端的环境变量 TNS_ADMIN01

    Windows8安装Oracle11.2.0.1                                         操作系统:Windows 8 企业版 64bit Oracle:11. ...

  10. 无限大整数相加算法的C语言源代码

    忙里偷闲,终于完成了无限大整数相加算法的C语言代码,无限大整数相加算法的算法分析在这里. 500位的加法运行1000次,不打印结果的情况下耗时0.036秒,打印结果的情况下耗时16.285秒. 下面是 ...