第四章 css样式基础

4.1 CSS概述

 CSS全称为“Casceading Siyle shee",中文解释为“层叠样式表”、它是以 HTML 为基础,设置网页的外观显示样式,如字体、颜色、背景的控制及整体的布局等,还可以针对基局的浏览器设置不同的样式。在网页设计时采用CSS技术,可以有效地对页面的布局、保的朗色器育景和其他效果实现更加精确的控制、只要对相应的代码做一些简单的整、学可以改交同一页面的不同部分效果,也可以改变同一个网站中不同网页的外观和格式。

4.1.1.CSS的基本概念

CSS(Cascading Style Sheets,层叠样式表)是一种用于描述文档样式的语言。它与HTML(HyperText Markup Language)一起用于控制网页的外观和布局。CSS可以通过选择器和属性来控制HTML元素的样式。

4.1.2传统HTML的缺点


4.1.2.1.维护困难

为了修改某个特殊标记的格式,需要花费很多的时间,尤其对于整个网站而言,后期修改和维护的成本很高

4.1.2.2.标记不足

HTML自身的标记并不丰富,很多标记都是为网页内容服务的,而关于美工的标记,例如文字间距、段落缩进等,这些 HTML 中都很难找到。

4.1.2.3.网页过“胖”

由于对各种风格样式没有统一进行控制,用HTML编写的页面往往是体积过大,占用了很多宝贵的带宽

4.1.2.4.定位困难

在整体页面布局时,HTML对于各个模块的位置调整很困难。


4.1.3.CSS的特点和优势

CSS 通过定义标记如何表现,对页面结构风格进行控制,分离文档的内容和表现,克服了传统 HTML的缺点。将CSS 嵌人在页面中,通过浏览器解释执行,而且 CSS 文件是文本文件,只要理解 HTML都可以掌握它。其特点主要如下。


4.1.3.1.表现和内容分离

CSS通过定义HTML,标记如何显示控制网页的格式,使得页面内容和表现分离,简化了网页格式设计,也使得对网页格式的修改更方便

4.1.3.2.增强了网页的表现力

CSS样式属性提供了比HTML,更多的格式设计功能。例如,可以通过CSS样式去掉网页中超链接的下划线,甚至可以为文字添加阴影效果等

4.1.3.3.使整个网站显示风格趋于统一

将CSS样式定义到样式表文件中,然后在多个网页中同时应用样式表文件中的样式就可以确保多个网页具有一致的格式,并且可以随时更新样式表文件,实现自动更新多个网页的格式功能,从而大大降低网站的开发与维护的成本。

4.1.4.CSS的编写规则

4.1.4.1.目录结构命名规则

存放css样式文件目录一般命名为style或css

4.1.4.2.样式文件的命名规则

在项目初期,会把不同类别的样式放于不同的CSS文件,是为了CSS编写和调试的便;在项目后期,为了网站性能上的考虑,会将不同的CSS文件整合到一个CSS文件中这个文件一般命名为style.css或css.css。

4.1.4.3.选择器的命名规则

所有选择器必须由小写英文字母或下划线组成,必须以字母开头,不能为纯数字。设计者要用有意义的单词或缩写组合来命名选择器,做到“见名知义”,这样就节省了查找样:的时间。样式名必须能够表示样式的大概含义(禁止出现如 Divl,Div2和 Style 等自名),者可以参考表4-1中的样式命名。

4.1.4.4.CSS代码注释

像其他语言一样,CSS允许用户在源代码中嵌人注释。CSS注释被浏览器忽略,不影响网页效果。注释有助于记住复杂的样式规则的作用、应用的范围等,便于样式规则的后期维护和应用。CSS注释以字符“/*”开始,以字符“*/”结束。注释可以是单行,也可以
是多行,并可以出现在CSS代码的任何地方。

4.1.4.5.CSS代码注释

代码缩进可以保证CSS代码的清晰可读。在实际应用中,可以按一次Tab键来缩进选择器按两次 Tab 键来缩进声明和结束大括号。这样的排版规则便于查询,避免代码混乱。


4.2 CSS语法基础

CSS就是一个包含一个或多个规则的文本文件,CSS规则由两个主要的部分构成:选择髀(Selector选择器)和声明(Declaration)
选择器通常是需要改变样式的HTML元素
声明由一个或多个属性与属性值对组成。属性是CSS的关键字,如font-family(字体)color(颜色)和border(边框)等,属性用于指定选择器某一方面的特性,而属性值则用于指定选择器的特性的具体特征。

4.2.1.CSS基本语法


4.2.1.1.基本语法

selector { propertyl : valuel ; property2 : value2 ; property3 : value3}

4.2.1.2.语法说明

