欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php基础学习笔记(1),php基础学习笔记

程序员文章站 2022-05-21 20:38:03
...

php基础学习笔记(1),php基础学习笔记

表单是什么?——表单不是表格。

用户可以在其中提供一定的数据或信息或选项的一些html元素。表单通常有一个“提交”按钮,然后可以将这些数据据/信息/选项提供给服务器上的程序使用——数据处理。

——表单的核心是数据。

表单标签的构成和形式:

第一个表单项

第二个表单项

。。。。。。。

到底有哪些表单项?

单行文本框:

其他属性:

value:设定其中的初始文字

size:设置其输入框的宽度(单位是“字符宽”)——其中能放置该数量的字符

maxlength:设置该输入框最多能输入的字符个数

readonly:这是一个“无值”属性,表示“只读”,则写法是:readonly=”readonly”

disable: 设置该输入框“无效”,即数据无效。

密码框:

其他属性:

value:设定其中的初始文字

size:设置其输入框的宽度(单位是“字符宽”)——其中能放置该数量的字符

maxlength:设置该输入框最多能输入的字符个数

单选项:

说明:单选项通常必须有value值;

其他属性:

checked: 表示该选项默认是选中的状态。也是一个“无值属性”

name特别说明:一组的单选项要求name值必须相同。

多选项:

说明:多选项通常必须有value值;

其他属性:

checked: 表示该选项默认是选中的状态。也是一个“无值属性”

提交按钮:

说明:点击提交按钮,则表单就会“被提交”,即数据会传入到表单的action所设定的文件中去。

图片按钮:

说明:图片按钮的功能其实也是“提交”,但其显示出来的效果是一张图片——这样有利于美化页面。

重置按钮:

说明:会将表单的所有用户填写或选择的数据恢复到初始状态

普通按钮:

说明:对表单没有影响,但可以从中产生“动作”以实现其他要求(js程序)

文件域:

说明:可以让用户选择本地的文件(并发送到服务器)——文件也是数据。

隐藏域:

说明:界面上不可见,但是作为一份“隐藏的数据”提交给服务器——编程所需。

下拉选择:使用select和option标签配合实现。但要把此当作“一个表单项”

………………….

说明:

option标签上可以使用selected属性,表明该select元素的默认选中的项(默认是第一项被选中)。

select标签上可以使用multiple属性,使该select元素可以“选择多项”(即默认只能选一个)

多行选项(也叫列表选项):多行选项其实只是下拉选择的一种“变形”——设置其size值大于等于就会成多行。

………………….

多行文本框:

说明:

rows设定的行数是一个数字,表示该多行文本框可以显示的文字的行数

cols设定的列数是一个数字,表示该多行文本框可以显示的一行文字中个数

此标签没有value属性。但其实际的“值”是放在此标签中间的所有内容。

注意:表单项都必须有name属性,以表明其“名字”——服务器取其中的数据就是凭此名字。

框架标签

第一个观念:我们在打开的一个“窗口”中总是只会显示一个网页。

但是:

我们其实也可以在一个窗口中打开多个网页——其实其实质还是一个窗口显示一个网页,只是我们会使用某些特定标签(frameset)来将一个“大窗口”分割成若干个“小窗口”。

首先要明确:

1, 使用框架标签(frameset)就不能使用body标签——即body标签使用frameset标签代替

2, 使用frameset标签就要使用framseset文档类型

则具体分割代码如下:

。。。。。。。。。。。。。

cols的值是连续的表示列的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:

cols=”100,800” :表示将大窗口按列分割成两个小窗口,第一个为100宽,第二个为800宽

cols=”100,200,*” :表示将大窗口按列分割成3个小窗口,第一个为100宽,第二个为200宽,其余给第3个

cols=”15%, *”

rows的值是连续的表示行的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:

rows=”100,200,*”

row=”20%, *”

注意:一个frameset只能按某一个方向(列或行)进行分割

css介绍

CSS:Cascading Style Sheet(层叠样式表)

CSS能够让我们将网页从以下两个方面来控制网页的外观:

1, 批量控制网页的外观,使我们节省劳力。

2, 精确控制网页的外观:到像素级别。

css的基本语法形式:

选择器 { css属性名1:值1;css属性名2:值2; ………… }

举例:

font{color:red; font-weight:bold; font-size:18px;}

dt{

font-size:14px;

font-weight:bold;

color:pink;

}

区分两个属性的说法

html属性:写在标签中,形式为: 属性名=“属性值”——此引号可以省略,但墙裂推荐不省略

——也可以叫“标签属性”

——html属性通常是“各个标签的自有属性,一般不一样”

——使用相同html属性的标签极少

css属性: 写在选择器的大括号中,形式为: 属性名:属性值——特别注意,值不可以加引号

