CSS零基础快速入门(详细教程)

1,CSS概述

CSS是层叠样式表,由Cascading Style Sheets简称而来。

CSS的功能为:能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果,并且能够做到页面的样式和结构分离。

CSS的作用效果跟我们日常使用的化妆术是一样的,化妆术能使人看起来更好看,而CSS能够美化页面,从而使页面变得更加好看。

CSS使用前后的对比效果就如下面的化妆前后的对比:


2,CSS语法规则

CSS语法规则可归纳为:选择器 + 若干属性声明

  • 选择器,决定针对谁进行修改
  • 属性声明,决定对其进行何种修改
  • CSS语法规则示意图如下:

image-20230509225104937


3,CSS引入方式

CSS引入方式有3种,分别为内部样式,内联样式和外部样式。

1,内部样式

内部样式:使用<style> 标签,直接将CSS写到该标签内,从而实现嵌入到Html文件中的作用。

<style>
    p {
        font-size: 28px;
        color: red;
    }
</style>
  • 理论上,上述<style> 标签里面的CSS能够放到HTML的任何位置,但是一般都是放到<head>标签内。
  • 内部样式的优点是能够使样式和页面结构分离,而缺点是分离的不够彻底,尤其是在CSS内容多的时候。

2,内联样式

内联样式:使用style属性,针对指定的元素进行设置样式,样式直接写属性键值对,不需要写选择器,而该样式只对当前元素生效。

<body>
    <p style="color: blue;">hello world!</p>
</body>
  • 内联样式方式只适合于写简单的样式,而不能写过于复杂的样式,并且只针对某个标签生效。

  • 内联样式方式的优先级较高,当同一部分使用多种方式进行引入时,内联样式会覆盖其他的样式。

    image-20230509232950986

3,外部样式

外部样式:把CSS代码单独作为一个.css文件,然后再通过link属性将该css文件引入到对应的html文件中。

image-20230509235533089

  • 外部样式的主要步骤分为两步,分别为创建个对应的css文件 和 使用<link>标签引入css文件。
  • 外部样式是实际开发中最常用的引入css方式,该方式使样式和结构彻底分离,但受到浏览器缓存的影响,修改后不一定立马生效。

小知识:缓存

缓存:就是数据交换的缓冲区(称作Cache),是存贮数据(使用频繁的数据)的临时地方。当用户查询数据,首先在缓存中寻找,如果找到了则直接执行。如果找不到,则去数据库中查找。

缓存的本质就是用空间换时间,牺牲数据的实时性,以服务器内存中的数据暂时代替从数据库读取最新的数据,减少数据库IO,减轻服务器压力,减少网络延迟,加快页面打开速度。

这是计算机中一种常见的提升性能的技术手段。

网页依赖的资源(图片/CSS/JS等)通常是从服务器上获取的,如果频繁访问该网站,那么这些外部资源就没必要反复从服务器获取,就可以使用缓存将这些网页依赖的资源先存起来(也就是将其存在本地磁盘上),等下次访问时直接从本地磁盘上获取该资源,从而提高访问的效率。

可以通过 ctrl + F5 强制刷新页面,强制浏览器重新获取 css 文件。


4,CSS选择器

1,基础选择器

基础选择器是由单个选择器构成的,主要有以下4种基础选择器,分别为标签选择器,类选择器,id选择器和通配符选择器。

1.1,标签选择器

