CSS学习

入门

介绍

CSS的出现解决了一个问题: 内容与表现的分离.

当一个元素受到多个CSS效果的影响时, 存在一个影响规则:

1.       Browser default

2.       External style sheet

3.       Internal style sheet (inside the <head> tag)

4.       Inline style (inside an HTML element)

其中, d 的优先级最高.

语法

基本语法

一个CSS片断由3个部分组成: 选择器(selector), 属性, . 选择器表示谁讲受这段CSS影响.:

    body {color: black}

如果值由多个词组成,则需要使用引号, :

 p {font-family: "sans serif"}

如果需要指定多个属性值, 则需要使用分号分隔. :

p {text-align:center;color:red}
注意:属性值的数字与单位之间不能有空格.: "margin-left: 20px" 不能写成"margin-left: 20 px"
 

父子选择器

div p (color:red)
匹配div下的p元素节点.

分组

当多个选择器都使用同一个CSS效果时, 可以使用分组以节省代码. :

h1,h2,h3,h4,h5,h6 
{
color: green
}

 

与分组相反, 相同的元素需要使用不同的效果时, 需要使用类选择器. :

p.right {text-align: right}
p.center {text-align: center}
<p class="right">This paragraph will be right-aligned.</p>
<p class="center">This paragraph will be center-aligned.</p>

有些时候, 一些类是对多个元素通用的, 这时候可以忽略元素的名称. :

.center {text-align: center}

id 选择器

可以使用id选择器为特定的节点分配CSS. 用法类似类选择器. :

#green {color: green}
p#para1
{
text-align: center;
color: red
}

注释

类似C语言, 使用 “/**/” 进行注释.

 

How to

可以在三个地方编写CSS:

外部.css文件

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>

 

html内部的样式表元素中

<head>
<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
</style>
</head>

 

元素的style属性

    <p style="color: sienna; margin-left: 20px">This is a paragraph</p>
注意:如果一个节点被多个CSS效果影响,则使用继承原则 能保留的保留,不能保留的就覆盖.

背景

留做参考

文本

留做参考

字体

留做参考

边框

留做参考

对象间隙

留做参考

边界距离

留做参考

关于对象,边框,对象间隙与边界距离,可以根据下图进行区别:

图片来自于: http://edu.chinaz.com/Get/Website/Html_Css/06121355133452315.asp

列表

留做参考

 

 

高级

维度

维度定义了一组用于控制对象高度与宽度的属性. 可惜的是, 大部分属性是IE不支持的.

 

显示

位置

伪类

伪类用来给一些元素添加特定的效果.

声明一个伪类的语法如下:

selector:pseudo-class {property: value}

也可以为一个类声明伪类. :

selector.class:pseudo-class {property: value}

超链接的伪类

这是平时最常见的伪类:

a:link {color: #FF0000}     /* unvisited link */
a:visited {color: #00FF00}  /* visited link */
a:hover {color: #FF00FF}   /* mouse over link */
a:active {color: #0000FF}   /* selected link */

有一点要注意: hover必须在linkvisited后面, active必须再hover后面.

first-child 伪类

它有三种用法:

1.      div > p:first-child
匹配任何一个div元素的第一个p元素.
2.      p:first-child em
匹配任何一个p元素的第一个em元素.
3.      a:first-child
匹配任何一个元素的第一个a元素.

lang伪类

为特定的lang属性值提供效果.例如:
q:lang(no)
{
quotes: "~" "~"
}
以上示例匹配一个lang属性值为noq元素.
 
focus伪类
此伪类为CSS2标准,目前没有任何浏览器实现了它.

伪元素

posted on 2006-11-02 22:42  Na57  阅读(475)  评论(0编辑  收藏  举报