——也可以叫“样式属性”

——css属性通常是 “对各个标签都可用”,一般都一样

——不使用相同css属性的标签极少

选择器分类

标签选择器:

形式: 标签名 { …….. }

含义: 指代(对应)网页中的所有该标签都应用其中的属性设置。

类选择器:

形式: .类名 { …… }

含义: 指代(对应)网页中的class的值为该类名的所有标签都应用该属性设置。

举例:

惺惺惜惺惺信息

ID选择器:

形式: #id名{ …… }

含义: 指代(对应)网页中的id的值为该名称的该标签都应用该属性设置。

注意: 通常,一个网页中的id名不要相同,因为id本身就是表示“唯一”的意思。

举例:

惺惺惜惺惺信息

通用选择器:

形式: *{ ….. } ——通用选择器只有这一个形式(符号)

含义: 其自动指代“所有标签”,即所有标签都应用该属性设置

注意: 通用选择器慎用,通常只用于设置基本的几个属性,比如文字颜色,文字大小,padding,margin

伪类选择器:

形式: :伪类名 { …… }

注意: 伪类名其实只有系统内部规定的不多的几个,不是我们自己定义的,比如:link, visited, hover, active.他们的含义也是特定的。通常上述几个伪类只用于a标签,则其形式和含义通常为:

a:link{ …… } :表示一个a链接标签在网页初始打开的时候的状态(初始链接状态)

a:visited{…..} :表示一个a链接标签在点击(访问)过之后的时候的状态(访问后状态)

a:hover{….} :表示一个a链接标签在鼠标放上去的时候的状态(悬停状态)

a:active{….} :表示一个a链接标签在鼠标摁住但还没有抬起的状态(活动状态)。

不过,最新的浏览器中,出于安全考虑,a的hover和visited效果有些属性不能用了。

复合选择器之:层级选择器

形式: 选择器1 选择器2 { ……… }

含义: 在选择器1所对应的标签中由选择器2所对应的那些标签。。。。。其中,选择器1和选择器2可以是前面所学的任意某种选择器,而且这种层级关系还可以多层次,比如:

#d1 div{…}

.cc1 p span{…..}

p .cc2 img{…..}

#d1 p a:hover{….}

举例:

div p{ color: red;}

段落1

段落2

复合选择器之:分组选择器

形式: 选择器1,选择器2 { ……… }

含义:指这两个选择器都使用同样的属性设置,其实无非是简缩代码的一种写法,否则他们得用两个选择器来写。

.a {color:red; font-size:15px;}

.b{ color:red; font-size:15px;}

è

.a, .b{ color:red; font-size:15px;}

其他复合形式(举例):

div.cc1{…} :代表具有class值为cc1的div标签,它跟 div .cc1{…}是完全不同的。

p#d1{…} :代表具有id值为d1的p标签,但这种形式其实并不推荐(意义不大)。

框架:

框架标签是用于将“当前窗口”进行瓜分成更小窗口的一种技术。framseset代替body标签,并要使用框架文档类型。

。。。。。。。

css基本概念:

css是用于这样一个目的: 将网页中的某个(些)标签(元素)的某(些)方面特性设置为某(些)个值。

css的语法基本模式为:

选择器 { css属性1:值1;css属性2:值2;……… }

所谓选择器,其实就是某种可以对应到网页中的某个(些)标签的语法形式。

css选择器分类:

标签选择器:

一个英文单词{….}

所谓一个英文单词,其实也就是一个应该存在的标签名

类选择器(class选择器)

.类名{…}

啊啊啊啊啊

php基础学习笔记(1),php基础学习笔记

id选择器:

#id名{…..}

特别注释:title, class, id就是我们所谓的“通用属性”——即谁都可以用。

通用选择器:

*{….}

伪类选择器:

a:link{…}

a:visited{…}

a:hover{。。。}

a:active{….}

注意:上述4个伪类用于a标签通常就必须按上述顺序写。

另外,实际应用中,常常简化为这样:

a{……}

a:hover{….}

含义是:a连接标签只分“鼠标放上去状态”和“其他状态”

层级选择器:

选择器1 选择器2{。。。。。}

分组选择器:

选择器1, 选择器2{。。。。。}

文字段落的样式属性

color:设定一个标签中的文字的颜色,颜色值可以使用英文单词,16进制语法和rgb语法:

color: red; color: #f0fcf8; color:rgb(123, 88, 205);

font-size: 设定文字大小,单位通常为像素(px)—— 一般的商业网站的文字大小通常都是12px。

font-weight: 设置文字粗体(bold)或非粗体(normal)。

font-style: 设置文字斜体(italic) 或非斜体(normal)