标签选择器: 在{ 前面写标签名,此时就表示会选中当前页面中的所有的指定标签。

标签选择器的特点为:能够快速地将同一类型的标签都选择出来,但是不能进行差异化选择。

image-20230510221111532

1.2,类选择器

类选择器: 在{ 前面写类名,类名用.开头,类名不能使用纯数字,中文以及标签名来进行命名,若类名过长,可以使用-分割。

当前html页面的标签使用class属性来进行调用,一个类可以被多个标签使用,而一个标签也可以使用多个类,类名之间使用空格分割。

类选择器的特点为:不仅能够差异化表示不同的标签,还可以让多个标签使用同一个类选择器,从而实现代码更好复用。

image-20230510223329291

1.3,id选择器

id选择器: 在{ 前面写id,id用#开头,id是标签的唯一身份标识,不能被多个标签使用,id选择器的值和html中某个标签的id值相同。

image-20230510225057848

1.4,通配符选择器

通配符选择器:在{ 前面写*,使用* 通配符定义,选取当前html页面所有的标签,不需要被页面结构的调用。

image-20230510225528188


2,复合选择器

复合选择器是由多种基础选择器搭配使用的,主要由以下4种复合选择器,分别为后代选择器,子选择器,并集选择器和伪类选择器。

2.1,后代选择器

后代选择器:也叫包含选择器,选择某个父元素的某个子元素。

image-20230510231423662

  • 上述的后代选择器的含义是:先将当前页面中所有的ol标签找到,然后在这些ol标签内找所有的li标签。
  • 注意,只要是ol标签内的后代li标签就行,也就是包含子元素,孙子元素,重孙子元素…,不一定非得是子元素。

2.2,子选择器

子选择器:与后代选择器相类似,但是只能选择子元素标签,不可以选择孙子元素标签,元素之间使用>进行分割。

image-20230511000503444

2.3,并集选择器

并集选择器:集体声明,用于选择多组标签,标签之间使用分隔,但最后一个标签后不需使用,表示同时选中多个标签。

并集选择器建议竖着写,每个选择器占一行,能够提高代码的可读性,便于程序员后续地操作。

image-20230510235329651

2.4,伪类选择器

伪类选择器:复合选择器的特殊用法,表示选中某个标签元素的某个特定状态。

伪类选择器主要讲以下4类伪类选择器,分别为:

  • a:link 选择未被访问过的链接
  • a:visited 选择已经被访问过的链接
  • :hover 选择鼠标指针悬停时的状态
  • :active 选择鼠标指针按下时的状态(鼠标按下了但是未弹起)

小知识:如何让一个已经被访问过的链接恢复成未访问的状态?

清空浏览器历史记录即可,使用快捷键: ctrl + shift + delete。


5,CSS常用属性

1,字体属性

1.1,设置字体家族

设置字体家族:使用font-family 来确定当前文本内容使用何种字体来显示。

使用font-family 指定的字体,需要求这些字体在当前系统上已经安装了,如果你指定的字体在当前系统上未安装,则不能正确显示。

如果遇到这种情况,该怎么处理呢?

这种情况一般解决方式为:可以通过浏览器请求对应的服务器,从而获取到指定字体文件,进而就能解决上述字体无法正确显示的情况。

image-20230512201639199

  • 字体名称可以使用中文,但是不建议使用,建议使用英文;如果字体名中有空格,使用引号包裹字体名。
  • font-family 内可以写多种字体,字体之间使用,分隔,使用规则:从左往右依次在系统上查找指定的字体,若指定的字体都找不到,使用默认字体。
  • 系统上会自带一些常见的字体,如微软雅黑,宋体,黑体,华文行楷… 一般建议使用这些常见的字体,避免出现兼容性问题。

1.2,设置字体大小

设置字体大小:使用font-size 来确定当前文本内容字体的大小,单位为px

使用font-size 确定当前文本内容字体的大小,实际上设置的是字体中字符框的高度,实际的字符字型可能会比字符框高或矮。

浏览器中的每个文字,都可以近似为一个方框。如果文本内容为阿拉伯数字,方框会比较窄,而如果是中文,方框一般为一个正方形。

不同的浏览器默认字体的大小一般不一样,最好确定一个明确值,标题标签需要单独指定字体大小,也可给body标签使用font-size

1.3,设置字体粗细

设置字体粗细:使用font-weight 来确定当前文本内容字体的粗细。

使用font-weight 来设置字体粗细有2种典型设置风格,分别为使用数字和使用单词。

font-weight 的属性值常用的有以下3种,分别为:

  • normal,字体正常粗细,与400等值。
  • bold,字体加粗,与700等值。
  • <bumber>,一个处于1到1000范围的值,值越大,文字越粗。

使用font-weight 可实现把段落文本内容字体粗细设置成标题标签类似的文字粗细,也可把标题标签设置成段落文本内容字体的粗细。

1.4,设置字体样式

设置字体样式:使用font-style 来确定当前文本内容字体使用何种样式。

使用font-style 设置当前文本字体是否倾斜,使用font-style: italic来设置倾斜样式,使用font-style: normal来取消倾斜。


2,文本属性

2.1,设置文本颜色

设置文本颜色:使用color来进行设置文本颜色。

使用color来进行设置文本颜色时,color属性值有3种写法,分别为预定义的颜色值(颜色的单词),十六进制形式,RGB方式。

小知识:计算机是如何表示颜色的?

颜色就是不同波长频率的光,在日常中看到的很多光都是混合合成的,红绿蓝三种颜色光等比例混合就形成了我们日常最常见的白光。

需要注意的是,红绿蓝这三种颜色是光的三原色,而一些人所说的三原色是红黄蓝,这是美术上的颜料三原色,等比例混合得到黑色。

计算机中表示颜色,使用一种名为RGB的典型表示方式,R表示red,G表示green,B表示blue

在前端中,给RGB各分配了一个字节,每个字节的取值范围为0~255 / 00~FF(十六进制形式)。

image-20230512213123240

注意:如果每个分量的两个十六进制数字都相同,就可以把6位十六进制数缩写为3位十六进制数,如#ff0000 可缩写成#f00

2.2,设置文本对齐

设置文本对齐:使用text-align来进行控制文本水平方向的对齐方式。

使用text-align不光可以用来进行设置文本水平方向的对齐方式,还能控制图片等元素的对齐方式。

text-align的属性值有3种,分别为:center 居中对齐,left 左对齐,right 右对齐。

2.3,设置文本装饰

设置文本装饰:使用text-decoration来进行设置文本装饰操作。

text-align的常用属性值有4种,分别为:underline 下划线,none 无修饰, overline 上划线, line-through 删除线。

text-align的属性值none 可以实现将a标签产生的下划线去掉,从而提高页面的美观性的功能。

2.4,设置文本缩进

设置文本缩进:使用text-indent来进行设置文本缩进操作。

text-indent进行设置文本缩进操作,用于控制段落的首行缩进,其他行无影响。

text-indent的属性值单位可以是px,也可以是em

  • px为单位,就相当于文本首行缩进的长度是绝对的量,这个是不随着文字的尺寸变化而改变的。
  • em为单位,就相当于文本首行缩进的长度是相对的量,这个是以文字的尺寸为基础来进行设置的,会随着文字尺寸变化而改变。
  • 推荐使用em为单位,1em就相当于一个文字的间距,而这个间距是当前文本的字体大小。

文本缩进不只是仅能往右进行缩进操作,也可以往左进行缩进操作,属性值为负的,往左缩进会导致文字就会冒出去。

2.5,设置文本行高

设置文本行高:使用line-height来进行设置文本行高操作。

文本行高是啥呢? 文本行高指的是上下文本行之间的基线距离,行高等于文字高度与行间距之和。

HTML中展示文字涉及到4个基准线,分别为:顶线,中线,基线和底线。

image-20230512220859420

注意1:行间距等于上边距和下边距之和,而上边距与下边距是相等的,行高 = 文本高度 + 上边距 + 下边距。

  • 例如,字体大小是 16px,上下边距就分别是 12px,则该文本行高为 40px 。

注意2:行高也可以设置为normal,表示这个行高为浏览器默认行高,该取决于浏览器的实现。

注意3:行高设置成与元素高度一样的值,就可以实现文字居中对齐的效果。


3,背景属性

3.1,设置背景颜色

设置背景颜色:使用background-color来进行指定背景颜色操作。

使用background-color来进行指定背景颜色时,属性值书写方式也是有3种,分别为预定义的颜色值,十六进制形式,RGB方式。

background-color属性值默认是 transparent (透明) 的,可以通过设置颜色的方式来进行修改。

3.2,设置背景图片

设置背景图片:使用background-image来进行设置背景图片操作。

使用background-image来进行设置背景图片比直接使用img标签方式更加方便控制图片在盒子中的位置。

background-image的属性值url(...)不可以遗漏,url可以是绝对路径,也可以是相对路径,并且url的路径引号可加也可不加。

当引入背景图片后,图片默认情况上是以平铺的形式展示给我们。

3.3,设置背景平铺

设置背景平铺:使用background-repeat来进行设置背景平铺方式操作。

background-repeat属性值有4种,分别为:repeat 平铺 (默认) , no-repeat 不平铺, repeat-x 水平平铺,repeat-y 垂直平铺。

背景颜色background-color与背景图片background-image可以同时存在,背景图片在背景颜色的上方。

3.4,设置背景位置

设置背景位置:使用background-position来进行设置背景的位置操作。

background-position的参数有两个,分别为x 水平坐标 和 y 垂直坐标。

background-position的参数有以下3种书写风格:

  • 方位名词:top,left,right,bottom
  • 精确单位:坐标或者百分比(以左上角为原点)
  • 混合单位:同时包含方位名词和精确单位

background-position的参数书写注意事项:

  • 如果两个参数的值都是方位名词,则参数的前后顺序无影响。 (top left 和 left top 等效)
  • 如果只指定了一个方位名词,则第二个默认居中。(left 则意味着垂直居中,top 意味着水平居中)
  • 如果两个参数的值是精确值,则第一个值为 x坐标,第二个值为 y 坐标。 (100 200 意味着 x 为 100,y 为 200)
  • 如果只给了一个参数值,且参数是精确值,则该数值一定是 x 坐标,另一个默认垂直居中。(100 表示横坐标为 100,垂直居中)
  • 如果两个参数是混合单位,则第一个值为 x坐标,第二个值为 y 坐标。 (100 center 表示横坐标为 100,垂直居中)

3.5,设置背景尺寸

设置背景尺寸:使用background-size来进行设置背景尺寸操作。

background-position的参数取值有4个,分别为:length ,perccentage, cover, contain.

  • lengt:使用具体像素来指定背景尺寸的大小。

    • background-size:600px 400px; 
      
  • perccentage:使用百分比来指定背景尺寸的大小,百分比相对于包含元素的尺寸,并且并不需要包含元素显示设置宽高。

    • background-size:50% 50%; 
      
  • cover:扩展图片来填满元素(保持像素的长宽比),是图片宽高最短的那个边覆盖元素一边,可能导致背景图片不完整。

    • background-size:cover; 
      
  • contain:缩小图片来适应元素的尺寸(保持像素的长宽比),是图片宽高最长的那个边覆盖元素一边,可能导致背景有空白。

    • background-size:contain; 
      

注意:参数containcover的区别,当元素为矩形(不是正方形) 时,区别是比较明显的。


4,显示模式

4.1,标签的显示模式

在CSS中,HTML标签的显示模式有多种,但主要使用的标签显示模式有2种,分别为块级元素和行内元素。

块级元素:独占一行,高度,宽度,内外边距,行高都可以进行控制,宽度默认是父级元素宽度的100%,也就是和父元素一样宽。

常见的块级元素有以下几种,分别为:h1~h6pdivulolli

注意:文字类的元素内不能使用放块级元素,例如p标签主要用于存放段落文本,其内部不能存放块级元素,尤其是div块级元素。

行内元素:不独占一行,一行可以显示多个;高度,宽度,行高不可以进行控制,设置会无效;宽度默认是本身内容的宽度。

行内元素的内边距和左右外边距可以进行控制,但上下外边距不可以进行控制;并且其只能容纳文本和其他行内元素, 不能放块级元素。

常见的行内元素有以下几种,分别为:astrongbemidelsinsuspan

注意:a标签内不能再存放a标签,尽管在chrome中不报错,若想在a标签内存放a标签,因a标签内可放块级元素,故可先将其转换成块级元素。

总结:行内元素与块级元素的区别?

  • 块级元素独占一行,而行内元素不独占一行。
  • 块级元素可以设置宽度,高度和行高,而行内元素不可以设置宽度,高度和行高。
  • 块级元素4个方向都能设置内外边距,而行内元素可以设置内边距,左右外边距,垂直方向不能设置外边距。
  • 块级元素的默认宽度是和父元素等宽,而行内元素的默认宽度是和元素里面的的内容一样宽。

4.2,改变标签显示模式

改变显示模式:使用display来进行改变标签的显示模式操作。

使用display 可将div等块级元素转换成行内元素,也可以将a,span等行内元素转换成块级元素。

display的参数取值有3种,分别为:block 改成块级元素, inline 改成行内元素, inline-block改成行内块元素。

因行内元素使用时限制比较多,而块级元素使用比较正常,一般在使用时,都会先把行内元素转换成块级元素。


5,CSS盒子模型

1,盒模型

盒模型:每个HTMl元素都相当于一个矩形的盒子,而这个盒子由4部分构成,分别为外边距,边框,内边距,内容。

image-20230513084027015

2,边框 border

边框border 有以下几种基础属性,分别为border-width边框粗细, border-style 边框样式,border-color 边框颜色。

border-style 边框样式,默认情况是无边框的,可以通过该属性的设置变成有边框的,常见的属性值有以下几种,分别为:solid 实线边框,dashed 虚线边框,dotted点线边框 …

边框border 的四个方向可以分别进行设置,属性分别为:border-top 上边框,border-bottom下边框, border-left 左边框,border-right右边框。

边框border 的基础属性可以分别书写,也可以支持简写,而这个简写的属性先后顺序没有要求。

  • border-width: 10px;
    border-style: solid;
    border-color: green;
    

    等效为:

  • border: 10px solid green;
    

注意:边框在默认情况下会撑大盒子,进而可能会影响当前元素和其他元素的相对位置。

image-20230513093240355

**若不想边框撑大盒子该怎么办呢? **CSS中可通过设置box-sizing属性修改浏览器行为,若将其设置为border-box,则边框就不再撑大盒子。

image-20230513094110853

边框border 除了上述那几种基础属性外,还有一个比较常用的属性border-radius,通过border-radius可使边框带圆角效果。

border-radius属性值为lengthlength是内切圆的半径,数值越大,弧线的弧度越弧。

border-radius属性值的写法有2种,分别为基础写法和复合写法。

基础写法:使用border-top-left-radius 左上角, border-top-right-radius 右上角, border-bottom-left-radius 左下角, border-bootom-right-radius 右下角分别设置圆角效果。

复合写法:可以把多个方向的border-radius合在一起使用,写法分别为:

  • border-radius:10px;
    
    • 针对四个方向的角统一设置border-radius为10px。
  • border-radius: 10px 20px 30px 40px; 
    
    • 上述圆角方向按照顺时针排列分别设置,排列方向分别为左上方,右上方,右下方,左下方。

border-radius属性值设为正方形盒子宽度的一半就可生成圆形,当 border-radius属性值设为矩形高度的一半就可生成圆角矩形。

3,内边距 padding

内边距padding指的是内容和边框之间的距离。

在默认情况下,内容是顶着边框来放置的,可以通过使用内边距padding来控制这个距离。

内边距padding的写法有2种,分别为基础写法和复合写法。

基础写法:使用padding-toppadding-bottompadding-leftpadding-right分别给4个不同的方向设置上内边距。

复合写法:可以把多个方向的padding合在一起使用,复合写法有4种,分别为:

  • padding:5px;:表示四个方向的内边距都是5px。
  • padding:5px 10px;表示上下内边距为5px,左右内边距为10px。
  • padding:5px 10px 20px; 表示上内边距为5px,左右内边距为10px,下内边距为20px。
  • padding:5px 10px 20px 30px; 表示上内边距为5px,右内边距为10px,下内边距为20px,左内边距为30px。

注意:内边距padding的设置也会撑大盒子,从而影响盒子的真实大小。使用box-sizing: border-box属性可使其不再撑大盒子。

4,外边距 marign

外边距marign指的是盒子与盒子之间的距离。

外边距margin的写法同内边距padding一样都有2种,分别为基础写法和复合写法。

基础写法:使用marign-topmarign-bottommarign-leftmarign-right分别给4个不同的方向设置上内边距。

复合写法:可以把多个方向的padding合在一起使用,复合写法有4种,分别为:

  • marign:5px;:表示四个方向的外边距都是5px。
  • marign:5px 10px;表示上下外边距为5px,左右外边距为10px。
  • marign:5px 10px 20px; 表示上外边距为5px,左右外边距为10px,下外边距为20px。
  • marign:5px 10px 20px 30px; 表示上外边距为5px,右外边距为10px,下外边距为20px,左外边距为30px。

外边距marign的特殊用法:实现块级元素在父类元素内水平居中的效果。

  • 实现前提:指定块级元素的宽度(如果不指定,默认和父元素一致),将水平外边距marign设为auto,表示让浏览器自动调节。

  • 实现方式:marigm-leftmarign-right都设为automarign设为automarign设为0 auto

注意:该块级元素水平居中方式和text-align不一样,text-align:center是让行内元素或行内块元素水平居中,而marign:auto是让块级元素在父类元素内水平居中。


6,弹性布局

1,弹性布局

弹性布局:用来实现页面布局,也就是控制某个指定元素放在指定位置。

实现页面布局的方式有很多种,分别为:基于表格的布局方式,基于浮动的布局方式,弹性布局和网络布局这四种网页布局方式。

因弹性布局相较于其他几种布局方式,实现操作更简单,使用限制更少,功能更丰富等优点,故使用弹性布局来进行实现页面布局最好。

知识:行内元素与行内块元素不适合进行水平布局的原因?

  • 行内元素虽然在水平方向上是排列的,但因其尺寸边距等属性不可控,故其不适合进行水平布局。

  • 行内块元素虽然可以设置尺寸边距等属性,但因其默认不占一行,故其也不适合进行水平布局。

  • 行内元素和行内块元素一样,都会将源码中的换行当作成一个空格,也会对页面的元素布局产生一些不必要的影响。

弹性布局方式的本质是:给父盒子添加display:flex属性来控制子盒子的位置和排列方式。

任何一个 html 元素,都可以指定为display:flex 来完成弹性布局,flex flexible box的缩写,译为弹性盒子。

此时,弹性容器内的元素,则不再是块级元素,行内元素,而是转换成了弹性元素,遵守弹性布局规则,可以设置尺寸和边距。

image-20230513182911628

注意:当父元素设置为display: flex之后,子元素的 float,clear, vertical-align 都会失效。

2,弹性布局属性

2.1,justify-content

justify-content:设置主轴上的子元素排列方式,使用之前必须明确好主轴是哪个方向。

justify-content的属性取值有5种,分别为:flex-startflex-endcenterspace-betweenspace-around

  • 当未指定 justify-content 时,效果同将属性取值为flex-start,按照从左到右的方向布局。

    image-20230513214820613

  • 设置 justify-content: flex-end,此时元素都排列到右侧。

    image-20230513214749145

  • 设置 jutify-content: center,此时元素居中排列

  • 设置 justify-content: space-around,此时平分剩余空间

    image-20230513214918037

  • 设置 justify-content: space-between,先两边元素贴近边缘, 再平分剩余空间.

    image-20230513214936759

2.2,align-items

align-items:设置了侧轴上的元素排列方式。

align-items的属性取值有6种,分别为:stretch,flex-startflex-endcenterspace-betweenspace-around

align-items的属性取值与justify-content的属性取值差不多,效果也差不多,只是按纵轴方向排列。

align-items的属性未指定时,效果同其取值为stretch,效果为拉伸。即当子元素未被显式指定高度,其就会填充满父元素的高度。

image-20230513221759514

align-items可以实现垂直居中效果,但只能针对单行元素来实现,如果有多行元素,就需要使用item-contents

image-20230513222003554


总结

以上就是CSS的所有基础内容,希望能够对大家有帮助。如果大家有什么解决不了的问题,欢迎大家评论区留言或者私信告诉我。如果感觉对自己有用的话,可以点个赞或关注鼓励一下博主,我会越做越好的,感谢各位的支持,我们下期见!

在这里插入图片描述


  • 33
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据类型 1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 计算表单总金额 1.12 理解操作符的优先级和结合性: 1.13 使用可变函数 1.13.1 测试和设置变量类型 1.13.2 测试变量状态 1.13.3 变量的重解释 1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif语句 1.14.5 switch语句 1.14.6 比较不同的条件 1.15 通过迭代实现重复动作 1.15.1 while循环 1.15.2 for和foreach循环 1.15.3 do...while循环 1.16 从控制结构或脚本中跳出 1.17 使用可替换的控制结构语法 1.18 使用declare 1.19 下一章 第2章 数据的存储与检索 2.1 保存数据以便后期使用 2.2 存储和检索Bob的订单 2.3 文件处理 2.4 打开文件 2.4.1 选择文件模式 2.4.2 使用fopen()打开文件 2.4.3 通过FTP或HTTP打开文件 2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:filesize() 2.8.3 删除一个文件:unlink() 2.8.4 在文件中定位:rewind()、fseek()和ftell() 2.9 文件锁定 2.10 更好的方式:数据库管理系统 2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用循环访问数组 3.3 使用不同索引的数组 3.3.1 初始化相关数组 3.3.2 访问数组元素 3.3.3 使用循环语句 3.4 数组操作符 3.5 多维数组 3.6 数组排序 3.6.1 使用sort()函数 3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 3.9 从文件载入数组 3.10 执行其他的数组操作 3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev() 3.10.2 对数组的每一个元素应用任何函数:array_walk() 3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 3.10.4 将数组转换成标量变量:extract() 3.11 进一步学习 3.12 下一章 第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:addslashes()和stripslashes() 4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr() 4.5.2 查找子字符串的位置:strpos()、strrpos() 4.5.3 替换子字符串:str_replace()、substr_replace() 4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串的开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在智能表单中应用 4.7 用正则表达式查找子字符串 4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用未定义的函数 5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和重载 6.7.4 理解多重继承 6.7.5 实现接口 6.8 类的设计 6.9 编写类代码 6.10 理解PHP面向对象新的高级功能 6.10.1 使用Per-Class常量 6.10.2 实现静态方法 6.10.3 检查类的类型和类型提示 6.10.4 克隆对象 6.10.5 使用抽象类 6.10.6 使用__call()重载方法 6.10.7 使用__autoload()方法 6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件商店应用程序的异常 7.5 异常和PHP的其他错误处理机制 7.6 进一步学习 7.7 下一章 第二篇 使用MySQL 第8章 设计Web数据库 8.1 关系数据库的概念 8.1.1 表格 8.1.2 列 8.1.3 行 8.1.4 值 8.1.5 键 8.1.6 模式 8.1.7 关系 8.2 如何设计Web数据库 8.2.1 考虑要建模的实际对象 8.2.2 避免保存冗余数据 8.2.3 使用原子列值 8.2.4 选择有意义的键 8.2.5 考虑需要询问数据库的问题 8.2.6 避免多个空属性的设计 8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少权限原则 9.5.2 创建用户:GRANT命令 9.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的例子 9.6 创建一个Web用户 9.7 使用正确的数据库 9.8 创建数据库表 9.8.1 理解其他关键字的意思 9.8.2 理解列的类型 9.8.3 用SHOW和DESCRIBE来查看数据库 9.8.4 创建索引 9.9 理解MySQL的标识符 9.10 选择列数据类型 9.10.1 数字类型 9.10.2 日期和时间类型 9.10.3 字符串类型 9.11 进一步学习 9.12 下一章 第10章 使用MySQL数据库 10.1 SQL是什么 10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 更新数据库记录 10.5 创建后修改表 10.6 删除数据库中的记录 10.7 表的删除 10.8 删除整个数据库 10.9 进一步学习 10.10 下一章 第11章 使用PHP从Web访问MySQL数据库 11.1 Web数据库架构的工作原理 11.2 从Web查询数据库的基本步骤 11.2.1 检查与过滤用户输入数据 11.2.2 建立一个连接 11.2.3 选择使用的数据库 11.2.4 查询数据库 11.2.5 检索查询结果 11.2.6 从数据库断开连接 11.3 将新信息放入数据库 11.4 使用Prepared语句 11.5 使用PHP与数据库交互的其他接口 11.5.1 使用常规的数据库接口:PEAR MDB2 11.6 进一步学习 11.7 下一章 第12章 MySQL高级管理 12.1 深入理解权限系统 12.1.1 user表 12.1.2 db表和host表 12.1.3 tables_priv表,columns_priv表和procs_priv表 12.1.4 访问控制:MySQL如何使用Grant表 12.1.5 更新权限:修改什么时候生效 12.2 提高MySQL数据库的安全性 12.2.1 从操作系统角度来保护MySQL 12.2.2 密码 12.2.3 用户权限 12.2.4 Web问题 12.3 获取更多关于数据库的信息 12.3.1 使用SHOW获取信息 12.3.2 使用DESCRIBE获取关于列的信息 12.3.3 用EXPLAIN理解查询操作的工作过程 12.4 数据库的优化 12.4.1 设计优化 12.4.2 权限 12.4.3 表的优化 12.4.4 使用索引 12.4.5 使用默认值 12.4.6 其他技巧 12.5 备份MySQL数据库 12.6 恢复MySQL数据库 12.7 实现复制 12.7.1 设置主服务器 12.7.2 执行初始的数据传输 12.7.3 设置一个/多个从服务器 12.8 进一步学习 12.9 下一章 第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和控制结构 13.6 进一步学习 13.7 下一章 第三篇 电子商务与安全性 第14章 运营一个电子商务网站 14.1 我们要实现什么目标 14.2 考虑电子商务网站的类型 14.2.1 使用在线说明书公布信息 14.2.2 接收产品或服务的订单 14.2.3 提供服务和数字产品 14.2.4 为产品或服务增值 14.2.5 减少成本 14.3 理解风险和威胁 14.3.1 网络黑客 14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 下一章 第15章 电子商务的安全问题 15.1 信息的重要程度 15.2 安全威胁 15.2.1 机密数据的泄露 15.2.2 数据丢失和数据破坏 15.2.3 数据修改 15.2.4 拒绝服务 15.2.5 软件错误 15.2.6 否认 15.3 易用性,性能、成本和安全性 15.4 建立一个安全政策 15.5 身份验证原则 15.6 加密技术基础 15.6.1 私有密钥加密 15.6.2 公有密钥加密 15.6.3 数字签名 15.7 数字证书 15.8 安全的Web服务器 15.9 审计与日志记录 15.10 防火墙 15.11 备份数据 15.11.1 备份常规文件 15.11.2 备份与恢复MySQL数据库 15.12 自然环境安全 15.13 下一章 第16章 Web应用的安全 16.1处理安全性问题的策略 16.1.1 以正确心态为开始 16.1.2 安全性和可用性之间的平衡 16.1.3 安全监视 16.1.4 基本方法 16.2 识别所面临的威胁 16.2.1 访问或修改敏感数据 16.2.2 数据丢失或破坏 16.2.3 拒绝服务 16.2.4 恶意代码注入 16.2.5 服务器被攻破 16.3了解与我们“打交道”的用户 16.3.1 破解人员 16.3.2 受影响机器的未知情用户 16.3.3 对公司不满的员工 16.3.4 硬件被盗 16.3.5 我们自身 16.4 代码的安全性 16.4.1 过滤用户输入 16.4.2 转义输出 16.4.3 代码组织 16.4.4 代码自身的问题 16.4.5 文件系统因素 16.4.6 代码稳定性和缺陷 16.4.7 执行引号和exec 16.5 Web服务器和PHP的安全性 16.5.1 保持软件的更新 16.5.2 查看php.ini文件 16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3 连接服务器 16.6.4 运行服务器 16.7 保护网络 16.7.1 安装防火墙 16.7.2使用隔离区域(DMZ) 16.7.3应对DoS和DDoS攻击 16.8 计算机和操作系统的安全性 16.8.1 保持操作系统的更新 16.8.2只运行必须的软件 16.8.3 服务器的物理安全性 16.9 灾难计划 16.10 下一章 第17章 使用PHP和MySQL实现身份验证 17.1 识别访问者 17.2 实现访问控制 17.2.1 保存密码 17.2.2 密码的加密 17.2.3 保护多个网页 17.3 使用基本身份验证 17.4 在PHP中使用基本身份验证 17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和MySQL实现安全事务 18.1 提供安全的事务处理 18.1.1 用户机器 18.1.2 Internet 18.1.3 我们的系统 18.2 使用加密套接字层(SSL) 18.3 屏蔽用户的输入 18.4 提供安全存储 18.5 存储信用卡号码 18.6 在PHP中使用加密技术 18.6.1 安装GPG 18.6.2 测试GPG 18.7 进一步学习 18.8 下一章 第四篇 PHP的高级技术 第19章 与文件系统和服务器的交互 19.1 文件上载 19.1.1 文件上载的HTML代码 19.1.2 编写处理文件的PHP 19.1.3 避免常见上载问题 19.2 使用目录函数 19.2.1 从目录读取 19.2.2 获得当前目录的信息 19.2.3 创建和删除目录 19.3 与文件系统的交互 19.3.1 获取文件信息 19.3.2 更改文件属性 19.3.3 创建、删除和移动文件 19.4 使用程序执行函数 19.5 与环境变量交互:getenv()和putenv() 19.6 进一步学习 19.7 下一章 第20章 使用网络函数和协议函数 20.1 了解可供使用的协议 20.2 发送和读取电子邮件 20.3 使用其他Web站点的数据 20.4 使用网络查找函数 20.5 备份或镜像一个文件 20.5.1 使用FTP备份或镜像一个文件 20.5.2 上传文件 20.5.3 避免超时 20.5.4 使用其他的FTP函数 20.6 进一步学习 20.7 下一章 第21章 日期和时间的管理 21.1 在PHP中获取日期和时间 21.1.1 使用date()函数 21.1.2 使用UNIX时间戳 21.1.3 使用getdate()函数 21.1.4 使用checkdate()函数检验日期有效性 21.1.5 格式化时间戳 21.2 在PHP日期格式和MySQL日期格式之间进行转换 21.3 在PHP中计算日期 21.4 在MySQL中计算日期 21.5 使用微秒 21.6 使用日历函数 21.7 进一步学习 21.8 下一章 第22章 创建图像 22.1 在PHP中设置图像支持 22.2 理解图像格式 22.2.1 JPEG 22.2.2 PNG 22.2.3 WBMP 22.2.4 GIF 22.3 创建图像 22.3.1 创建一个背景图像 22.3.2 在图像上绘图或打印文本 22.3.3 输出最终图形 22.3.4 清理 22.4 在其他页面中使用自动生成的图像 22.5 使用文本和字体创建图像 22.5.1 创建基本画布 22.5.2 将文本调整到适合按钮 22.5.3 放置文本 22.5.4 将文本写到按钮上 22.5.5 完成 22.6 绘制图像与用图表描绘数据 22.7 使用其他的图像函数 22.8 进一步学习 22.9 下一章 第23章 在PHP中使用会话控制 23.1 什么是会话控制 23.2 理解基本的会话功能 23.2.1 什么是cookie 23.2.2 通过PHP设置cookie 23.2.3 在会话中使用cookie 23.2.4 存储会话 ID 23.3 实现简单的会话 23.3.1 开始一个会话 23.3.2 注册一个会话变量 23.3.3 使用会话变量 23.3.4 注销变量与销毁会话 23.4 创建一个简单的会话例子 23.5 配置会话控制 23.6 通过会话控制实现身份验证 23.7 进一步学习 23.8 下一章 第24章 其他有用的特性 24.1 使用eval()函数对字符串求值 24.2 终止执行:die和exit 24.3 序列化变量和对象 24.4 获取PHP环境信息 24.4.1 找到所加载的PHP扩展部件 24.4.2 识别脚本所有者 24.4.3 确定脚本最近修改时间 24.5 暂时改变运行时环境 24.6 源代码加亮 24.7 在命令行中使用PHP 24.8 下一章 第五篇 创建实用的PHP和MySQL项目 第25章 在大型项目中使用PHP和MySQL 25.1 在Web开发中应用软件工程 25.2 规划和运行Web应用程序项目 25.3 重用代码 25.4 编写可维护代码 25.4.1 编码标准 25.4.2 分解代码 25.4.3 使用标准的目录结构 25.4.4 文档化和共享内部函数 25.5 实现版本控制 25.6 选择一个开发环境 25.7 项目的文档化 25.8 建立原型 25.9 将逻辑和内容分离 25.10 优化代码 25.10.1 使用简单优化 25.10.2 使用Zend产品 25.11 测试 25.12 进一步学习 25.13 下一章 第26章 调试 26.1 编程错误 26.1.1 语法错误 26.1.2 运行时错误 26.1.3 逻辑错误 26.2 使用变量帮助调试 26.3 错误报告级别 26.4 改变错误报告设置 26.5 触发自定义错误 26.6 巧妙地处理错误 26.7 下一章 第27章 建立用户身份验证机制和个性化设置 27.1 解决方案的组成 27.1.1 用户识别和个性化设置 27.1.2 保存书签 27.1.3 推荐书签 27.2 解决方案概述 27.3 实现数据库 27.4 实现基本的网站 27.5 实现用户身份验证 27.5.1 注册 27.5.2 登录 27.5.3 登出 27.5.4 修改密码 27.5.5 重设遗忘的密码 27.6 实现书签的存储和检索 27.6.1 添加书签 27.6.2 显示书签 27.6.3 删除书签 27.7 实现书签推荐 27.8 考虑可能的扩展 27.9 下一章 第28章 创建一个购物车 28.1 解决方案的组成 28.1.1 创建一个在线目录 28.1.2 在用户购买商品的时候记录购买行为 28.1.3 实现一个付款系统 28.1.4 创建一个管理界面 28.2 解决方案概述 28.3 实现数据库 28.4 实现在线目录 28.4.1 列出目录 28.4.2 列出一个目录中的所有图书 28.4.3 显示图书详细信息 28.5 实现购物车 28.5.1 使用show_cart.php脚本 28.5.2 浏览购物车 28.5.3 将物品添加到购物库 28.5.4 保存更新后的购物车 28.5.5 打印标题栏摘要 28.5.6 结账 28.6 实现付款 28.7 实现一个管理界面 28.8 扩展该项目 28.9 使用一个已有系统 28.10 下一章 第29章 创建一个基于Web的电子邮件服务系统 29.1 解决方案的组成 29.1.1 电子邮件协议:POP3和IMAP 29.1.2 PHP对POP3和IMAP的支持 29.2 解决方案概述 29.3 建立数据库 29.4 了解脚本架构 29.5 登录与登出 29.6 建立账户 29.6.1 创建一个新账户 29.6.2 修改已有账户 29.6.3 删除账户 29.7 阅读邮件 29.7.1 选择账户 29.7.2 查看邮箱内容 29.7.3 阅读邮件消息 29.7.4 查看消息标题 29.7.5 删除邮件 29.8 发送邮件 29.8.1 发送一则新消息 29.8.2 回复或转发邮件 29.9 扩展这个项目 29.10 下一章 第30章 创建一个邮件列表管理器 30.1 解决方案的组成 30.1.1 建立列表和订阅者数据库 30.1.2 上载新闻信件 30.1.3 发送带附件的邮件 30.2 解决方案概述 30.3 建立数据库 30.4 定义脚本架构 30.5 实现登录 30.5.1 新账户的创建 30.5.2 登录 30.6 用户函数的实现 30.6.1 查看列表 30.6.2 查看邮件列表信息 30.6.3 查看邮件列表存档 30.6.4 订阅与取消订阅 30.6.5 更改账户设置 30.6.6 更改密码 30.6.7 登出 30.7 管理功能的实现 30.7.1 创建新的邮件列表 30.7.2 上载新的新闻信件 30.7.3 多文件上载的处理 30.7.4 预览新闻信件 30.7.5 发送邮件 30.8 扩展这个项目 30.9 下一章 第31章 创建一个Web论坛 31.1 理解流程 31.2 解决方案的组成 31.3 解决方案概述 31.4 数据库的设计 31.5 查看文章的树型结构 31.5.1 展开和折迭 31.5.2 显示文章 31.5.3 使用treenode类 31.6 查看单个的文章 31.7 添加新文章 31.8 添加扩充 31.9 使用一个已有的系统 31.10 下一章 第32章 生成PDF格式的个性化文档 32.1 项目概述 32.1.1 评估文档格式 32.2 解决方案的组成 32.2.1 问题与回答系统 32.2.2 文档生成软件 32.3 解决方案概述 32.3.1 提问 32.3.2 给答题评分 32.3.3 生成RTF证书 32.3.4 从模板生成PDF证书 32.3.5 使用PDFlib生成PDF文档 32.3.6 使用PDFlib的一个“Hello World”程序 32.3.7 用PDFlib生成证书 32.4 处理标题的问题 32.5 扩展该项目 32.6 下一章 第33章 使用XML和SOAP来连接Web服务 33.1 项目概述:使用XML和Web服务 33.1.1 理解XML 33.1.2 理解Web服务 33.2 解决方案的组成 33.2.1 使用Amazon的Web服务接口 33.2.2 XML的解析:REST响应 33.2.3 在PHP中使用SOAP 33.2.4 缓存 33.3 解决方案概述 33.3.1 核心应用程序 33.3.2 显示特定种类的图书 33.3.3 获得一个AmazonResultSet类 33.3.4 使用REST发送和接收请求 33.3.5 使用SOAP发送和接收请求 33.3.6 缓存请求返回的数据 33.3.7 创建购物车 33.3.8 到Amazon付账 33.4 安装项目代码 33.5 扩展这个项目 33.6 进一步学习 第34 章使用Ajax构建Web 2.0应用 34.1 Ajax 是什么? 34.1.1 HTTP请求和响应 34.1. 2 DHTML和XHTML 34.1.3 级联样式单(CSS) 34.1.4 客户端编程 34.1.5 服务器端编程 34.1.6 XML和XSLT 34.2 Ajax基础 34.2.1 XMLHTTPRequest对象 34.2.2 与服务器通信 34.2.3 处理服务器响应 34.2.4 整合应用 34.3 在以前的项目添加Ajax元素 34.3.1在PHPBookmark应用中添加Ajax元素 34.4 进一步学习 34.4.1 进一步了解文档对象模型(DOM) 34.4.2 Ajax应用可用的JavaScript函数库 34.4.3 Ajax开发人员网站 第六篇 附录 附录A 安装PHP及MySQL 附录B Web资源 第1章 PHP快速入门教程 第2章 数据的存储与检索 第3章 使用数组 第4章 字符串操作与正则表达式 第5章 代码重用与函数编写 第6章 面向对象的PHP 第7章 错误和异常处理 ……
06-02
CSS(Cascading Style Sheets)是一种用于描述网页样式和排版的语言。通过 CSS,我们可以将网页内容和样式分离开来,从而使得网页的结构和样式更加清晰易于维护。 CSS 由三个部分组成: 1. 选择器(Selector):用于指定要应用样式的 HTML 元素。 2. 属性(Property):用于指定要修改的样式属性,例如颜色、大小、边框等。 3. 值(Value):用于指定修改后的样式属性值,例如红色、16 像素、实线边框等。 CSS 的样式可以写在 HTML 文档的 `<head>` 标签中,也可以单独存储在一个 CSS 文件中,并通过 `<link>` 标签引用。例如: ```html <!DOCTYPE html> <html> <head> <title>My Website</title> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <h1>Welcome to my website!</h1> <p>This is a paragraph.</p> </body> </html> ``` 上述代码中,我们通过 `<link>` 标签引用了一个名为 `styles.css` 的外部样式表文件。该文件中可以包含一系列 CSS 样式,例如: ```css h1 { color: red; font-size: 24px; } p { color: blue; font-size: 16px; } ``` 上述代码中,我们定义了两个样式,一个用于 `<h1>` 标签,一个用于 `<p>` 标签。其中,`color` 属性用于设置文字颜色,`font-size` 属性用于设置文字大小。 这样,当用户访问我们的网页时,浏览器会自动加载 `styles.css` 文件,并将其中的样式应用到网页中的相应元素上。这样,我们就可以通过 CSS 来控制网页的样式和排版。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨MiManchi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值