HTML概述
超文本标记语言。
超文本:页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
超文本标记语言的结构包括”头”(head)部分、”主体”(body)部分,其中”头”部提供关于网页的信息,”主体”部分提供网页的具体内容。
HTML的作用
用于编写网页。通过浏览器看到的大部分页面都是由HTML编写的,在浏览器访问网页时,可通过“右键--查看网页源代码”看到具体的html代码。
网页内容包括:html代码、CSS代码、JavaScript代码等内容。
html代码:用于展示需要显示的数据。
CSS代码:使显示的数据更加美观。
JavaScript代码:使整个页面显示的数据具有动画效果。
网页根据内容是否改变分为:静态页面、动态页面
静态:编写之后在浏览器不再改变的网页。(例如html)
动态:会根据不同的情况展示不同的内容。(登陆后显示用户名)
HTML语言特点
(1)HTML文件不需要编译,直接使用浏览器阅读即可
(2)HTML文件的扩展名是*.html或*.htm
(3)HTML结构都是由标签组成:
标签名预先定义好的,我们只需要了解其功能即可
标签名不区分大小写
通常情况下标签由开始标签和结束标签组成(例如<a> </a>)
如果没有结束标签,建议以/结尾(例如<img />)
Test.html(代码用蓝色字体突出显示 <!--注释内容-->)
<html> <!--整个页面的根标签,一个页面只需要一对-->
<!--head 头标签,用于引入脚本、导入样式、提供元信息等,一般情况下头标签的内容在浏览器端都不显示-->
<head>
<meta charset = “UTF-8”> <!--设置字符值-->
<title>标题</title> <!--子标签,用于显示浏览器标题-->
</head>
<!--body 体标签,是整个网页的主体,html代码都放在这里面-->
<body>
正文部分
</body>
</html>
<h1>标题标签
有<h1>、<h2>、<h3>、<h4>、<h5>、<h6>六个级别的标题
<h1>定义最大的标题(字体最大),<h6>定义最小的标题。
<hr>水平分割线
在HTML页面中创建一条水平分割线,用于定义内容中的主题变化。
size属性:水平线的粗细程度,单位为像素
noshade属性:没有阴影,取值:noshade,表示显示纯色
<font>字体标签
用于设置字体尺寸大小,字体颜色等
size属性:设置字体大小,浏览器默认值是3,范围[1-7]
color属性:设置字体的颜色( #FFFFFF(#FFF) 或red )
<b><i><u>格式化标签
<b>加粗、<i>倾斜、<u>加下划线
<p><br/>段落标签
<p>定义段落,此标签会自动在其前后创建一些空白
<br/>插入单个换行(间距几乎为0)
<img/>图片标签
src:指定需要显示图片的url (路径)
alt:图片无法显示时替代的文本
width:设置图像的宽度
height:设置图像的高度
<ul><ol>列表标签
<ol>定义有序列表
type列表类型,取值A、a、I、i、1等
<ul>定义无序列表
type符号的类型,取值:disc实心圆、square方块、circle空心圆
<li>定义列表项。是<ul>和<ol>的子标签。
<a>超链接标签
是在html页面提供一种可以访问其他位置的实现方式。
href:用于确定需要显示页面的路径(url)
target:确定以何种方式打开href所设置的页面。
_blank在新窗口打开href确定的页面
_self(也是默认值)使用href确定的页面替换当前页面
<table>表格标签
<table>是父标签,相当于整个表格的容器
border表格边框的宽度
width表格的宽度
cellpadding单元格边沿与其内容之间的空白
cellspacing单元格之间的空白
bgcolor表格的背景颜色
<th>标签用于定义表头。单元格内的内容默认居中、加粗。
<tr>标签用于定义行
<td>标签用于定义表格的单元格(一个列)
colspan单元格可横跨的列数
rowspan单元格可横跨的行数
align单元格内容的水平对齐方式,取值:left、right、center
nowrap单元格中的内容是否允许折行
<frameset>框架标签
是多个窗口页面整合在一起的一个集合(框架集)。每一个页面(框架)都是单独文档,需要使用子标签<frame>来确定页面的位置。<frameset>通过列和行来确定整体布局,使用cols确定列数,使用rows确定行数。多个<frameset>可以嵌套使用。
<frameset>和<body>两个不能共存。
rows属性和cols属性取值:值1,值2,值3......一个值表示一行(列),多值使用逗号分隔,值可以是10px、10%等,最后一个值如果不想计算可以使用*匹配剩余量。
<frame>框架子标签,用于设置<frameset>框架集中的一个页面(框架)
src属性:确定页面的路径
noresize属性:框架分隔先不能移动
target属性:确定需要显示的页面在何处显示
<form>表单标签
action属性:请求路径,确定表单提交到服务器的地址(路径)
method属性:请求方式。常用的取值:get、post
get(默认值):
提交的数据追加在请求路径上。例如:/1.html?username=jack&password=1234,数据格式k/v,追加是使用?连接,之后每一对数据使用&连接。
数据不安全,数据都会在地址栏显示,数据不能太长,否则提交失败。文件上传等不用get请求。
因为请求路径长度有限,所有get请求提交的数据有限。
post:
提交的数据不再请求路径上追加(即不显示在地址栏上)。
提交的数据大小不显示。不在地址栏显示,数据在请求体里面。走网络协议,有请求头和请求体。提交内容长度不限制。
<input>输入域标签
<input>标签用于获得用户输入信息,type属性值不同,搜集方式不同。最常用的标签。
type属性:
text文本框,单行的输入字段,用户可在其中输入文本。默认宽度为20个字符。
password密码框,密码字段。该字段中的字符以黑圆显示。
radio单选框,表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变成非选中的。
submit提交按钮,提交按钮会把表单数据发送到服务器。一般不写name属性,否则将“提交”两个字提交到服务器。
checkbox复选框
file文件上传组件,按下“浏览”可以选择需要上传的文件
hidden隐藏字段,数据会发送给服务器,但浏览器不显示
reset重置按钮,将表单恢复到默认值
image图形提交按钮,通过src给按钮设置图片
button普通按钮,常用于JavaScript结合使用
name属性:元素名,如果需要表单数据提交到服务器,必须提供name属性值,服务器通过属性值获得提交的数据。
value属性:设置input标签的默认值。Submit和reset为按钮显示数据。单选框和复选框必须手动给出value属性值
size属性:标签大小
checked属性:单选框或复选框被选中
disabled属性:是否可用
maxlength属性:允许输入的最大长度
文件上传需要用到的属性:enctype="multipart/form-data"
Ctrl+/ 注释的快捷键 Shift+回车键 生成<br />标签快捷键
<select>下拉列表标签
可以进行单选或多选。需要使用子标签<option>指定列表项
name属性:发送给服务器的名称
multipe属性:不写默认单选,取值为“multiple”表示多选
size属性:多选时,可见选项的数目。
option子标签:下拉列表中的一个选项(一个条目)
selected勾选当前列表项
value发送给服务器的选项值
<textarea>文本域标签
多行的文本输入控件
cols属性:文本域的列数
rows属性:文本域的行数
<button>按钮标签
<button type=”button|reset|submit”>按钮标签一般很少使用,提供“普通|重置|提交”功能,不同的浏览器默认值不同。
div块级元素
div就是html一个普通标签,进行区域划分。特性:独自占一行。独自不能实现复杂效果。必须结合CSS样式进行渲染,<div>可定义文档中的分区或节(division/section)。
<div>标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。
如果用id或class来标记<div>,那么该标签的作用会变得更加有效。
CSS概述
CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(高宽、边框样式、边距等)以及版面的布局等外观显示样式。
CSS可以是HTML页面更好看,CSS色系的搭配可以让用户更舒服,CSS+DIV布局更加灵活,更容易绘制出用户需要的结构。
CSS(Cascading Style Sheets)层叠样式表
样式:给HTML标签添加需要显示的效果。
层叠:使用不同的添加方式。给同一个HTML标签添加样式,最后所有的样式都叠加到一起,共同作用于该标签。
CSS样式规则
使用HTML时,需要遵从一定的规范。
格式:选择器{属性1:属性值; 属性2:属性值; ...}
“选择器”用于指定CSS样式作用的HTML对象,花括号内是对该对象设置的具体样式。属性和属性值以键值对的方式出现,使用英文冒号分隔,多个属性之间使用英文分号分隔。
CSS样式结构中的几个特点:
CSS样式”选择器”严格区分大小写,”属性”和”属性值”不区分大小写。
多个属性之间必须用英文状态下的分号隔开,最后一个属性后的分号可以省略,为了便于增加新样式最好保留。
如果属性的值由多个单词组成且中间包含空格,则必须为这个属性值加上英文状态下的引号。
在编写CSS代码时,为了提高代码的可读性,通常会加上CSS注释。
在CSS代码中,空格是不被解析的,花括号以及分号前后的空格可有可无。可以使用空格键、Tab键、回车键等对样式进行排版。
注意:属性的值和单位之间是不允许出现空格的,否则浏览器解析时会出错。
引入CSS样式
CSS使用非常灵活,可以嵌入在HTML文档中,也可以是一个单独的文件,如果是单独的文件,则必须以.css为扩展名。
CSS与HTML的结合的3种常用方式:
(1)行内样式:是通过标签的style属性来设置元素的样式。
行内样式是通过标签的属性来控制样式,这样并没有做到结构与表现(HTML展示结构、CSS显示效果)相分离,所以一般很少使用。
(2)内部样式:又称为内嵌式,是将CSS代码集中卸载HTML文档的<head>头部标签体中,并且使用<style>标签定义。
内嵌式CSS样式只对其所在的HTML页面有效,可以对多处标签统一设置样式,因此,仅设计一个页面时,使用内嵌式是个不错的选择,但如果是一个网站,不建议使用这种方式,因为不能发挥CSS代码的重用性。
(3)外部样式:又称为链入式,是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过<link>标签将样式连接到HTML文档中。
链入式最大的好处是同一个CSS样式表可以被不同的HTML页面链接使用,同时一个HTML页面也可以通过多个<link/>标记链接多个CSS样式表。
选择器
要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器。
(1)元素选择器
是指用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的CSS样式。语法如下:
标记名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该语法中,所有的HTML标记名都可以作为标记选择器,例如body、h1、p、strong等。用标记选择器定义的样式对页面中该类型的所有标记都有效。
标记选择器最大的优点是能快速为页面中同类型的标记统一样式,同时这也是它的缺点,不能设计差异化样式。
(2)ID选择器
ID选择器使用”#”进行标识,后面紧跟ID名,语法如下:
#ID名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该语法中,ID名即为HTML元素的ID属性值,大多数HTML元素都可以定义ID属性,元素的ID值是唯一的,只能对应与文档中某一个具体的元素。
(3)类选择器
使用”.”(英文标点)进行标识,后面紧跟类名,语法如下:
.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该语法中,类名即为HTML元素得到class属性值,大多数HTML元素都可以定义class属性。类选择器最大的优势是可以为元素对象定义单独或相同的样式。
标签选择器和类选择器共同作用的效果:
类选择器的高级用法:给指定的标签设置class样式
标签.类名类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
扩展:属性选择器,在标签后面使用中括号标记,语法如下:
标签名[标签属性=’标签属性值’]{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该选择器,是对”元素选择器”的扩展,对一组标签进一步过滤。
扩展:包含选择器,两个标签之间使用空格,给指定父标签的后代标签设置样式,可以方便在区域内编写样式。
父标签 后代标签{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
该选择器,是对”元素选择器”的扩展,对一个标签内部所有后代标签进行过滤。
CSS样式
边框和尺寸:border、width、height
border:设置边框的样式
格式:宽度 样式 颜色
例如:style=”border:1px solid #f00”,1像素实边红色
样式取值:solid实线,none无边,double双线等
width、height:用于设置标签的宽度、高度。
转换:display
HTML提供了丰富的标签,这些标签被定义成了不同的类型,一般分为:块标签和行内标签。
块标签:以区域块方式出现。每个块标签独自占据一整行或多行。常见的块标签元素:<h1>、<div>、<ul>
行内元素:不必在新的一行开始,同时也不强迫其他元素在新的一行显示。常见的行内元素:<span>、<a>
在开发中,希望行内元素具有块元素的特性,需要使用display进行转换
选择器{display: 属性值}
常用的属性值:
inline:此元素将显示为行内元素(行内元素默认的display属性值)
block:此元素将显为块元素(块元素默认的display属性值)
none:此元素将被隐藏,不显示,也不占用页面空间。
字体:color、font-size
color:颜色,字体颜色
背景色:background-color
布局:float、clear
通常默认的排版方式,将页面中的元素从上到下一一罗列,而实际开发中,需要左右方式进行排版,就需要使用浮动。
选择器{float:属性值;}
常用属性值:
left:元素向左浮动
right:元素向右浮动
none:元素不浮动(默认值)
由于浮动元素不再占用源文档流的位置,它会对页面中其他元素的排版产生影响。如果要避免影响,需要使用clear属性进行清除浮动。
选择器{clear:属性值;}
常用属性值:
left:不允许左侧有浮动元素(清除左侧浮动的影响)
right:不允许右侧有浮动元素(清除右侧浮动的影响)
both:同时清除左右两侧浮动的影响
CSS的盒子模型
CSS框模型(Box Model)规定了元素框处理内容、内边距、边框和外边距的方式。
内边距:padding
可以按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值:
单边内边距属性,也可以使用下面四个单独的属性,分别设置:
padding-top、padding-right、padding-bottom、padding-left
边框:border
Border-top-style、border-right-style、
border-bottom-style、border-left-style
外边距:margin
margin-top、margin-right、margin-bottom、margin-left
div和span比较
div是块级元素,默认独自占一行。
span行内元素,默认所有的在一行。都可以进行区域划分。
通过CSS对其进行转换:display:block/none;