(1)选择器。选择器可以是HTML标记名称或者属性的值,也可以是自定义的标识符
(2)属性/属性值对。“属性:属性值”必须一一对应,属性与属性值之间必须用“.”连接,每个属性/属性值对之间用分号(;)隔开。
(3)属性。在CSS中对属性命名与脚本语言中有一点不同,即属性名称的写法,在CSS中,凡是属性名为两个或两个以上的单词构成时,单词之间以连词符号(-)分隔,例如背景颜色属性 background-color;而在脚本语言中,对象属性则连写成backgroundColor在脚本语言中,属性由两个以上单词构成,则从第二个单词开始向后,所有单词首字母必须大写。


4.2.2.CSS选择器类型

CSS选择器主要有4种类型:标记选择器、class选择器、ID选择器及伪类选择器等。


4.2.2.1.标记选择器

标记选择器(也可称为“元素选择器”)即直接使用HTML标记名称作为选择器。它定义的样式作用于页面中所有与选择器同名的标记

4.2.2.2.class选择器

class选择器也叫“类”选择器,可以给指定的标签设置一个class属性和 class 值然后通过 class选择器找到对应的标签,为其设置class值,即添加CSS样式。使用 class 类选择器时,需要用英文(.)进行表示

4.2.2.3.ID选择器

ID 选择器用来对某个单一元素定义单独的样式。ID选择器只能在HTML 页面中使用次,针对性更强。定义ID选择器时,需要在id名称前加一个“#”

4.2.2.4.伪类选择器

前面介绍的选择器都是能够与HTML,中具体标记对应的,但是像段落的第1行,超链接访问前与访问后等,就没有H1ML标记与之对应,从而也没有简单的CSS选择器应用,为此CSS引进了伪类选择器


4.2.3.CSS选择器声明

在声明各种CSS选择器时,如果某些选择器的风格是完全相同的,或者部分相同,都可以使用集体声明的方法,用“,”分隔多个选择器,对风格相同的 CSS 选择器同时声明


4.2.3.1.集体生明

集体声明代码如下:

h3.h4,h5 ,p{ color:red ;font-size :18px;}

4.2.3.2.全局声明

对于实际网站中的一些小型页面,例如弹出的小对话框和上传附件的小窗口等,希望这些页面中所有的标记都使用同一种CSS样式,但又不希望通过逐个加入集体声明列表的方式。这时可以利用全局声明符号“*”代码如下:

* {color : red ;
font-size:18px ;}

4.2.3.3派生选择器(上下文选择器)

