您的位置:首页 > Web前端 > HTML

HTML笔记

2016-12-05 20:59 183 查看
建议:(xhtml)
1.编写html代码的时候所有的标签都小写.
2.标签有开始,就必须有结束标签.除非该标签是自关闭的标签.
3.所有的标签,如果有属性,那么属性的值一定要是用双引号引起来.

<!--
我是注释你懂吗?!
使用html标签的时候要因为想改变外观而使用html标签(改变外观使用css),而要根据语义来使用对应的html标签.
-->

特殊字符:<!---------------------------------------------------------------------------------------------------->

<(less than) :		<
>(greater than) :		>
© :		©
® :		®
空格 :		 
转义 :		&

段落与文字标签:<!---------------------------------------------------------------------------------------------------->

<br/>换行
<hr/>水平线

<h1>标题</h1>
<h6>标题</h6>
<p>自然段上下空行</p>

<b>加粗</b>
<u>下划线</u>
<i>斜体</i>

<strong>强调加粗</strong>
<em>强调斜体</em>
<cite>强调斜体</cite>

<q>双引号</q>
<pre>预格式话    保留源代码空格</pre>
<center>显示居中</center>
<font color="red" size="7" face="楷体">字体标签</font>
上标:10<sup>2</sup>
下标:H<sub>2</sub>O

<marquee>环绕
<direction>滚动方向

<div></div>块元素
<span></span>行内元素

超链接标签:	<!---------------------------------------------------------------------------------------------------->

URL:表示资源在网络中的地址(资源定位符)
URI:概念比URL大(源标识符)
相对路径: 谓相对路径,就是相对于自己的目标文件位置
绝对路径: 文件的完整路径。

<a href="链接地址" title="鼠标停在这里就会显示我" target="_self"></a>
target属性:
_blank:在新窗口中打开
_self:在自己的窗口中打开

<a href="测试连接1.htm">点击跳转测试连接1</a>	"mailto:邮件地址"
<a href="../父目录测试连接1.htm">点击跳转父目录测试连接1</a>
<a href="../../../../父目录测试连接1.htm">点击跳转父目录测试连接1</a>

<a href="http://www.firefox.com.cn/"><img src="火狐官网.png"></a>

锚点链接:<!---------------------------------------------------------------------------------------------------->

设置描点:<a name="zt"></a>
点击锚点:<a href="#zt">回到描点zt的位子</a>

图像标签:<!---------------------------------------------------------------------------------------------------->

<img src="图片地址" alt="图片描述(给搜索引擎看)" title="图片描述(给用户看)">
<img src = "QQ秀.jpg" alt="破图时显示的文字" title="鼠标停留显示文字">

设置图片大小(没有意思,因为即便是图片小了,但是实际图片大小没有变)
如果需要小图片可以通过--编辑--重新调整大小
修改图片格式不能直接修改后缀名,要另存为--修改图片格式
<img width="200" height="200" src = "QQ秀.jpg" alt="破图时显示的文字" title="鼠标停留显示文字">

px:和分辨率有关
em:相对长度单位.相对于当前对象内文本的字体尺寸.height:10em代表高是字体大小的10倍
<div style="border:1px solid red; height:10em">你好,我是em</div>

三种列表:<!---------------------------------------------------------------------------------------------------->

无序列表
<ul>
<li>春天</li>
<li>夏天</li>
<li>秋天</li>
<li>冬天</li>
</ul>

有序列表
<ol>
<li>听到闹钟</li>
<li>真开眼睛</li>
<li>再睡一会</li>
<li>等待闹钟</li>
<li>睁开眼睛</li>
</ol>

表格:<!---------------------------------------------------------------------------------------------------->
<!--
<table>属性:
cellspacing:单元格间距
cellpadding:单元格边距
-->
<!--
<tr>和<td>属性:
水平对齐方式: align:left,right,center
垂直对齐方式: valign:top,bottom,middle
-->
<!--
<td>属性:
rowspan:跨行
colspan:跨列
-->

