超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。
网页一般由下面3部分组成
HTML发展历史
HTML 5优势
当手机浏览器完全支持HTML5那么开发移动项目将会和设计更小的触摸显示一样简单。这里有很多的meta标签允许你优化移动:
<!doctype html>
表示声明这是一个网页文档,可以通过浏览器进行展示<html></html>
标签中<html>
</html>
<head></head>
标签中<meta charset=”utf-8”>
声明网页中的字符编码是UTF-8编码<title>
网页标题</title>
声明网页的显示标题部分的内容<body></body>
标签中
<header></header> <section></section> <footer></footer>
常见的标签
<h1></h1> ~ <h6></h6>
<p>段落内容</p>
<hr/>
<br />
<video src=”” controls></video>
视频播放标签<audio src=””></audio>
音频播放标签.jpg
.gif
.png
扩展标签
<b>
标签:文本加粗<i>
标签:文本斜体显示<em></em>
标签:文本斜体显示
效果: 文本斜体显示 <u>
标签:文本添加下划线<del>
标签:文本添加删除线
效果:表格标签:用来在网页中,通过表格的形式展示内容的
<table></table>
表格<tr></tr>
表格中要展示的标题<td></td>
表格中要展示的数据
合并单元格
横向合并单元格:colspan[跨列] 纵向合并单元格:rowspan[跨行]
自动换行及顶端对齐
表格自动换行:<table style="word-break:break-all; word-wrap:break-all;"> 表格顶端对齐:valign="top"
<small>
标签
<small>
标签将旁注 (side comments) 呈现为小型文本,即让文本缩小20%进行展示。 免责声明、注意事项、法律限制或版权声明的特征通常都是小型文本。小型文本有时也用于新闻来源、许可要求。 对于由 em 元素强调过的或由 strong 元素标记为重要的文本,small 元素不会取消对文本的强调,也不会降低这些文本的重要性。
HTML用各种标签/标记,来标记内容的 标记好内容之后,要对内容进行修饰【尺寸、位置、大小、颜色】
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>网上转账电子账单</title>
</head>
<body>
<h1>工商银行电子汇款单</h1>
<table border="1" cellpadding="10" cellspacing="0" >
<tr>
<td colspan='2'><b>回单类型</b></td>
<td>网上转账汇款</td>
<td colspan="2"><b>指令序号</b></td>
<td>HQH0000000000000013878172</td>
</tr>
<tr>
<td rowspan="4"><b>收<br/>款<br/>人</b></td>
<td>户名</td>
<td>小许</td>
<td rowspan="4" width="10"><b>付<br/>款<br/>人</b></td>
<td>户名</td>
<td>老刘</td>
</tr>
<tr>
<td><b>卡号</b></td>
<td>000000000001</td>
<td><b>卡号</b></td>
<td>000000000002</td>
</tr>
<tr>
<td>地区</td>
<td>南京</td>
<td>地区</td>
<td>杭州</td>
</tr>
<tr>
<td><b>网点</b></td>
<td>工商江苏南京业务处理中心</td>
<td><b>网点</b></td>
<td>江苏徐州业务中心</td>
</tr>
<tr>
<td colspan="2"><b>币种</b></td>
<td>人民币</td>
<td colspan="2"><b>钞汇标志</b></td>
<td>钞票</td>
</tr>
<tr>
<td colspan="2"><b>金额</b></th>
<td>1.00元</td>
<td colspan="2"><b>手续费</b></td>
<td>0.57元</td>
</tr>
<tr>
<td colspan="2"><b>合计</b></td>
<td colspan="4">人民币(大写):壹圆整</td>
</tr>
<tr>
<td colspan="2"><b>交易时间</b></td>
<td><i>2017年6月1日</i></td>
<td colspan="2"><b>时间戳</b></td>
<td><i>2017-06-01-13.00.00.00000</i></td>
</tr>
</table>
<p>票据打印时间:2017-06-01 15:00:12</p>
<p><del>票据打印单位:江苏徐州业务中心</del></p>
<p>操作员:大曾</p>
</body>
</html>
网上转账电子账单
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>豆瓣电影</title>
</head>
<body>
<h2>热门电影板块</h2>
<hr/>
<table width="800">
<tr>
<td><b>最近热门电影</b></td>
<td>热门</td>
<td>最新</td>
<td>豆瓣评分</td>
<td>冷门佳片</td>
<td>华语</td>
<td>欧美</td>
<td>韩国</td>
<td>日本</td>
<td width="100"></td>
<td>更多>></td>
</tr>
</table>
<hr/>
<table >
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>猜火车4.1</td>
<td>贝尔科实验6.0</td>
<td>加州公路巡警6.8</td>
<td>歌儿不绝6.3</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>明日的我与昨日的我</td>
<td>速度与激情8</td>
<td>激素特工</td>
<td>金刚狼3:殊死一战</td>
</tr>
</table>
</body>
</html>
div标签:块标签 ul标签:无序列表标签 ol标签:有序列表标签 dl标签:图文混排列表标签
简单样式:
list-style:none;
去掉列表标签前面的序号list-style-image:url(“abc.png”);
使用指定的图片替换列表的序号
form
表单标签:表单标签在页面上没有任何展示,专门用来进行数据提交的
label用来写输入框的提示信息,
for属性:表示这是哪个标签的提示信息,for的值是另一个标签的id值
文本输入框:
<input type=”text”..
密码输入框:<input type=”password”..
提交按钮:<input type=”submit”..
HTML API文档:
你可以在编程的过程中,通过API查询自己想要的标签的方法。
通过写一个简单的登录和注册页面来理解具体操作
<!-- 简单的登录页面 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录页面</title>
</head>
<body>
<from action = 'http://www.baidu.com' method='post'>
<label for='username'>账号</label>
<input type="text" id='username' name="username" placeholder="请输入账号">
<br>
<label for='password'>密码</label>
<input type="password" id="password" name="password" placeholder="请输入密码">
<br>
<input type="submit" value="登录">
</from>
</body>
</html>
login.html
<!-- 简单的注册页面 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注册页面</title>
</head>
<body>
<form action="#">
<label for="username">账号</label>
<input type="text" id="username" name="username" placeholder="请输入账号">
<br>
<label for="password">密码</label>
<input type="password" id="password" name="passwo" placeholder="请输入密码">
<br>
<label for="gender">性别</label>
<input type="radio" id="gender1" name="gender">男
<input type="radio" id="gender2" name="gender">女
<input type="radio" id="gender3" checked="true" name="gender">待定
<br>
<label for="fav">爱好</label>
<input type="checkbox" value="LOL" checked>英雄联盟
<input type="checkbox" value="WZRY">王者荣耀
<input type="checkbox" value="SWXF">守望先锋
<input type="checkbox" value="DOTA">DOTA2
<br>
<label for="headerImg">头像</label>
<input type="file" id="headerImg">
<br>
<label for="address">地址</label>
<select id="address" name="address">
<option value="SH">上海</option>
<option value="BJ">北京</option>
<option value="SZ">深圳</option>
</select>
<br>
<label for="introduction">自我介绍</label>
<textarea rows="10" cols="80"></textarea>
<br>
<input type="button" value="普通按钮">
<button>H5 普通按钮</button>
<input type="reset" value="重置">
<input type="submit" value="注册">
</form>
</body>
</html>
regist.html
<a href="http://www.baidu.com" style="font-size:32px;">百度</a>
a
超链接标签href
属性,表示要打开的网络地址
<!-- 超链接的打开方式 -->
<a href="http://www.baidu.com" target="_blank">新的打开方式:百度</a>
这里的target属性是_blank,指的是从新的空白页打开一个网页
备注:web项目开发时常见的文件名称 网站首页:
index.html / index.htm / main.html / main.htm / default.html / default.htm
登录页面:login.html / login.htm / signin.html / signin.htm
注册页面:regist.html / register.html / signup.html
<li style="width:800px;color:orange;font-weight:bold;"> 只要我人生的程序不终止,你的名字一直都是我的心事 </li>
优点:操作方便,易于理解; 缺点:如果样式内容太多,就会让一个简单的标签变得非常的臃肿,不利于代码的维护。
样式写在网页中的
<style>
标签中,将样式代码集中起来进行管理
<head>
<style>
#info{color:blue;font-size:18px;font-weight:bold;border:#069 1px dashed;}
</style>
</head>
<body>
<ol>
<li id="info">
定义一个变量:我们的相爱时间<br>
如若我们之间是真爱<br>
那么从我们相爱的那一秒起,我们将无限循环,执子之手,与子偕老</li>
</ol>
</body>
优点:将我们的HTML标签和CSS代码进行了分离,方便我们对HTML代码或者CSS样式进行修改; 缺点:HTML代码和CSS代码还是在一个文件中
外部引用样式
同一文件夹里写一个demo.css文件
#desc{font-size:22px;color:red;font-family:"楷体" }
demo文件中代码
<head>
<link rel="stylesheet" type="css" href="demo03.css">
</head>
<body>
<ol>
<li id="desc">遍历整个世界,只为找到你。<br>当我发现你是我的真爱时,<br>
那么你就是我要找寻的人。</li>
</ol>
</body>
三种样式操作:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>样式操作</title>
<link rel="stylesheet" type="css" href="demo03.css">
<style >
#info{color:blue;font-size:18px;font-weight:bold;border: #069 1px dashed}
</style>
</head>
<body>
<p style="font-size: 26px">
<b>程序员的三行情诗</b>
</p>
<hr>
<ol>
<li style="width:800px;color:orange;font-weight:bold;">只要我人生的程序不终止,你的名字一直都是我的心事</li>
<br>
<li id="info">定义一个变量:我们的相爱时间<br>如若我们之间是真爱<br>那么从我们相爱的那一秒起,我们将无限循环,执子之手,与子偕老</li>
<br>
<li id="desc">遍历整个世界,只为找到你。<br>当我发现你是我的真爱时,<br>
那么你就是我要找寻的人。</li>
</ol>
</body>
</html>
三种样式操作
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标签选择器</title>
<style>
/*通配符选择器*/
*{padding: 0;margin: 0;color:green;}/*padding表示内边距,margin表示外边距*/
/*class选择器*/
.intro{color:blue;font-size: 22px;}
/*标签选择器*/
p{color: red;}
/*id选择器*/
#choice{color:orange;font-size: 28px;}
</style>
</head>
<body>
<p>使用标签选择器</p>
<p>标签选择器,可以通过标签名称来选择所有的该名称的标签</p>
<p>直接在css代码中,写标签的名称,用来修饰网页中一些特殊标签的样式</p>
<p>请谨慎使用,选择范围太大</p>
<hr>
<span id="choice">id选择器</span>
<span>id选择器通过在CSS代码中,使用符号"#name",name指的就是标签的id属性名</span>
<span>id选择器,只会选择唯一的一个标签,用来修饰网页中一些标签的样式</span>
<hr>
<div class="intro">class选择器</div>
<span class="intro">class选择器,通过符号".name",name指代的标签class属性值</span>
<b class="intro">class表示类型的意思</b>
<hr>
<div>通配符选择器:*,可以选择页面中所有的标签</div>
<div>慎重使用,一般情况下,使用*来清除页面中的标签的边距</div>
</body>
</html>
标签选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>其他选择器</title>
<style>
/* 1. 其他选择器*/
/* 群组选择器:可以将多个基本选择器,使用逗号进行分割,然后添加统一的样式*/
p,span,div,#choice,.intro{color:red;}
/* 子标签选择器:修饰的是当前标签的直接子元素,不会影响孙子元素; */
#list > li{color:orange;font-weight:bold;}
/* 包含选择器:修饰当前标签中指定的所有被包含的元素*/
/* #list li {color:blue;font-weight:bold;} */
/* 2. 选择器的优先级 */
/*标签选择器修饰input,样式也是有优先级,如class选择器的优先级就没有id选择器高*/
input,#username{border:none;border-bottom:solid 2px #888;}
.username{border-bottom:solid 2px red;}
/* 3. 属性选择器 */
/* 完整属性 */
/* input[type="password"]{border:solid 1px red;} */
/* input[type^="pass"]{border:solid 1px blue;} */
[type^="pass"]{border:solid 1px red;}
/* 4. 伪类选择器 是在后面添加冒号,然后添加一个关键词,来选择特殊的标签*/
/* 慎重使用 ,通常情况下,可以通过id/class/标签选择器完全替代*/
/* #list li:nth-child(2){color:red;} */
#list li:hover{color:red;} /* 鼠标滑过的时候会高亮*/
</style>
</head>
<body>
<p>使用标签选择器</p>
<p>标签选择器,可以通过标签名称来选择页面中所有的该名称的标签</p>
<p>直接在css代码中,写标签的名称,然后在后面的大括号中添加样式</p>
<p>慎重使用,选择范围太大</p>
<hr/>
<span id="choice">id选择器</span>
<span>id选择器通过在CSS代码中,使用符号“#name”,name指的就是标签的id属性值</span>
<span>id选择器,只会选择唯一的一个标签,用来修饰网页中一些特殊标签的样式</span>
<hr/>
<div class="intro">class选择器</div>
<span class="intro">class选择器,通过符号".name",name指代的是标签的class属性值</span>
<b class="intro">class表示类型的意思</b>
<hr/>
<div>通配符选择器:*,可以选择页面中所有的标签</div>
<div>慎重使用,一般情况下,使用*来清除页面中的标签的边距</div>
<ul id="list">
<li>尚未配妥剑</li>
<li>转眼便是江湖</li>
<li>愿历尽风帆</li>
<li>归来仍少年</li>
<ul>
<li>不要停止奔跑</li>
<li>不要回顾来路</li>
<li>来路无可眷恋</li>
<li>值得期待的只有远方</li>
</ul>
</ul>
<hr/>
<form action="">
<input id="username" class="username" type="text" placeholder="请输入账号"><br />
<input type="password" username="password" placeholder="请输入账号"><br />
</form>
</body>
</html>
其他的标签显示
text-shadow
是给文本添加阴影效果,box-shadow
是给元素块添加周边阴影效果。
语法:box-shadow: h-shadow v-shadow blur spread color inset;
注释:box-shadow 向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定。省略长度的值是 0。
box-shadow属性的参数设置取值:
-阴影类型:此参数可选。如不设值,默认投影方式是外阴影;如取其唯一值“inset”,其投影为内阴影;
-X-offset:阴影水平偏移量,其值可以是正负值。如果值为正值,则阴影在对象的右边,其值为负值时,阴影在对象的左边;
值 | 描述 |
---|---|
h-shadow | 必需。水平阴影的位置。允许负值。 |
v-shadow | 必需。垂直阴影的位置。允许负值。 |
blur | 可选。模糊距离。 |
spread | 可选。阴影的尺寸。 |
color | 可选。阴影的颜色。请参阅 CSS 颜色值。 |
inset | 可选。将外部阴影 (outset) 改为内部阴影。 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>常见样式</title>
<link rel="stylesheet" href="">
<style>
*{margin:0;padding:0;}
#container{
/*内容样式*/
color:white;
font-size:40px;
font-family:"楷体";
font-weight:bolder;
text-align:center;
line-height:300px;
text-shadow: 10px -10px 10px red;
/*尺寸样式*/
width:1050px;
height:300px;
border:solid 2px orange;
border-bottom:10px solid red;
border-radius:10px;
box-shadow:5px 5px 3px #888;
background:pink;
}
#container a{color:white;
text-decoration:none;
}
#th{width:1027px;height:515px;padding:10px;border:solid 10px #888;border-radius:5px;}
#th img{width:1027px;height:515px;border-radius:5px;}
</style>
</head>
<body>
<div id="container">
听说粉色会令人遐想...<a href="http://jandan.net/ooxx">煎蛋网</a>
</div>
<div id="th">

</div>
</body>
</html>
常见样式的显示
block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。
大体来说HTML元素各有其自身的布局级别(block元素还是inline元素):
block元素可以包含block元素和inline元素;但inline元素只能包含inline元素。要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。比如 P 元素,只能包含inline元素,而不能包含block元素。 一般来说,可以通过display:inline和display:block的设置,改变元素的布局级别。
width
,height
属性。块级元素即使设置了宽度,仍然是独占一行。
block元素可以设置margin
和padding
属性。width
,height
属性无效。
inline元素的margin
和padding
属性,水平方向的padding-left
, padding-right
, margin-left
, margin-right
都产生边距效果;但竖直方向的padding-top
, padding-bottom
, margin-top
, margin-bottom
不会产生边距效果。