派生选择器允许根据文档的上下文关系来确定某个标记的样式。通过合理地使用派生选择器,可以使(SS代码变得更加整洁。例如,要让列表项<i>中的<stnong>标记变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:

li strong { font-style : italic ; font-weight ; normal ;} strong {font-weight :bold ;}


4.3 CSS引入方式

4.3.1.内联样式表(行内样式表


4.3.1.1基本语法

内联样式表(行内样式表)是直接在HTML元素的标签中指定样式的方法。它的基本语法如下:

<element style="property: value;">

其中,element表示要应用样式的HTML元素,property表示要设置的CSS属性,value表示属性的值。

举个例子,如果要将一个段落元素的文本颜色设置为红色,可以使用内联样式表:

<p style="color: red;">This is a red paragraph.</p>

注意:

  • 多个样式属性可以同时指定,用分号;分隔。
  • 当一个元素有多个样式属性时,后面的样式会覆盖前面的样式。
  • 不同的元素可以使用相同的样式属性,但效果可能有所不同。
  • 内联样式表仅适用于当前的HTML元素,不能复用于其他元素。
  • 内联样式表一般用于快速测试、调试或临时修改样式。在实际项目中,最好使用外部样式表或内部样式表来管理样式。

4.3.2.内部样式表

内部样式表是一种将样式信息直接嵌入在HTML文档中的方法,它适用于只应用于特定HTML文档的样式。内部样式表的基本语法如下:

  1. 在HTML文档的&lt;head>标签中使用&lt;style>标签来定义内部样式表。
  2. 在&lt;style>标签中,使用选择器来选择要应用样式的元素。选择器可以是HTML元素名称、类名、ID等。
  3. 在选择器后面使用一对大括号{}来定义样式规则。
  4. 在大括号内,使用属性-值对来设置具体样式。属性是要设置的样式属性,值是样式属性的具体取值。

示例:

<!DOCTYPE html>
<html>
<head>
<style>
    h1 {
        color: red;
        font-size: 20px;
    }
    .class {
        background-color: yellow;
    }
    #id {
        text-align: center;
    }
</style>
</head>
<body>

<h1>这是一个标题</h1>
<p class="class">这是一个段落。</p>
<p id="id">这是另一个段落。</p>

</body>
</html>

在上述示例中,我们定义了以下样式规则:

  • h1元素的颜色设置为红色,字体大小设置为20像素。
  • 类名为class的元素的背景色设置为黄色。
  • ID为id的元素的文本对齐方式设置为居中。

这些样式规则会应用于对应的HTML元素,使其按照定义的样式进行显示。



4.3.3.外部样式表

4.3.3.1.链接外部样式表

你可以使用HTML中的<link>元素来链接外部样式表。将下面的代码添加到你的HTML文件的<head>标签中:

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

上面的代码中,rel属性指定链接的外部样式表,type属性指定链接的样式表的文件类型,href属性指定外部样式表的文件路径。确保将style.css替换为你的实际样式表文件的路径。

4.3.3.2.导入外部样式表

要导入外部样式表,您需要使用HTML的<link>标签。在HTML文档的<head>标签中添加以下代码:

<link rel="stylesheet" href="styles.css">

其中,href属性指定外部样式表的文件路径,可以是相对路径或绝对路径。在这个例子中,样式表文件名为styles.css。

注意,此代码应该放在<head>标签内部的任何位置,通常放在<head>标签的末尾。

这样,浏览器就会加载并应用外部样式表中定义的样式到HTML文档中了。


4.4 CSS的属性单位


4.4.1.长度、百分比单位

1.相对类型
其指以该属性的前一个属性的单位值为基础来完成目前的设置,在浏览器内常用且支持的两种长度单位是以相对类型出现的。如用cm(当前字母中,字母的宽度)作为属性单时,将会依据父元素的font-size 属性,如果没有父元素,则参考浏览器的默认值字号

2.绝对类型
绝对类型所使用的单位不会随着显示设备的不同而改变,也就是当属性值使用绝对单位时,不论在哪种设备上显示都是一样的,例如屏幕上的1cm与打印机上的Icm 是一样长的表 4-3 为浏览器支持的绝对类型的长度单位。
百分比单位是一种常用的相对类型,通常的参考依据为fnt-size属性。百分比值总是相对于另一个值。下面的语句将margin属性的值没置为font-size 的 200%:
pmargin:200% ;
需要注意的是,不管使用哪种单位,在设置的时候数值与单位之间不需要加空格

较大则会出现先显示无样式的页面,再出现网页的样式的情况


4.4.2.色彩单位

HTML网页和CSS样式都是按照RGB来设颜色的。在HTML标记中只提供了两种设置色彩的方法:十六进制数和色彩英文名称。CSS则提供了三种定义色彩的方法:十六进制数、色彩英文名称、rgb 函数和rgba 兩函数。

1.用十六进制数方式表示色彩值

在计算机中,定义每种色彩的强度范围为0~255。当所有色彩的强度都为0时,将产生黑色:当所有色彩的强度都为 255 时,将产生白色。
在 HTML中,使用RGB概念指定色彩时,前面是一个“#”号,再加上6个十六进制数字表示,表示方法为:#RRGGBB、其中,前两个数字代表红光强度(Red),中间两个数字代表绿光强度(Green),后两个数字代表蓝光强度(Blue),以上3个参数的取值范围为00~g。参数必须是两位数,对于只有1位的参数,应在前面补0。这种方法共可表示256x256x256种色彩,即16M种色彩。而红色、绿色、黑色、白色的十六进制设置值分别为#FF0000、#00FF00、#0000FF、#000000、#FFFFFF。

2.用色彩名称方式表示色彩值
用色彩名称方式表示色彩值在CSS中也提供了与HTML一样的用色彩英文名称表示色彩的方式。CSS只提供16种色彩名称,

3.使用RGB(x,y,z)函数表示
x、y、2、分别是红色、绿色、蓝色的值,x,y,zE[0,225],亦可用百分比表示:对比rgba(x,y,z,a)中a是alpha 通道设置透明度取值 0~1。


4.5.CSS继承与层叠

CSS继承即子标记会继承父标记的所有样式风格,并且可以在父标记样式风格的基础上再加以修改,产生新的样式,而子标记的样式风格完全不影响父标记,值得注意的是,并不是所有的属性都会自动传给子元素,有的属性不会继承父标记的属性值

4.6 元素类型

4.6.1.块级元素

display属性设置为 block将显示块级元素,块级元素的宽度为100%,带有换行符,使块级元素始终占据一行,如<div>常常被称为块级元素,这意味着这些元素显示为一块内容,标题、段落、列表、表格、分区 div 和 body 等元素都是块级元素。


4.6.2.行级元素

行级元素也称内联元素,display 属性设置为inline 将显示行级元素,元素前后没有换行符,行级元素没有高度和宽度,因此也就没有固定的形状,显示时只占据其内容的大小超链接、图像、范用(pan)、衣单元素等都是行级元素。

4.6.3.列表项元素

li-iiem 属性们衣示列表项目,其实质上也是块状显示,是一种特殊的块状类型,它加了缩进和项目符号

4.6.4.隐藏元素

none 属性值及示隐藏并取消盆模型,所包含的内容不会被浏览器解析和显示。通过把dispay 设置为 none,该元素及其所有内容就不再显示,也不占用文档中的空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值