<table border="1" height="300" width="350" cellspacing="20" cellpadding="50" align=center>
<tr>
<td colspan="2" align = center>头像</td>
<td rowspan="2" valign = top>网名</td>
<td rowspan="2" valign = top>蓝莲花</td>
</tr>
<tr>
<td>昵称</td>
<td>签名</td>
</tr>
</table>

表单:<!---------------------------------------------------------------------------------------------------->

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Refresh" content="3;url=http://www.baidu.com" http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!--
name="keywords" content="网站关键词,有利于搜索引擎搜索"
name="description" content="关于网页的基本描述信息"
http-equiv="Content-Type" content="text/html指定网页编码
http-equiv="Refresh" content="3;url=http://www.baidu.com"	3秒钟后重定向到新网页
-->
<title>表单</title>
</head>
<body>
<!--
--id属性的目的主要是为了在客户端,可以通过javascript语言来操作某个元素.
所有元素都可以有id,并且每个元素的id不可以重复.
只有表单元素可以有name,并且name是可以重复的.

--name属性的目的是为了可以将数据提交到服务器.
只有表单元素才可以有那么,并且那么是可以重复的.

表单提交其实就是提交的表单元素,value中的内容

get方式提交:是把数据封装成了通过&连接起来的键值对的方式,通过浏览器地址栏,提交到服务器的.
因为请求的地址的长度是有限的,所以不能通过get方式上传文件.
因为get提交的数据会直接显示在url地址栏中,所以相对不安全.

post方式提交:
默认情况下post提交方式也是使用&把键值对连接起来.同时提交的内容没有在url中显示,相对安全.post可以上传文件.
-->

<form name="usertable" action="server.htm" method="get">
<!--
name=表单名称
action=提交地址
method=提交方式(get|post)
-->
<input name="user_id" type="hidden" value="1001"/>
<!--
影藏域:type="hidden"
value=默认值(提交数据,与name组成键值对)
-->
<table border="1">
<tr>
<td>姓名:</td>
<td><input maxlength="5" name="txtNmame" type="text" value="张三"/></td>
<!--
文本输入框:type="text"
-->
</tr>
<tr>
<td>邮箱:</td>
<td><input disabled="disabled" name="txtEmail" type="text" value="84000508@qq.com"/></td>
<!--
禁止输入:disabled="disabled"
-->
</tr>
<tr>
<td>密码:</td>
<td><input name="txtPassword" type="password"/></td>
<!--
密码输入框:type="password"
-->
</tr>
<tr>
<td>确认密码:</td>
<td><input name="txtConfirmPassword" type="password"/></td>
</tr>
<tr>
<td>性别:</td>
<td><input id="rdoMale" name="gender" type="radio" value="male"><label for="rdoMale">男
<input id="rdoFemale" checked="checked" name="gender" type="radio" value="female"><label for="rdoFemale">女</td>
<!--
单选:type="radio"
区域点击:label for=name值
默认选中:checked="checked"
-->
</tr>
4000

<tr>
<td>兴趣爱好:</td>
<td>
<input checked="checked" name="hobby" type="checkbox" value="1">篮球
<input checked="checked" name="hobby" type="checkbox" value="2">足球
<input name="hobby" type="checkbox" value="3">网球
<input name="hobby" type="checkbox" value="4">吃
<input name="hobby" type="checkbox" value="5">睡
<!--
复选框:type="checkbox"
-->
</td>
</tr>
<tr>
<td>所在地区:</td>
<td>
省:
<select name="province" multiple="multiple" size="8">
<option selected="selected" value="11">黑龙江</option>
<option selected="selected"value="12">吉林</option>
<option value="13">辽宁</option>
<option value="14">河北</option>
</select>
<!--
下拉菜单:<select>
<option>内容1</option>
<option>内容2</option>
</select>
默认选中:selected="selected"
设置下拉菜单显示5条:multiple="multiple" size="5"

