超文本标记语言(HTML)是超文本标记语言。“超文本”是指页面可以包含图片、链接、音乐等非文本元素。
它是一种建立网页文件的语言,通过标记式的指令(Tag),将影像、声音、图片、文字等链接显示出来。这种标记性语言是因特网上网页的主要语言。
HTML 网页文件可以使用记事本、写字板、HBuilder、Sublime 等编辑工具来编写,以 .htm 或 .html 为文件后缀名保存。将 HTML 网页文件用浏览器打开显示,若测试没有问题则可以放到服务器(Server)上,对外发布信息。
基础语法
标签
HTML 标记是由"<"和">"所括住的指令标记,用于向浏览器发送标记指令。
主要分为:单标记指令、双标记指令(由"<起始标记>"+内容+"</结束标记>"构成)。
HTML语言使用标志对的方法编写文件,既简单又方便。它通常使用"<标志名>内容</标志名>"来表示标志的开始和结束,因此在HTML文档中这样的标志对都必须是成对使用的。
为了便于理解,将HTML标记语言大致分为:基本标记、格式标记、文本标记、图像标记、表格标记、链接标记、表单标记和帧标记等。
单标签
单标签,不设置属性值。
如:
、
单标签属性
单标签(也叫空元素),设置属性值。如:
双标签
双标签,不设置属性值。如:
…
双标签属性
双标签,设置属性值。如:
……
整体结构
HTML的内容都是由一对一对的标签组成,标签不能混乱,页面有页面的整体架构和规则,标签和标签之间有需要正确嵌套。
通常一个HTML网页文件包含3个部分:标记头区<HEAD>......</HEAD>、内容区<BODY>......</BODY>和网页区<HTML>......</HTML>。
HTML文档的基本结构
html
<html>标志用于HTML文档的最前边,用来标识HTML文档的开始。而</html>标志放在HTML文档的最后边,用来标识HTML文档的结束,两个标志必须一块使用。
head
<head>和</head>构成HTML文档的开头部分。<head>和</head>标志对之间的内容是不会在浏览器的框内显示出来的,两个标志必须一块使用。
在此标志对之间可以使用<title></title>、<script></script>、<meta>、<link>等标签。
<meta>:用来提供关于文档的信息,起始属性为:charset="utf8"。表示告诉浏览器页面采用的什么编码,一般来说我们就用 utf8。当然,文件保存的时候也是utf8,而浏览器也设置 utf8 即可正确显示中文。
<link>:用来引入css文件
<script>:用来引入js文件或编写js代码。
title
<title>定义文档的标题。浏览器会以特殊的方式来使用标题,并且通常把它放置在浏览器窗口的标题栏或状态栏上。同样,当把文档加入用户的链接列表或者收藏夹或书签列表时,标题将成为该文档链接的默认名称。
注意:<title>标签位于<head>标签内,是<head>标签中唯一要求包含的东西。
body
一般情况下大部分浏览器上显示的内容,都放在body中。但也不排除其他标签可以不用body,比如frameset框架集标签。
和是HTML文档的主体部分,在此标志对之间可包含
、、<p>…</p>、<h1>…</h1>、
等众多的标志。它们所定义的文本、图像等将会在浏览器的框内显示出来。
常用属性
属性
值
描述
bgcolor
xxxxxx:十六进制的数字,00-ff
colorname:Red、Green...
rgb(x,x,x):red、green、blue,x:0-255
规定文档的背景颜色,以后可以用样式取代它
text
rgb(x,x,x) #xxxxxx colorname
规定文档中所有文本的颜色,以后可以用样式取代它
DOCTYPE
Document Type HyperText Mark-up Language,文档中超文本标记语言的类型,可告知浏览器怎么解析该文档。
由于使用的场景或者版本的更替间,HTML使用的标准不同,所以需要浏览器按照不同的标准来解析HTML文本内容,这就需要告知浏览器我当前的HTML页面是按照那种方式进行编写的。没有该声明,将是你HTML噩梦的开始。
常用标签
HTML页面是由标签组成,不同的标签浏览器对其进行不同样式和内容的渲染 ,我们需要记忆常用的标签即可。大致可分为如下几类:标题、水平线、段落、换行、图片、表格、超链接、列表、表单、下拉列表、div 和 span等。
标题和水平线
标题
<h1> - <h6> 标签可定义标题,标题依次递减,由于 h
元素拥有确切的语义,因此请慎重地选择恰当的标签层级来构建文档的结构。请不要利用标题标签来改变同一行中的字体大小。相反,我们应当使用层叠样式表定义来达到漂亮的显示效果。
<h999>这样的标签不产生错误,但是不具有标题的效果。
h1标签可以为搜索引擎获取,便于页面在被搜索的时候检索到,但是一个页面最好只有一个h1标签,否则可能进入搜索引擎的黑名单。
水平线
标签在 HTML 页面中创建一条水平线(horizontal rule)可以在视觉上将文档分隔成各个部分。在 HTML 中,
标签没有结束标签。
常用属性
属性
值
描述
align
CenterLeftright
规定 hr 元素的对齐方式,以后可以用样式取代它
size
pixels
规定 hr 元素的高度(厚度),后可以用样式取代它
width
Pixels%
规定 hr 元素的宽度,后可以用样式取代它
段落和换行
段落
<p>标签定义段落。p 元素会自动在其前后创建一些空白。浏览器会自动添加这些空间,您也可以在样式表中规定。
理解:语文课本中各个段落之间会有大的空隙。
常用属性
属性
值
描述
align
left、right、center、justify
规定段落中文本的对齐方式,以后可以用样式取代它
换行
br标签为换行符号,
标签是空标签(意味着它没有结束标签,因此这是错误的:
)。
注意:
标签只是简单地开始新的一行,而当浏览器遇到
标签时,通常会在相邻的段落之间插入一些垂直的间距。请使用
来输入空行,而不是分割段落。
列表
无序列表
由
和
子元素选择器
用于选择指定标签元素的所有第一代子元素,以大于号分隔
选择器1 + 选择器2 {
......
}
#d+div{border:1pxsolid red;}
html代码同上
相邻兄弟选择器
可选择紧接在另一元素后的元素,且二者有相同父元素。以加号分隔
选择器1 + 选择器2 {
......
}
#d+div{border:1pxsolid red;}
相邻兄弟选择器1
- 开心麻花
- 贾玲
- 宋小宝
相邻兄弟选择器2
普通兄弟选择器
选择紧接在另一个元素后的所有元素,而且二者有相同的父元素,以波浪线分隔
选择器1 ~ 选择器2 {
......
}
li~li{background-color : yellow;}
普通兄弟选择器1
- 开心麻花
- 贾玲
- 宋小宝
- 沈腾
- 王宁
CSS常用属性设置
背景
CSS 背景属性用于定义HTML元素的背景效果
background-color
设置元素的背景颜色
body{background-color:#ff0000;}
background-image
设置元素的背景图像,默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体。
body{background-image:url(';);}
background-repeat
设置是否及如何重复背景图像
body{background-image:url(img);background-repeat: no-repeat;}
文本
color
body{color:blue;}h1{color:#00ff00;}h2{color:rgb(255,0,0);}
text-align
设置文本对齐方式,center(居中),left(左对齐),right(右对齐)
body{text-align:center;}h1{text-align:right;}h2{text-align:right;}
text-decoration
规定添加到文本的修饰,属性值:none、underline、overline、line-through
1)underline
对文本添加下划线,与HTML的u元素相同。
2)overline
对文本添加上划线。
3)line-through
对文本添加中划线,与HTML中的s和 strike 元素相同。
4)none
关闭原本应用到元素上的所有装饰。
h3{text-decoration:underline;}
text-indent
设置文本首行缩进
p.ident2{text-indent:2em;}
em一个相对值,例如页面的文本大小为17px,则2em就为17px*2
字体
font-family
文本字体,该属性设置文本的字体。
font-family属性应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体,所以尽量将不常见的字体靠前,将最常见的字体放置在最后,作为替补。
注意:
1)只有当字体名中含有空格或#、$之类的符号时(如 New York),才需要在font-family声明中加引号:
body{font-family:"arial black";}
2)多个字体系列是用一个逗号分隔指明
/* 靠前的字体先生效 */p{font-family: 微软雅黑,黑体,"agency fb";}
font-size
文本大小
body{font-size:50px;/*字体大小50px*/}#span1{font-size:25px;/*字体大小25px*/}
font-style
字体风格,该属性最常用于规定斜体文本。 属性值:normal、italic、oblique
1)normal:文本正常显示;
2)italic:文本斜体显示;
3)oblique:文本倾斜显示,oblique是将文字强制倾斜。
说明:一般情况下,字体有粗体、斜体、下划线、删除线等诸多属性,但是不是所有字体都具有这些属性,一些不常用字体可能只有正常体,若使用italic属性则没有效果,所以需要oblique属性强制倾斜。
font-weight
字体加粗,该属性设置文本的粗细。
bold:可以将文本设置为粗体。
100 ~ 900:为字体指定了 9 级加粗度。如果一个字体内置了这些加粗级别,那么这些数字就直接映射到预定义的级别。
100 对应最细的字体变形;
900 对应最粗的字体变形;
400 等价于 normal;
700 等价于 bold。
对齐方式
text-align
规定元素中的文本的水平对齐方式。属性值如下:
注意:
值 justify 可以使文本的两端都对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。对最后一行不生效。
display属性
display 属性规定元素应该生成的框的类型。这个属性用于定义建立布局时元素生成的显示框类型。
浮动
float的属性值有none、left、right。
1.只有横向浮动,并没有纵向浮动。2.会将元素的display属性变更为block。3.浮动元素的后一个元素会围绕着浮动元素(典型运用是文字围绕图片)4.浮动元素的前一个元素不会受到任何影响(如果你想让两个块状元素并排显示,必须让两个块状元素都应用float)。
盒子模型
border、padding、margin三个属性构成了盒子模型。
border
设置所有的边框属性。
1)可同时设置边框的宽度、样式、颜色
table,th,td{border:1pxsolid black; }table{width:100%;height:50px; }
2)使用border-width、border-style、border-color单独设置
table,td{border-width:1px;border-style: dotted;border-color: green;}
3)border-style的属性
4)border-collapse
设置是否将表格边框折叠为单一边框。
属性值:separate(默认,单元格边框独立)、collapse(单元格边框合并)
table{border-collapse : collapse; }
padding
设置元素所有内边距的宽度,或者设置各边上内边距的宽度。
如果在表的内容中控制文本到边框的内边距,使用td和th元素的填充属性:
td{padding:15px;}
单独设置各边的内边距:padding-top、padding-left、padding-bottom、padding-right
<font color="red">默认按照上右下左的顺序设定</font>
{padding:1.5cm}{padding:0.5cm2.5cm}
这个表格单元的每个边拥有相等的内边距。
这个表格单元的上和下内边距是0.5cm,左和右内边距是 2.5cm。
注意:通过padding属性设置元素内边距时,会使元素变形。若不想影响格式效果,可以用margin属性设置元素外边距。
margin
设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。
p.margin{margin:2px4px3px4px;}
单独设置各边的外边距:margin-top、margin-left、margin-bottom、margin-right
p.margin{margin-top:100px;margin-bottom:100px;margin-right:50px;margin-left:50px; } *{margin: auto auto;} *{margin:100pxauto;}
说明:
auto:自动,可以理解为居中的意思。浏览器自动计算外边距。
margin: auto auto:第一个auto表示上下外边距自动计算,第二个auto表示左右外边距自动计算