font-family:设置文字的字体名字,可以使用多个字体名,中间用逗号分开,表示的含义是:首先使用第一个字体,如果用户电脑中没有第一个,则是用第二个,以此类推。举例:

font-family: 宋体,仿宋,微软雅黑,arial, “Times New roman”;

line-height:设置文字的行高,单位通常也是px,即一行文字所占据的空间高度——行高不是文字的高度。

letter-spacing:设置字符(或字母)之间的间隔距离,中文其实就是“字”的间隔。

word-spacing:设置单词之间的间隔距离——通常只对西方拉丁语系的字符有效。

text-align:设定文字的水平对齐方式。其功能是相当于标签属性中的align属性。但要注意:align作为html属性,其实只在其中的某几个标签中使用,但text-align是几乎所有标签都可以用的。

text-indent: 设定一个段落中的首行缩进距离,单位通常也是px。

text-decoration:设置文字的“修饰线”:下划线(underline),中划线(line-through),上划线(overline),none(无)

vertical-align: 设定文字在一个表格盒子(单元格)的垂直对齐方式:top(顶对齐),middle(中对齐),bottom(底对齐)

盒子模型初步

盒子是css中最重要的概念。

盒子

首先先建立一个观念: 几乎所有标签其实都是一个盒子——而所谓盒子,无非就是一个“矩形的区域范围而已”。其实所谓网页,无非是一个盒子套一个盒子。

一个盒子有如下一些区域(结构)构成:

边框(border):一个线型的区域,可以是实线或虚线或其他形状。

外边距(margin):也叫“边界”,边框线之外的一块空白区域,其含义是“不能放置物体”

内边距(padding):也叫“补白”,边框线之内的一块空白区域,其含义也是“不能放置物体”

内容区(没有对应的css属性名):指一个盒子中可以放置“物体”的区域——也就是盒子的主要区域。其中放置的物体可以是普通的文字或其他标签——对应我们之前学的html中的“内容部分”。内容区通常只能设置其宽高属性(width,height)。

一个盒子的各个组成部分由下图所示:

网页设计中的“内容与表现分离”思想

我们以前学习html,说,标签具有“表形表意”之作用。其实也可以说,内容和其表现混在一起。

现在:

css技术其实可以将一个网页中的各个标签的表现都“提出来”放到一个专门的地方(比如style标签中),剩余的部分(标签和文字内容等)被整体上称为“结构/内容”。这种做法就被称为“内容与表现分离思想”

盒子的两种初始状态(基本表现):

类似div的盒子:一个盒子自动“占据一行”(不管其内部内容多少):这就是“块盒子”(块元素)。常用块盒子:

p, hr, h1~h6, table, form, ul, li, ol, dl, dt, dd, blockquote, pre,

特点:可以设置固定的宽高,margin,padding,

类似span盒子:一个盒子中的内容会跟同类的盒子并排在一行出现,除非该行已满,则会自然到下一行——类似文字的表现特性。:这就是行内盒子(行内元素)。行内盒子通常放“最终的数据内容”,比如文本,图片。其他行内盒子:

b, strong, font, i, u, a, img, input, textarea, select,

特点:宽高不能设定,而是由其内容“撑出”,margin和padding没有上下方面的表现。

通常,行内盒子是“小盒子”,块盒子是“大盒子”,

布局初步(原理)

所谓布局,其实是指的将网页内容以一定的方式放到合适的位置上去。

布局的基本步骤:

1, 将“当前版面”以视觉上界限明显的方式进行划分若干个区块,划分只用两种方式:

a) 上下结构:此时,只要使用若干个盒子,自然就是上下结构,无需其他设置。

b) 左右结构:此时使用若干个盒子,并进行相应的浮动,通常的模式:

浮动解释:

浮动就像水中的气泡,会“网上浮”

更形象的比喻:大家(所有标签)都在“地面上平铺着”,各自占据着一定的面积,浮动元素却“浮”到天花板上去了,其并占据大家通常的“地面面积”。

浮动除了表现上不跟别的元素抢占地盘之外,其最主要的特性(也就是破坏效果)其实是:使其父盒子失去合理高度——父盒子已经包不住其这些浮动的内部盒子了!这在布局中基本上是不允许的!那么我们就必须使用补充的做法来实现合理包含——父盒子包住子盒子。让父盒子获得正确有效高度的方法有3个:

1, 给父盒子设置一个固定的高度——通常设计时已知高度且不回改变的时候。

2, 给父盒子的内部最末尾加一个清除浮动的空盒子,如下:

3, 给父盒子设置一个css属性:overflow:hidden;

则最好总结:布局需要左右排列,左右排列需要浮动,浮动需要修正其破坏效果——让父盒子合理包住其子盒子。

相关标签: php