-->
市:
<select>
<optgroup label="湖北省">
<option value="101">襄阳</option>
<option value="102">武汉</option>
</optgroup>
<optgroup label="吉林">
<option value="103">长春</option>
</optgroup>
<optgroup label="辽宁">
<option value="104">大连</option>
</optgroup>
<optgroup checked="checked" label="河北">
<option value="105">石家庄</option>
<option value="106">保定</option>
</optgroup>
</select>
<!--
下拉菜单分组:<select>
<optgroup label="黑龙江">
<option>襄阳</option>
<option>武汉</option>
</optgroup>
</select>
-->
</td>
</tr>
<tr>
<td colspan="2" style="height:100px">
<fieldset>
<legend>请选择你感兴趣的内容:<legend>
<input name=hobby type=checkbox value="1"/>操作系统
<input name=hobby type=checkbox value="2"/>网络
<input name=hobby type=checkbox value="3"/>数据库
<input name=hobby type=checkbox value="4"/>web开发
<input name=hobby type=checkbox value="1"/>移动开发
</fieldset>
<!-- 字段集(打包圈起来)
<fieldset>
<legend>标题<legend>
<input type=checkbox />操作系统
<input type=checkbox />网络
<input type=checkbox />数据库
<input type=checkbox />web开发
<input type=checkbox />移动开发
...需要圈起来的内容
</fieldset>
-->
</td>
</tr>
<tr>
<td colspan="2">
<legend>请仔细阅读协议:</legend>
<textarea cols="30" rows="10" readonly="readonly">
1.接受条约欢迎光临中国雅虎。中国雅虎根据一下服务条约为您提供服务......
</textarea>
<!--
<textarea cols="30" rows="10" readonly="readonly"></textarea>
多行文本输入框
-->
</td>
</tr>
<tr>
<td>请选择头像</td>
<td>
<input type="file"/>
<!--
文件域:type="file"
-->
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="注册"/>
<!--
提交按钮:type="submit"
-->
<input type="reset" value="重置"/>
<!--
重置按钮:type="reset"
-->
<input type="button" value="这是我的一个按钮"/>
<!--
普通按钮:type="button"
-->
<input type="image" src="按钮.gif"/>
<!--
图片按钮:type="image"
-->
</td>
</tr>
</table>
<image src="QQ秀.jpg">
<embed src="杨坤-空城.mp3" width="300" height="40"/>
<!--
<embed src="杨坤-空城.mp3" width="300" height="40"/>
音乐播放器,需要设置长宽
-->
</form>
</body>
</html>

div:块级元素,独占一行,放什么都可以,
span:内联元素inLine,把一段内容定义成一个整体进行操作,但不音响布局,显示两端没有换行,

<!----------------------------------------------------------------------------------------------------------------------------->
CSS(层叠演示表,Cascading Style Sheets):
HTML、CSS和JavaScript的关系: <"HTML是网页的结构,CSS是网页的外观,而JavaScript是页面的行为">

1.内嵌样式表(通常定义在<head></head>标签之间):
<style type="text/css">
选择器 {
属性:	值;
}
</style>

2.行内样式表(一般不建议使用,破坏了页面内容与表现分离原则): <p style="属性: 值;">内容</p>
<h1 style="color:red; font-size: 12px;">传智播客-前端与移动的开发学院的CSS基础视频教程</h1>

3.外部样式表(建议使用满足了页面与表现分离原则): <link rel="stylesheet" type="text/css" href="css.css" />
href="css.css"指css的相对路径

1.标签选择器: 	p{}			当页面中某种标签都具有相同的样式时就使用标签选择器

2.通用选择器: 	*{}			所有标签元素,优先级高于继承的样式,会覆盖继承的样式.通常使用通配符选择器定义css样式,清楚html标记的默认边距
* {
margin:0;
padding:0;
}

