HTML
HTMl是超文本标记语言: HyperText Markup Language。不是编程语言
.
特征:html对空格和换行不敏感,有空白折叠现象(多个空格会看成一个空格)
html结构
<!--文档的声明-->
<!doctype html>
<html lang="en">
<head>
<!-- 网站配置-->
<meta charset="UTF-8">
<!-- 手机浏览器的配置-->
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<!-- ie渲染等级-->
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!--关联css样式表-->
<link rel="stylesheet" href="./index.css">
<!-- 直接在html文件中写样式-->
<style type="text/css">
h2{
color: blue;
}
</style>
<!-- 标题标签-->
<title>Document</title>
</head>
<body>
<h1>h1大标题</h1>
<h2>h2标题</h2>
正文:123中文测试
</body>
</html>
index.css文件
h1{
color: crimson;
}
写样式的两种方法:
- 放在css文件中,通过link关联
(推荐)
- 直接在html文件中通过style写。
字体标签
h1~h6:标题标签
<front>
<u>:下划线
<b>:加粗
<strong>:加粗
<em>:斜体
<i>:斜体
<sup>
:52 5的2次方 2为上标
<sub>
:52 2为下标
单闭合标签
<br /> :换行
<hr /> :分割线(一条从左到右的直线)
一个空格
排版标签
<div>
division“分割”.必须单独占据一行。align="属性值":设置块儿的位置。属性值可选择:left、right、 center
<span>
span的语义就是span“范围、跨度”。
<span>和<div>唯一的区别在于:<span>是不换行的,而<div>是换行的。
div标签是一个容器级标签,里面什么都能放,甚至可以放div自己。
span也是表达“小区域、小跨度”的标签,但是是一个文本级的标签。
就是说,span里面只能放置文字、图片、表单元素。 span里面不能放p、h、ul、dl、ol、div。
<p>:段落
是英文paragraph的缩写.属性:align='属性值':对齐方式。属性值包括:left、center、right
p标签是一个文本级标签。只能放文字、图片、表单元素。其他的都不能放。
超链接标签
<a href="http://www.baidu.com" target='_self'>百度一下</a>
- target属性,默认是_self。在本身标签页上跳转到链接。如果设置为_blank,则会打开新的标签页跳转到链接。
- 实现标签内部跳转:
<a href="#other" target='_self'>跳转到id为other的标签</a>
<a href="#" target='_self'>默认点击行为,没有事件发生</a>
可以通过href="javascript:void(0);"
来阻止a标签的默认点击行为。
a标签清除下划线
a{
text-decoration:none;
}
img标签
<img src="./123.png" alt='图片加载失败' width='100'>
src为链接的图片资源,当图片加载失败时,会提示alt中的内容.
当想缩放图片时,设置想要的宽度大小,会自适应的设置长度,进行缩放。
行内标签与块级标签
- 行内标签
(1)在一行内显示 span strong em i del a
(2)不能设置宽高 默认的宽和高 是内容填充出来的
1.1 行内块标签 img input
(1)在一行内显示
(2)可以设置宽高 - 块级标签 div p h1~h6
(1)独占一行
(2)可以设置宽高,如果不设置宽和高,那么宽是继承父亲的100%,高是由内容填充的高度.
列表标签
<ul>
unordered list 无序标签。ul下是<li>,是list item的意思。
ul下只能接li;但是li是一个容器级标签,li里面什么都能放。甚至可以再放一个ul。
type 默认是实心点,circle是圆心,square是方块。
<ol>
ordered list。有序列表,下面也是li
type="属性值"。属性值可以是:1(阿拉伯数字,默认)、a、A、i、I。结合start属性表示从几开始。
<dl>
definition list。定义列表。没有属性。dl的子元素只能是dt和dd。
- <dt>:definition title 列表的标题,这个标签是必须的
- <dd>:definition description 列表的列表项,如果不需要它,可以不加
表格标签
table>td>tr
td是一行,tr一个单元格
table的属性
border:边框。像素为单位。
style="border-collapse:collapse;":单元格的线和表格的边框线合并
width:宽度。像素为单位。
height:高度。像素为单位。
bordercolor:表格的边框颜色。
align:表格的水平对齐方式。属性值可以填:left right center。
注意:这里不是设置表格里内容的对齐方式,如果想设置内容的对齐方式,要对单元格标签<td>进行设置)
cellpadding:单元格内容到边的距离,像素为单位。默认情况下,文字是紧挨着左边那条线的,即默认情况下的值为0。
注意不是单元格内容到四条边的距离哈,而是到一条边的距离,默认是与左边那条线的距离。如果设置属性dir="rtl",那就指的是内容到右边那条线的距离。
cellspacing:单元格和单元格之间的距离(外边距),像素为单位。默认情况下的值为0
bgcolor="#99cc66":表格的背景颜色。
background="路径src/...":背景图片。
背景图片的优先级大于背景颜色。
tr的属性
dir:公有属性,设置这一行单元格内容的排列方式。可以取值:ltr:从左到右(left to right,默认),rtl:从右到左(right to left)
bgcolor:设置这一行的单元格的背景色。
注:没有background属性,即:无法设置这一行的背景图片,如果非要设置,可以用css实现。
height:一行的高度
align="center":一行的内容水平居中显示,取值:left、center、right
valign="center":一行的内容垂直居中,取值:top、middle、bottom
td的属性
align:内容的横向对齐方式。属性值可以填:left right center。
如果想让每个单元格的内容都居中,这个属性太麻烦了,以后用css来解决。
valign:内容的纵向对齐方式。属性值可以填:top middle bottom
width:绝对值或者相对值(%)
height:单元格的高度
bgcolor:设置这个单元格的背景色。
background:设置这个单元格的背景图片。
单元格的合并
将属性加在td里面。
colspan:横向合并。例如colspan="2"表示当前单元格在水平方向上要占据两个单元格的位置。
rowspan:纵向合并。例如rowspan="2"表示当前单元格在垂直方向上
caption
表格的标题,使用时和tr标签并列。
thead、tbody、tfoot
- 如果写了,那么这三个部分的代码顺序可以任意,浏览器显示的时候还是按照thead、tbody、tfoot的顺序依次来显示内容。如果不写thead、tbody、tfoot,那么浏览器解析并显示表格内容的时候是从按照代码的从上到下的顺序来显示。
- 当表格非常大内容非常多的时候,如果用thead、tbody、tfoot标签的话,那么数据可以边获取边显示。如果不写,则必须等表格的内容全部从服务器获取完成才能显示出来。
表单标签
Enctype:
表单数据的编码方式(加密方式),取值可以是:application/x-www-form-urlencoded、multipart/form-data。Enctype只能在POST方式下使用。
- Application/x-www-form-urlencoded:默认加密方式,除了上传文件之外的数据都可以
- Multipart/form-data:上传附件时,必须使用这种编码方式。
get提交和post提交的区别:
-
GET方式:
将表单数据,以"name=value"形式追加到action指定的处理程序的后面,两者间用"?"隔开,每一个表单的"name=value"间用"&"号隔开。- 特点:只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型只限于ASCII字符。
-
POST方式:
将表单数据直接发送(隐藏)到action指定的处理程序。POST发送的数据不可见。Action指定的处理程序可以获取到表单数据。-
特点:可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)。
image.png
-
input
type的属性值
text(默认)
password:密码类型
radio:单选按钮,名字相同的按钮作为一组进行单选(单选按钮,天生是不能互斥的,如果想互斥,必须要有相同的name属性。name就是“名字”。想给默认值,则加入checked属性,值可以不用写。
)。非常像以前的收音机,按下去一个按钮,其他的就抬起来了。所以叫做radio。
checkbox:多选按钮,名字相同的按钮作为一组进行选择。
checked:将单选按钮或多选按钮默认处于选中状态。当<input>标签的type="radio"时,可以用这个属性。属性值也是checked,可以省略。
hidden:隐藏框,在表单中包含不希望用户看见的信息
button:普通按钮,结合js代码进行使用。
submit:提交按钮,传送当前表单的数据给服务器或其他程序处理。这个按钮不需要写value自动就会有“提交”文字。这个按钮真的有提交功能。点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。
reset:重置按钮,清空当前表单的内容,并设置为最初的默认值
image:图片按钮,和提交按钮的功能完全一致,只不过图片按钮可以显示图片。
file:文件选择框。提交文件的时候一定要用post。一定要给form添加属性Enctype="Multipart/form-data"
提示:如果要限制上传文件的类型,需要配合JS来实现验证。对上传文件的安全检查:一是扩展名的检查,二是文件数据内容的检查。
设置输入框中的默认文本:placeholder="请输入"
image.png
select 下拉列表标签
<select>标签里面的每一项用<option>表示。select就是“选择”,option“选项”。
select标签和ul、ol、dl一样,都是组标签。
1. select标签的属性
- multiple:可以对下拉列表中的选项进行多选。没有属性值。
- size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。
2. option标签的属性
- selected:预选中。没有属性值。
<textarea>标签:多行文本输入框
text就是“文本”,area就是“区域”。
属性:
value:提交给服务器的值。
rows="4":指定文本区域的行数。
cols="20":指定文本区域的列数。
readonly:只读。
lable标签
<label for="">xx</label>
for属性关联的是其他标签的id。