3. CSS Basic

1.  认识CSS

 

CSS,CascadingStyle Sheets,层叠式样表。它用于描述一个HTML元素在浏览器中的呈现方式。使用CSS主要目的是为了解决表现元素样式问题、节约工作量,提高代码的重用率。

 

2.  CSS基础

 

2.1         语法

 

CSS的语法由两部分组成:选择器和一组属性声明,这类似一个java的class的定义(并且进行了“初始化”)。

selector { property1: value1; property2:value2}

CSS的注释语法与C语言一致采用“/* 这是一个注释 */”的语法,而不支持C++的“//”语法。

CSS的语法只在样式表内部生效,相对的HTML的语法对CSS是不生效的(包括注释)。这也是避免将CSS采用内联方式使用的一个原因。

 

2.2         选择器

 

选择器的意义是选择所有具有这样的或具有这样的属性的元素,并赋予其声明中的样式。

一个选择器可以是既有的HTML元素(的标签名),可以是自己定义的class或者id来对html既有元素进行非全局的修饰。

p { color:red }

会导致所有的段落(你没有其他的修饰的话)都会变为红色。而使用你自己的id或class只会将你需要的段落变为红色。

一个id用于修饰单个唯一的元素。声明时使用“#xx {}“。而使用时使用元素的属性“id=”xx””。id、class等属性是所有html元素的全局属性。

而一个class适用于修饰多个元素,声明是使用”.xx”,使用时”class=”xx”。

一个由#、.开头的id、class是公用的,也就是任意一个类别的元素都可以使用它。我们也可以指定id或class只能被某些元素使用。声明方法是”elementName#id”或者”elementName.class”。

selectors的声明与使用有着一定的规范,就如同任何一个语言中变量名、类名一样。下表是CSS1中的规范:

Selectors

Example

Description

.class

.menu

选择所有class=”menu”的元素。

#id

#name

选择所有id=”name”的元素。

*

*

选择所有的元素(即使没有class或id的属性)

element

p

选择所有的段落元素

element1, element2

h1, p

选择所有的h1和p元素

elementp elementc

div, p

选择所有的在div内的p元素

:link

a:link

选择所有未访问的超链接

:visited

a:visited

选择所有访问过的超链接

:hover

a:hover

选择或有鼠标移动到上面的超链接

:active

a:active

选择所有鼠标正在点击的超链接

:first-letter

p:first-letter

选择所有段落的第一个字

:first-line

p:first-line

选择所有段落的第一行

注:一个选择器不能以数字开头。

选择器可以复合使用,如a.home:link选择的是所有未访问的类为home的超链接。这些将在后续学习。

 

关于id和class的区别:

a.      一个id从理论上只允许选择一个元素,尽管现在浏览器仍支持修饰多个元素,但这是一种较差的习惯,并且会导致js选择id时出现错误。因此我们只用id修饰单个元素。

b.      一个元素至多有一个id,但是可以有多个class来修饰。这就好比一个人只允许有一个皮肤,但是可以穿多件衣服(也许这么比喻并非十分妥帖)。

 

2.3         使用方法

 

CSS可以被三种方式使用:外部、内部、内联。

外部的引入CSS可以将CSS与html文档分开,不仅压缩了文档尺寸,更使得文档利于维护。使用一个外部的CSS文档可以在头文件中添加下列代码

<link rel=”stylesheet” type=”text/CSS” href=”./my.css”/>

意思是这是一个外部链接,这个链接是文档的样式表,它的类型是text/CSS,位置在./my.CSS。

内部的定义CSS同样在<head>部位完成。

<style>
/* 从style开始都属于样式表的部分,这里面定义样式表的内容 */
</style>

外部的使用和内部的使用CSS就好比C++中在头文件和源文件中书写类定义一样,显然将它们分开更具有可维护性和可读性,当然一些小的CSS定义在文档中也是可以的。

内联的方式并不被推荐,因为这破坏了内容与表现分离的原则,并且不利于维护。

<p style=”background-color: red“>It is not agood style.</p>

关于CSS的继承与重载:

CSS的确和类有许多相似之处,它可以通过重叠覆盖的方式进行继承和重载。比如:

<head>
<link rel=”stylesheet” type=”text/CSS” href=”./my.CSS”/>
<style>
p
{
color: red;
text-align: center;
}
p
{
color: green;
font-size: 20px;
}
</style>
</head>
<body>
<p style=”color:blue”>这个是一个蓝色的段落,字号为20像素,对齐方式为居中</p>
</body>

继承和重载的顺序是从上到下的,如果没有此属性则会被添加,如果有则被覆盖。在这个例子中,外部的CSS中如果有p相关的描述也会被style继承或者覆盖。如果link写在style之下,则是style中的描述被外部CSS继承或者覆盖。而他们都会被body中p的样式继承或覆盖。

 

3.  CSS样式

 

3.1         背景

 

3.2         文本

 

3.3         字体

 

3.4         链接

 

3.5         列表

 

3.6         表格

 

4.  CSS箱模型

 

4.1         介绍

 

4.2         边框

 

4.3         外框

 

4.4         页边距

 

4.5         填充


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值