3.ID选择器: 	#demo_1{}		 ID选择器是可以帮助我们选择当前页面中唯一id值的标签,也就是根据标签的id属性进行选取设置样式.ID选择器的符号是#号.
ID选择器命名规范
1:只允许出现字母(大小写严格区分),下划线,数字
2:不允许出现标签名(硬性规定)

4.类选择器: 	.demo{}		当页面中部分标签具有相同的样式时
ID选择机与Class选择器的区别
1.相同的Class属性值,可以在HTML中出现多次.ID属性值在页面中只能出现依次.
2.一个Class的属性可以多个值,也就是说一个标签可以有多个类
<!--
建议尽量使用类选择器.使用ID时候情况:当确定唯一确定当前页面中标签只能出现一次,这个时候可以使用ID选择器.
如果不能保证相同的作用的标签在页面中只能出现一次,那么这时候就选择使用类选择器.
-->

复合选择器:
5.后代选择器: 	E1 E2{}		选择所有被E1包含的E2(包含儿子孙子)
6.子选择器: 	E1>E2{}		选择所有作为E1亲儿子对象的E2(只包含儿子)
7.组合选择器: 	E1,E2...{}	包含E1,E2...用逗号隔开

8.伪类选择器(控制状态):
a:link{}	没有被访问a标签样式属性
a:hover{}	当鼠标悬停时a标签样式属性
a:visited{} 被访问过的a标签样式属性
a:active{}	被点击时的a标签样式属性
a:focus{} 	获得焦点时a标签样式属性

9.伪元素(控制内容):
.text:first-line		只能用于块级标签
.text:first-letter		只能用于块级标签

span:first-child		选择属于第一个子元素的所有算盘标签

.text:before {content:"-----"}			设置元素之前的内容
.text:after	{content:"-----"}			设置元素之后的内容
.text:after	{content:"-----";dispaly: block}		设置元素之后的内容,并且此内容转换成块级元素

<!----------------------------------------------------------------------------------------------------------------------------->

优先级:

行内样式 > 内嵌样式 > 外部样式

行内样式 > ID选择器 > 类选择器 > 标签选择器 > 通配符选择器 > body继承 > 默认

<!----------------------------------------------------------------------------------------------------------------------------->

Dispaly改变标签显示模式:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dispaly改变标签显示模式</title>
<style type="text/css">
div {
background-color: silver;
display: inline;/*可以让元素变成行内模式的标签*/
}

strong {
background-color: red;
display: block;/*可以让元素变成块级标签*/
}

s {
background-color: yellow;
display: none;/*直接把当前标签从页面中直接移除了,不影响页面的布局*/
visibility: hidden;/*这个只是不显示,但还是占用页面的空间*/
}
</style>
</head>
<body>
<!-- 行内标签 -->
<span>我是span</span>
<!-- 行内标签 -->
<s>我是s标签</s>
<!-- 块级标签 -->
<div>我是div</div>
<!-- 行内标签 -->
<strong>我是strong标签</strong>

</body>
</html>

宽高		边距			独占行

行内元素:			没有		左右边距		不独占
块级元素:			  有		上下左右		独占
行内块元素:			  有		左右			不独占

注意:行内元素不能设置宽高,只能通过他的内容来撑开他的宽度和高度.如果你设置了宽高是不会影响行内元素的显示的.

<!----------------------------------------------------------------------------------------------------------------------------->
CSS书写顺序: <"1.布局定位属性	2.自身属性	3.文本属性	4.其他属性">

长度单位: 相对单位: px, em			font-size:12px;

字体属性(多个字体用逗号隔开): 		font-family:"微软雅黑";

字体系列(非衬线体,放在字体最后):	font-family:"微软雅黑,sans-serif";

字体粗细(设置字体不需要单位100~900,100的整数倍):		font-weight:700;

