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         填充


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值