字体风格:		font-style:italic;(使用文字本身的斜体样式显示)
font-style:oblique;(让文字进行倾斜显示)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>字体样式</title>
<style type="text/css">
p {
font-size: 20px;
font-weight: 700;
font-style: oblique;
font-family: "微软雅黑";
}

/*font字体的合写*/
p {
/*font: 字体样式 字体是否加粗 字体大小 字体类型;*/
/*如果不需要设置的属性可以省略(默认去默认值),但是必须保留font-size和font-family,否则font属性将不起作用*/
/*淘宝的字体设置:font: 12px/1.5 tahoma,arial,'Hiragino Sans GB',\5b8b\4f53,sans-serif;*/
font: oblique 700 20px "微软雅黑";
}
</style>
</head>
<body>
<p>
前面的字体都查找失败后,在系统中找一冲sans-serif字体作为默认字体.
注意顺序,如果把sans-serif放前面去,后面的都失效了.
</p>
<ul>
<li>设置字体的大小:20px</li>
<li>设置字体的加粗</li>
<li>设置字体倾斜显示</li>
<li>设置肢体累心是 微软雅黑</li>
</ul>
</body>
</html>

<!-- 行高概念 -->
字符间距: 	letter-spacing:10px;(字符与字符之间离10px距离)

单词间距:	letter-spacing:20px;(单词与单词之间离20px距离,只对英文单词有影响,对中文字与字之间的距离没有影响,如果中文字之间有空格的话,会把空格设置成20px距离)

行距: 上行文本的底线到下行文本的顶线距离
行高: 文本顶部 + 文本底部 + 一倍行距
行高: SCC的定义,两行文本之间的基线的距离,就是行高.
两条基线的距离: 一倍的行距 + 文本顶部到文本基线 + 文本基线到文本的底部

font: 16px/1.5em "宋体";		行高设置方式1(1.5em,分配方式16px+4px+4px):
line-height: 20px;				行高设置方式2

文本装饰:
text-decoration:underline;		下划线
text-decoration:line-through;	删除线
text-decoration:overline;		顶线
text-decoration:none			没有线

水平对齐:
text-align:left
text-align:right
text-align:center

首行缩进(只能设置块级元素):
p {
text-indent:2em;(段落空2个字符位子)
}

h1 {
text-indent:-9999;(移除标题,添加logo)
}

空白符处理:
white-space:normal;			正常显示,如果宽度不够进行折行显示.
white-space:nowrap;			即使超过盒子的宽度,文本也不进行换行显示
white-space:pre;			写html代码的时候是什么样式的,显示就显示成什么样式的

自动换行:
word-break:normal			使用浏览器默认的换行规则
word-break:break			允许在单词内换行
word-break:keep-all			只能在空格或连字符处换行

鼠标样式:
cursor:pointer;(手) wait;(等待)

<背景属性>:  (background)
重复: background-repeat: no-repeat;					滚动: background-attachment:scroll;(滚动) fixed;(固定)
位置: background-position:left;(水平)top;(垂直);	简写方法: background:#000 url(..) repeat fixed left top;
<定位属性>:  (Position)
定位: position: absolute; fixed;(固定定位) relative;(相对定位,可以做父元素的参照定位)
内容溢出: overflow:auto;(自动) hidden;(隐藏) visible;(可见)		scroll;(显示滚动条)		浮动: float:left;
<区块属性>:  (Block)			normal;(正常)
缩进: text-indent: 2em;				字间距: letter-spacing:1em;			词间距: word-spacing:10px;
水平对齐: text-align:center;		垂直对齐: vertical-align:middle;	元素空格: white-space:pre;(保留)
水平居中: span{width:100px; margin:auto;}				垂直居中: span{display:table-cell; height:100px; vertical-align:middle;}
属性切换: display:block;(块状) inline;(行级) none;(隐藏标签元素)		z-index:1;(覆盖顺序)
<方框属性>:  (Box)
width:10px; height:10px; float:left; clear:both; margin:10px;(外边距) padding:10px;(内边距)     顺序: 上右下左
<边框属性>:  (Border)			none;(无)
border-style:solid;(实线) dashed;(虚线)			边框合并: border-collapse: collapse;	边框间距: border-spacing:5px;
<列表属性>:  (List-style)		none;(无)
类型: list-style-type:decimal;(1. 2.) disc;(● ●) circle;(○○) square;(■ ■) lower-roman;(i. ii.) upper-alph;(A. B.)
位置: list-style-position: outside;(外) inside;							列表图像list-style-image: url(..);

<!----------------------------------------------------------------------------------------------------------------------------->
盒子模型: 从第一层到第五层依次为:border、content+padding、background-image、background-color、margin

盒子之间的关系:
1:水平盒子:当两个盒子同行显示时,其距离为BOX1的margin-right和BOX2的margin-left之和
2:垂直盒子:当两个盒子在垂直显示时,其距离为BOX1的margin-bottom和BOX2的margin-top中较大者,而不是两者之和
3:重叠盒子:盒子重叠时,可以将其中的margin属性值设置为负数.

IE6盒模型BUG:
1:背景色不能穿透边框
2:盒子大小不一样

内边距padding:出现在内容区域的周围,当给元素添加背景色或者背景图片时,该元素的背景色或者图片也将出现在内边距中

边框border:
边框属性:
border-top-style	上边框样式		none(默认),solid单实线,dashed虚线,dotted点线,double双实线
border-top-width	上边框宽度
border-top-color	上边框颜色

border-left			左边框
border-right		右边框
border-bottom		洗边框

样式综合设置:	border-style(上边 右边 下边 左边);
宽度综合设置:	border-width(上边 右边 下边 左边);
颜色综合设置:	border-color(上边 右边 下边 左边);

边框综合设置:	border(宽度 样式 颜色);
去掉边框写法:	border: 0 none;(兼容性最好)

.box{
/*四周内边距*/
/*padding: 20px;*
9c73
/

/*内边距分开写*/
/*padding-top: 20px;
padding-bottom: 10px;
padding-right: 5px;
padding-left: 5px;*/

/*上 右 下 左*/
padding: 20px 5px 10px 5px;

border: 1px solid #09c;
width: 100px;
height: 100px;

/*内边距享有背景颜色*/
background-color: green;
}
/*三角形*/
.triangle {
width: 0px;
height: 0px;
border: 100px solid #FFFFFF;
border-top-color: green;
}

外边距margin:是该元素与相邻元素之间的距离

框架布局: <frameset cols="182,*"> <frame src="" id="" /> <frame src="" id="" /> </frameset>
清除浮动: 对于父元素的影响清除就是:width:100%;overflow:hidden;		对于自己临近的清除就是:clear:both;
DIV布局:
body{ margin:0; padding:0; font-family:"Microsoft YaHei",Arial, Helvetica, sans-serif;
font-size:14px; color:#666;background: #f5f4f9;}
ul,li,div,p,dl,dt,dd,img,h1,h2,h3,h4,h5,h6,form{ margin:0; padding:0;}
img{margin:0; padding:0; border:0; }
a{ color:#666; text-decoration:none;}
a:hover{ text-decoration:none; color:#ea2425;}
li{ list-style:none;}
.cl{overflow:hidden;zoom:1;}
ul{ list-style-type:none;}
input,select{ margin:0; padding:0; font-size:14px;font-family:"Microsoft YaHei",Arial, Helvetica, sans-serif;}
input{padding:0;margin:0;background:none;}
.fl{ float:left;}
.fr{ float:right;}
table th{ font-weight:normal;}
.tc{ text-align:center;}
.tr{ text-align:right;}
.main{ padding:30px 0 0; overflow:hidden;zoom:1;}
.clear{ clear:both; height:0; font-size:0; overflow:hidden;zoom:1;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html