网络世界已经跟我们息息相关,当我们打开一个网站,首先映入眼帘的就是一个个华丽多彩的网页。这些网页,不仅呈现着基本的内容,还具备优雅的布局和丰富的动态效果,这一切都是如何做到的呢?前端入门课程,为您一层层的揭开网页的面纱。
HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它是一种用来告知浏览器如何组织页面的标记语言。
所谓 超文本Hypertext
,比普通文本更强大,是指连接单个或者多个网站间的网页的链接。我们通过链接,就能访问互联网中的内容。
所谓 标记Markup
,就是标签,标记,是用来注明文本,图片等内容,以便于在浏览器中显示,例如,
等。
w3c是万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者是万维网的发明者蒂姆·伯纳斯-李,负责制定web相关标准的制定。
HTML页面由一系列的元素(elements) 组成,而元素是使用标签创建的。
标签可以用于设置文本样式、图片样式、超链接样式等等。用**< >**表示
例如:
<h1>今天是个好日子h1>
<h1 align="center">今天是个好日子!!!h1>
align
属性表示水平对齐方式,我们可以赋值为 center
表示 居中 。: 声明文档类型。规定了HTML页面必须遵从的良好规则,从HTML5后,
是最短的有效的文档声明。
文字作为了解资料
很久以前,早期的HTML(大约1991年2月),文档类型声明类似于链接,能自动检测错误和其他有用的东西。使用如下:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
然而现在没有人再这样写,需要保证每一个东西都正常工作已成为历史。
:这个标签包裹了整个完整的页面,是一个根元素(顶级元素)。其他所有元素必须是此元素的后代,每篇HTML文档只有一个根元素。
:这个标签是一个容器,它包含了所有你想包含在HTML页面中但不想在HTML页面中显示的内容。这些内容包括你想在搜索结果中出现的关键字和页面描述,CSS样式,字符集声明等等。以后的章节能学到更多关于
元素的内容。目前主要了解两个标签:
:这个标签是页面的元数据信息,设置文档使用utf-8字符集编码,utf-8字符集包含了人类大部分的文字。基本上他能识别你放上去的所有文本内容,能够避免页面乱码问题。
:这个标签定义文档标题,位置出现在浏览器标签上,而不是页面正文中。在收藏页面时,它可用来描述页面。在初始化页面的标签中,加入一对
标签
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>01-入门案例title>
head>
<body>
<h1>h1>
body>
html>
在一对 标签中,编写文本内容,并且添加属性align="center"居中对齐
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>01-入门案例title>
head>
<body>
<h1 align="center">这是我们第一个HTML入门案例h1>
body>
html>
HTML是一种标记语言,用来组织页面,使用元素和属性。
这个元素的组成部分有:
在学习HTML时,要抓住两个方面:
什么是注释:注释是用于解释说明程序的
注释的格式:
注释的特点:被注释掉的标签,不会被浏览器解析
比如:
<p>我在注释外!p>
案例:02-基本语法-注释.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注释title>
head>
<body>
body>
html>
标签的分类
标签的嵌套
正确的嵌套格式:文本
错误的嵌套格式:文本
说明:h1包含u,那么u的开始和结束都需要在h1中
补充:
- 大部分标签都是可以相互嵌套
- ul/ol只能嵌套li
- 单标签无法嵌套其他标签,行内标签无法嵌套块级标签
- 还有一些其他嵌套规则:https://zhidao.baidu.com/question/1951829110951989468.html
块级元素和行内元素
- 行内元素:在页面中以行的形式展现,不会换行。例如
- 注意:一个块级元素不会被嵌套进行内元素中,但可以嵌套在其它块级元素中。
-
div和span
:是一个通用的内容容器,没有特殊语义。一般用来对其它元素进行分组,用于样式化相关的需求
:是一个通用的行内容器,没有特殊语义。一般被用来编织元素以达到某种样。
和
标签核心作用是布局页面
-
案例:03-基本语法-标签规范.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签title>
head>
<body>
<h1>一级标题h1>
<br/>
<hr/>
<h2><u>二级标题u>h2>
<div>第一个divdiv>
<div>第二个divdiv>
<span>第一个spanspan>
<span>第二个spanspan>
body>
html>
2.3 关于属性
-
什么是属性
- 属性可以提供一些额外的信息,这些信息不会直接显示在内容中,但可以改变标签的样式或提供数据使用
-
定义格式:属性名="属性值"
-
属性的规范
- 同一个标签中属性的名称必须唯一
- 不区分大小写,建议使用小写
- 属性值可以使用单引号或双引号括起来,建议使用双引号
-
常用属性:
属性名
作用
class
定义元素类名,用来选择和访问特定的元素
id
定义元素唯一标识符,在整个文档中必须是唯一的
name
定义元素名称,可以用于提交服务器的表单字段
value
定义在元素内显示的默认值
style
定义CSS样式,这些样式会覆盖之前设置的样式(第一天简单了解,第二天主要内容)
-
案例:04-基本语法-属性.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性title>
head>
<body>
<div class="cls">第一个divdiv>
<div class="cls">第二个divdiv>
<div id="d1">第三个divdiv>
<div id="d2">第四个divdiv>
<div style="background-color: red">第五个divdiv>
body>
html>
2.4 特殊字符
-
什么是特殊字符
- 在 html 中,像< > ” ’ 空格 & 都是特殊字符,它们是语法本身的一部分
- 那么你如何将这些字符包含进你的文本中呢
-
常用特殊字符表示
原义字符
等价字符引用
<
<
>
>
"
"
’
'
&
&
空格
- lt:less than ,小于
- gt:greater than,大于
- quot:quotation,引用
- amp : ampersand [ˈæmpəsænd],&符号
- nbsp:no-break space,不换行空格 ***
-
案例:05-基本语法-特殊字符.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>特殊字符title>
head>
<body>
本网站有 最终解释权 <br/> 本网站有 最终解释权
body>
html>
- 注意:
- HTML只识别一个空格,所以我们需要通过$npsp;来代替
- HTML不识别回车换行,我们一般通过标签
来代替
3 HTML案例-新闻文本
重点讲解:
- div布局的基本方式
- 文本标签的基本使用
文本结构的页面基本是由标题和段落构成的,内容结构化会使读者的阅读体验更轻松。
3.1 案例效果
3.2 案例分析
首先需要进行页面的布局,然后再填充文本样式(所有的网页都是这个思路)
3.2.1 div样式布局
文本由几部分构成,我们可以使用div将页面分割布局
先来了解一下,使用div如何进行简单的布局
在head标签中,通过style标签加入样式
- 基本格式:
格式:
- 多个属性名格式:
<style>
标签名{
属性名1:属性值1;
属性名2:属性值2;
属性名3:属性值3;
}
style>
-
代码
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>样式演示title>
<style>
div{
/*显示边框:1像素粗,实线,黑色*/
border: 1px solid black;
/*宽度 占屏幕的60%*/
width: 60%;
/*高度 500像素*/
height: 500px;
/*边框外边距:auto自动的意思,可以达到居中效果*/
margin: auto;
}
style>
head>
<body>
<div>第一个divdiv>
body>
html>
-
div的多样式:(复合属性:几个属性一起书写)
一个属性名可以含有多个值,同时设置多样式。
格式:
<style>
标签名{
属性名:属性值1 属性值2 属性值3;
}
style>
【提示】
为了布局方便,我们通常可以先设置边框的样式,进行布局。结束后,再去掉边框,直观展示完整界面。
3.2.2 文本标签
- 案例中有很多文本,所以需要用到很多文本标签
- 使用文本内容标签可以设置文字基本样式
标签名
作用
p
表示文本的一个段落
h
表示文档标题,–
,呈现了六个不同的级别的标题,
级别最高,而
级别最低
hr
表示段落级元素之间的主题转换,一般显示为水平线(这个其实不算是文本标签)
li
表示列表里的条目。
ul
表示一个无序列表,可含多个元素,无编号显示。
ol
表示一个有序列表,通常渲染为有带编号的列表
em
表示文本着重,一般用斜体显示
strong
表示文本重要,一般用粗体显示
font
表示字体,可以设置样式(已过时)
i
表示斜体
b
表示加粗文本
-
案例
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文本标签演示title>
head>
<body>
<p>这些年,马云的风头正盛,但是上个月他毅然辞去了阿里巴巴的职务。而马云所做的很多事情也的确改变了这个世界,特别是在移动支付领域,更是走在了世界的前列。如今中国的移动支付已经成为老百姓的必备,支付宝对中国社会的变革都带来了深远的影响。不过马云依然没有满足,他认为移动互联网将会成为人类的基础设施,而且这里面的机会和各种挑战还非常多。p>
<p>支付宝的诞生就是为了解决淘宝网的客户们的买卖问题,而随着支付宝的用户的不断增加,支付宝也推出了一系列的附加功能。比如生活缴费、转账汇款、还信用卡、车主服务、公益理财等,往简单的说,支付宝既可以满足人们的日常生活,又可以利用芝麻信用进行资金周转服务。除了芝麻分能够进行周转以外,互联网信用体系下的产品多多,我们对比以下几个产品看看区别:p>
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>
<hr size="4" color="red"/>
<ul type="circle">
<li>javaEEli>
<li>HTMLli>
ul>
<ol type="1" start="10">
<li>传智播客li>
<li>黑马程序员li>
ol>
<i>我倾斜了i>
<em>我倾斜了em>
<br/>
<strong>加粗文本strong>
<b>加粗文本b>
<br/>
<font size="5" color="yellow">这是一段文字font>
body>
html>
-
3.3 使用标签
- 简单布局,使用div标签。
- 文本样式,使用基本文本标签。
3.4 实现步骤
-
创建html文件
-
使用div标签划分区域(标题,作者,副标题,正文),设置div样式(宽度60%,外边距自动)
-
编辑正文
- 使用h1标签加入标题
- 使用em标签加入作者信息
- 使用hr标签加入分割线
- 使用h3标签加入副标题
- 使用p标签加入正文
- 使用ol标签,li标签加入列表信息
- 使用strong标签,加入文字强调效果
-
案例代码: (案例的文字可以复制)
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新闻文本title>
<style>
div{
/*宽度 60%*/
width: 60%;
/*外边距*/
margin: auto;
}
style>
head>
<body>
<div>
<h1>支付宝特权福利!芝麻分600以上用户惊喜,网友:幸福来得突然?h1>
div>
<div>
<i><font size="2" color="gray">作者:itheima 2088-08-08font>i>
<hr/>
div>
<div>
<h3>支付宝特权福利!芝麻分600以上用户惊喜,网友:幸福来得突然?h3>
div>
<div>
<p>这些年,马云的风头正盛,但是上个月他毅然辞去了阿里巴巴的职务。而马云所做的很多事情也的确改变了这个世界,特别是在移动支付领域,更是走在了世界的前列。如今中国的移动支付已经成为老百姓的必备,支付宝对中国社会的变革都带来了深远的影响。不过马云依然没有满足,他认为移动互联网将会成为人类的基础设施,而且这里面的机会和各种挑战还非常多。p>
<p>支付宝的诞生就是为了解决淘宝网的客户们的买卖问题,而随着支付宝的用户的不断增加,支付宝也推出了一系列的附加功能。比如生活缴费、转账汇款、还信用卡、车主服务、公益理财等,往简单的说,支付宝既可以满足人们的日常生活,又可以利用芝麻信用进行资金周转服务。除了芝麻分能够进行周转以外,互联网信用体系下的产品多多,我们对比以下几个产品看看区别:
<ol>
<li>蚂蚁借呗,芝麻分600并且受到邀请开通福利,这个就是支付宝贷款,直接秒杀了银行贷款和线下金融公司,是现在支付宝用户使用最多的。li>
<li>微粒贷:于2015年上线,主要面向QQ和微信征信极好的用户而推出,受到邀请才能申请开通,额度最高有30万,难度较大li>
<li>蚂蚁巴士:这个在微信 蚂蚁巴士 公众平台申请,对于信用分要求530分以上才可以,额度1-30万不等,目前非常火爆li>
ol>
p>
<p>说起支付宝中的芝麻信用功能,相信更是受到了许多人的推崇,因为随着自己使用的不断增多,信用分会慢慢提高,而达到了一个阶段,就可以获得许多的福利。而当我们的芝麻信用分可以达到600分以上的时候,会有令我们想象不到的惊喜,接下来就让我们一起来看看,具体都有哪些惊喜吧。p>
<p><b>一、芝麻分600以上福利之信用购。b>网购相信大家都不陌生,但是很多时候,网购都有一个通病,就是没办法试用,导致很多人买了很多自己不喜欢的东西。但是只要你的支付宝芝麻分在650及以上,就能立马享有0元下单,收到货使用满意了再进行付款。还能享用美食的专属优惠,是不是很耐斯p>
<p><b>二、芝麻分600以上福利之信用免押。b>芝麻信用与木鸟短租联合推出信用住宿服务,芝麻分600及以上的用户可享受免押入住特权。木鸟短租拥有全国50万套房源,是国内领先的短租民宿预订平台。包括大家知道的飞猪信用住,大部分酒店可以免押金入住,离店再交钱。p>
<p><b>三、芝麻分600以上福利之国际驾照。b>我们经常听说的可能只是中国驾照,但现在芝麻分已经应用到了国际领域,只要你的芝麻分够550就可以免费办理国际驾照,也有不少人非常佩服马云,一个简单的芝麻分居然有如此大的功能,也从侧面反应出来马云在国际上的地位,这个国际驾照是由新西兰、德国、澳大利亚联合认证,可以在全球200多个国家通行,相信大家一定都有一个自驾全球的梦想吧,而现在支付宝就给了你一把钥匙,剩下的就你自己搞定了!有没有想带着你的女神来一次浪漫之旅呢?p>
<p>随着互联网对我们生活的改变越来越大,信用这一词也被大家推上风口浪尖,不论是生活出行,还是其他的互联网服务,与信用体系已经密不可分了,马云当初说道,找老婆需要拼芝麻分,如今似乎也要成为现实,那么你们的芝麻分有多少了呢?p>
div>
body>
html>
4 HTML案例-头条页面
4.1 案例效果
4.2 案例分析
4.2.1 div布局的进阶
-
先对界面进行布局,然后填充内容(文本,图片,超链接)
-
想要将div布局成案例效果,首先需要对多个div进行区分,再分别设置每一个div自身的效果。
-
-
顶部登陆注册,导航条,底部超链接,都是一个div可以搞定
-
但是中间的三大块是站一行的,我们如果想用div,那如何将三个div放到一行呢?利用浮动
-
接下来我们学习给div设置类样式,和添加浮动
1)div的class值(给div添加类样式)
- 案例:01案例二:样式演示.html
- 首先编写五个个div,设置边框样式
<style>
/*给div标签添加边框*/
div{ border: 1px solid red;}
style>
<div>topdiv>
<div>navibardiv>
<div class="left">leftdiv>
<div class="center">centerdiv>
<div class="right">rightdiv>
-
发现通过div设置的样式都是一致的,无法个性化布局。如何区分不同的div呢?
-
使用class的值,格式:
.class值{
属性名:属性值;
}
<标签名 class="class值">
提示: class是自定义的值
- 所以,使用class属性值,可以帮助我们区分div,更加精确的设置标签的样式
- 那接下来我们来给left,center和right添加class类样式,设置浮动
2)浮动布局和清除
- 主体部分分为三列,而div是独占一行的,所以想要使用div布局,就还需要加入
浮动
属性。
-
浮动概念
-
float:指定一个元素应沿其容器的左侧或右侧放置,允许文本或者内联元素(行内元素)环绕它,该元素从网页的正常流动中移除,其他部分保持正常文档流顺序
-
格式:
float:none;不浮动
float:left;左浮动
float:right;右浮动
clear:both;清除两侧浮动,此元素不再受浮动元素布局影响
- 案例:继续刚刚的案例,分别给三个div添加class类样式
- 添加class属性
<div class="left">leftdiv>
<div class="center">centerdiv>
<div class="right">rightdiv>
- 定义class类样式
.left{
width: 20%;
float: left;
height: 500px;
}
.center{
width: 59%;
float: left;
height: 500px;
}
.right{
width: 20%;
float: left;
height: 500px;
}
- 加入
footer
部分
.footer{
border: 5px solid blue;
}
<div class="footer">footerdiv>
发现蓝框footer
的div,延续正常文档流布局,摆放在navibar
的下方,与浮动元素重叠。想要清除浮动影响,所以要设置清除浮动属性clear
。
.footer{
/*清除浮动效果*/
clear: both;
/*文本对齐方式: left,center,right
之前学习的align:center,是标签的属性,不是css样式
*/
text-align: center;
border: 5px solid blue;
}
"footer">footer
4.2.2 图片标签
- 案例中还会使用图片,我们来研究一下图片
标签名
作用
备注
img
可以显示一张图片(本地或网络)
src属性,这是一个必需的属性,表示图片的地址。
- 其他属性:
属性名
作用
备注
title
鼠标悬停(hover)时显示文本。
alt
图形不显示时的替换文本。
height
图像的高度。
width
图像的宽度。
-
案例:02案例二:图片标签演示.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片标签演示title>
head>
<body>
<img src="../img/ad1.jpg" title="广告" alt="图片找不到啦" width="150px" height="150px"/>
body>
html>
-
4.2.3 超链接
- 案例中还会使用到超链接,我们来学习一下
标签名
作用
备注
a
表示超链接。
href属性,表示超链接指向的URL地址。
属性名
作用
target
页面的打开方式(_self当前页 _blank新标签页)。
- 去掉下划线:根据某些样式的布局需求,去除下划线更为美观
a {
text-decoration:none; // none 表示不显示
}
-
案例
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>超链接标签演示title>
<style>
a{
/*去掉超链接的下划线*/
text-decoration: none;
/*超链接的颜色*/
color: black;
}
/*鼠标悬浮的样式控制*/
a:hover{
color: red;
}
style>
head>
<body>
<a href="01案例二:样式演示.html" target="_blank">点我跳转到样式演示a> <br/>
<a href="http://www.itcast.cn" target="_blank">传智播客a> <br/>
<a href="http://www.itheima.com" target="_self">黑马程序员a> <br/>
<a href="http://www.itheima.com" target="_blank"><img src="../img/itheima.png" width="150px" height="50px"/>a>
body>
html>
-
4.3 实现步骤
4.3.1 准备工作
-
新建html:04案例二:头条页面.html
-
界面结构:其实就是给“01案例二:样式演示.html”,拿过来,给left,center,right的高度去掉了,后边我们填充过内容,自然就有高度了
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>样式演示title>
<style>
/*给div标签添加边框*/
div {
border: 1px solid red;
}
/*左侧图片的div样式*/
.left {
width: 20%;
float: left;
}
/*中间正文的div样式*/
.center {
width: 59%;
float: left;
}
/*右侧广告图片的div样式*/
.right {
width: 20%;
float: left;
}
/*底部超链接的div样式*/
.footer {
/*清除浮动效果*/
clear: both;
/*文本对齐方式*/
text-align: center;
/*背景颜色*/
background: blue;
}
style>
head>
<body>
<div>topdiv>
<div>navibardiv>
<div class="left">leftdiv>
<div class="center">centerdiv>
<div class="right">rightdiv>
<div class="footer">footerdiv>
body>
html>
-
4.3.2 实现顶部条
- 修改top那个div如下:(图片从当天 “资料\img” 目录下拿)
<div class="top_bar">
<img src="../img/j1.png">
div>
- 样式代码
img{
width: 100%;
}
- 效果如下
4.3.3 实现导航条
- 修改导航条div如下:
<div class="nav_bar">
<img src="../img/j2.png" width="100%">
div>
<hr size="1"/>
- 效果如下:
###4.3.4 实现左部分享
- 修改left那个div如下:
<div class="left">
<img src="../img/j3.png" />
div>
- 效果如下:
4.3.5 实现中部正文
- 修改center那个div,将之前的“03-新闻文本案例.html”的body里素有的内容copy过来即可(也可从下述代码copy)
<div>
<h1>支付宝特权福利!芝麻分600以上用户惊喜,网友:幸福来得突然?h1>
div>
<div>
<i><font size="2" color="gray">作者:itheima 2088-08-08font>i>
<hr/>
div>
<div>
<h3>支付宝特权福利!芝麻分600以上用户惊喜,网友:幸福来得突然?h3>
div>
<div>
<p>这些年,马云的风头正盛,但是上个月他毅然辞去了阿里巴巴的职务。而马云所做的很多事情也的确改变了这个世界,特别是在移动支付领域,更是走在了世界的前列。如今中国的移动支付已经成为老百姓的必备,支付宝对中国社会的变革都带来了深远的影响。不过马云依然没有满足,他认为移动互联网将会成为人类的基础设施,而且这里面的机会和各种挑战还非常多。p>
<p>支付宝的诞生就是为了解决淘宝网的客户们的买卖问题,而随着支付宝的用户的不断增加,支付宝也推出了一系列的附加功能。比如生活缴费、转账汇款、还信用卡、车主服务、公益理财等,往简单的说,支付宝既可以满足人们的日常生活,又可以利用芝麻信用进行资金周转服务。除了芝麻分能够进行周转以外,互联网信用体系下的产品多多,我们对比以下几个产品看看区别:
<ol>
<li>蚂蚁借呗,芝麻分600并且受到邀请开通福利,这个就是支付宝贷款,直接秒杀了银行贷款和线下金融公司,是现在支付宝用户使用最多的。li>
<li>微粒贷:于2015年上线,主要面向QQ和微信征信极好的用户而推出,受到邀请才能申请开通,额度最高有30万,难度较大li>
<li>蚂蚁巴士:这个在微信 蚂蚁巴士 公众平台申请,对于信用分要求530分以上才可以,额度1-30万不等,目前非常火爆li>
ol>
p>
<p>说起支付宝中的芝麻信用功能,相信更是受到了许多人的推崇,因为随着自己使用的不断增多,信用分会慢慢提高,而达到了一个阶段,就可以获得许多的福利。而当我们的芝麻信用分可以达到600分以上的时候,会有令我们想象不到的惊喜,接下来就让我们一起来看看,具体都有哪些惊喜吧。p>
<p><b>一、芝麻分600以上福利之信用购。b>网购相信大家都不陌生,但是很多时候,网购都有一个通病,就是没办法试用,导致很多人买了很多自己不喜欢的东西。但是只要你的支付宝芝麻分在650及以上,就能立马享有0元下单,收到货使用满意了再进行付款。还能享用美食的专属优惠,是不是很耐斯p>
<p><b>二、芝麻分600以上福利之信用免押。b>芝麻信用与木鸟短租联合推出信用住宿服务,芝麻分600及以上的用户可享受免押入住特权。木鸟短租拥有全国50万套房源,是国内领先的短租民宿预订平台。包括大家知道的飞猪信用住,大部分酒店可以免押金入住,离店再交钱。p>
<p><b>三、芝麻分600以上福利之国际驾照。b>我们经常听说的可能只是中国驾照,但现在芝麻分已经应用到了国际领域,只要你的芝麻分够550就可以免费办理国际驾照,也有不少人非常佩服马云,一个简单的芝麻分居然有如此大的功能,也从侧面反应出来马云在国际上的地位,这个国际驾照是由新西兰、德国、澳大利亚联合认证,可以在全球200多个国家通行,相信大家一定都有一个自驾全球的梦想吧,而现在支付宝就给了你一把钥匙,剩下的就你自己搞定了!有没有想带着你的女神来一次浪漫之旅呢?p>
<p>随着互联网对我们生活的改变越来越大,信用这一词也被大家推上风口浪尖,不论是生活出行,还是其他的互联网服务,与信用体系已经密不可分了,马云当初说道,找老婆需要拼芝麻分,如今似乎也要成为现实,那么你们的芝麻分有多少了呢?p>
div>
-
添加图片
#ol下添加
<img src="../img/1.jpg" width="100%"/>
# 二、芝麻分600以上福利之信用免押。 下添加
<img src="../img/2.jpg" width="100%"/>
-
4.3.6 实现右侧广告
- 修改right那个div如下:
<div class="right">
<img src="../img/ad1.jpg" width="100%"/>
<img src="../img/ad2.jpg" width="100%"/>
<img src="../img/ad3.jpg" width="100%"/>
<img src="../img/ad1.jpg" width="100%"/>
<img src="../img/ad2.jpg" width="100%"/>
<img src="../img/ad3.jpg" width="100%"/>
div>
- 效果如下:
4.3.7 实现底部页脚
- 修改footer那个div如下:
<div class="footer">
<a href="#">关于黑马a>
<a href="#">帮助中心a>
<a href="#">开放平台a>
<a href="#">诚聘英才a>
<a href="#">联系我们a>
<a href="#">法律声明a>
<a href="#">隐私政策a>
<a href="#">知识产权a>
<a href="#">廉政举报a>
div>
- 样式代码
/*去除div的样式*/
/*div{
border: 1px solid red;
}*/
/*修改中间宽度为60% (去掉边框之后,左中右宽度加起来应该是百分百才对)*/
.center{
width: 60%;
float: left;
}
/*超链接的样式控制*/
a{
color: white;
text-decoration: none;
}
5 HTML案例-注册页面
5.1 案例效果
5.2 案例分析
- 首先进行页面布局,然后填充内容(表单)
- 这个案例需要用到表单和背景图片,我们先来学习一下
5.2.1 背景图片
-
设置背景的格式:
背景色:
background-color: black;
背景图:
background-image: url("../img/bg.png");
也可以使用background复合属性:
background: black url("../img/bg.png") no-repeat;
#可以同时设置背景颜色和背景图片
#但是如果想同时看到背景图片和背景颜色,需要有两点
# 1. 背景图片不能与标签一样大
# 2. 背景图片需要设置no-repeat,不重复
-
案例:新建案例三文件夹,然后新建html:01案例三:样式演示.html
-
代码实现
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>背景图片title>
<style>
body{
/*添加背景图片*/
background: url("../img/bg.png");
}
style>
head>
<body>
body>
html>
-
效果
-
补充:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>背景图片title>
<style>
div {
/*添加背景图片*/
width: 500px;
height: 600px;
background: black url("../img/ad1.jpg") no-repeat;
}
style>
head>
<body>
<div>div>
body>
html>
5.2.2 表单标签
- 表单标签介绍
标签名
作用
备注
form
表示表单,是用来收集用户输入信息并向 Web 服务器提交的一个容器
- 举例
<form >
//表单元素
form>
- 表单的属性
属性名
作用
备注
action
处理此表单信息的Web服务器的URL地址
没有url,写#
method
提交此表单信息到Web服务器的方式
可能的值有get和post,默认为get
autocomplete
自动补全,指示表单元素是否能够拥有一个默认值,配合input标签使用
值为on,off
- 举例:
<form action="/web/login" method="get">
form>
<form action="/web/reg" method="post">
form>
- GET与POST说明:
post
:指的是 HTTP POST 方法;表单数据会包含在表单体内然后发送给服务器。表单数据不会显示在地址栏中,数据封装在请求体中,安全。长度没有限制。
get
:指的是 HTTP GET 方法;表单数据会附加在 action
属性的URI中,并以 ‘?’ 作为分隔符,然后这样得到的 URI 再发送给服务器。表单数据会显示在地址栏中,不安全。地址栏的url长度有限制。
- GET与POST对比:
地址栏可见
数据安全
数据大小
GET
可见
不安全
有限制(取决于浏览器)
POST
不可见
相对安全
无限制
-
案例:02案例三:表单标签演示.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单标签的演示title>
head>
<body>
<form action="#" method="get" autocomplete="off">
用户名:<input type="text" name="username"/>
<button type="submit">提交button>
form>
<form action="#" method="post" autocomplete="off">
用户名:<input type="text" name="username"/>
<button type="submit">提交button>
form>
body>
html>
-
-
5.2.3 表单项标签入门
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单项标签title>
head>
<body>
<form action="#" method="get" autocomplete="off">
<label for="username">用户名:label>
<input type="text" id="username" name="username" value="" placeholder=" 请在此处输入用户名" required/>
<button type="submit">提交button>
<button type="reset">重置button>
<button type="button">按钮button>
form>
body>
html>
5.2.4 关于属性值
1)NAME和VALUE属性
属性名
作用
name
的名字,在提交整个表单数据时,可以用于区分属于不同
的值
value
这个
元素当前的值,允许用户通过页面输入
使用方式:
以name属性值作为键,value属性值作为值,构成键值对提交到服务器,多个键值对浏览器使用&
进行分隔。
2)TYPE属性
-
基本的文本属性
属性值
作用
备注
text
单行文本字段
password
单行文本字段,值被遮盖
email
用于编辑 e-mail 的字段,可以对e-mail地址进行简单校验
HTML5
举例:
<form action="#" method="get">
<label for="username">Username:label>
<input type="text" id="username" name="username"> <br/>
<label for="password">Password:label>
<input type="password" id="password" name="password"><br/>
<label for="email">Email: label>
<input type="email" id="email" name="email"><br/>
<button type="submit"> loginbutton>
form>
-
单选多选属性
属性值
作用
radio
单选按钮。 1. 在同一个”单选按钮组“中,所有单选按钮的 name 属性使用同一个值;一个单选按钮组中是,同一时间只有一个单选按钮可以被选择。 2. 必须使用 value 属性定义此控件被提交时的值。 3. 使用checked 必须指示控件是否缺省被选择。
checkbox
复选框。 1. 必须使用 value 属性定义此控件被提交时的值。 2. 使用 checked 属性指示控件是否被选择。 3. 选中多个值时,所有的值会构成一个数组而提交到Web服务器
举例:
<form action="#" method="get">
<label for="gender">性别:label>
<input type="radio" id="gender" name="gender" value="boy"/>男
<input type="radio" name="gender" value="girl" checked="checked"/>女
<hr/>
<label for="hobby">爱好: label>
<input type="checkbox" id="hobby" name="hobby" value="sport"/> 体育
<input type="checkbox" name="hobby" value="tech"/> 科技
<input type="checkbox" name="hobby" value="fun" /> 娱乐
<input type="checkbox" name="hobby" value="video" checked="checked"/> 短视频
form>
-
按钮属性
属性值
作用
button
无行为按钮,用于结合JavaScript实现自定义动态效果
submit
提交按钮,用于提交表单数据。
reset
重置按钮,用于将表单中内容恢复为默认值。
image
图片提交按钮。必须使用 src 属性定义图片的来源及使用 alt 定义替代文本。还可以使用 height 和 width 属性以像素为单位定义图片的大小。
-
HTML5新增的type值
属性值
作用
备注
date
HTML5 用于输入日期的控件
年,月,日,不包括时间
time
HTML5 用于输入时间的控件
不含时区
datetime-local
HTML5 用于输入日期时间的控件
不包含时区
number
HTML5 用于输入浮点数的控件
range
HTML5 用于输入不精确值控件
max-规定最大值
min-规定最小值
step-规定步进值
value-规定默认值
search
HTML5 用于输入搜索字符串的单行文本字段
可以点击x
清除内容
tel
HTML5 用于输入电话号码的控件
url
HTML5 用于编辑URL的字段
可以校验URL地址格式
属性值
作用
备注
file
此控件可以让用户选择文件,用于文件上传。
使用 accept 属性可以定义控件可以选择的文件类型。
hidden
此控件用户在页面上不可见,但它的值会被提交到服务器,用于传递隐藏值
-
button标签的type属性
属性值
作用
备注
submit
此按钮将表单数据提交给服务器。如果未指定属性,或者属性动态更改为空值或无效值,则此值为默认值。
同
reset
此按钮重置所有组件为初始值。
同/>
button
此按钮没有默认行为。它可以有与元素事件相关的客户端脚本,当事件出现时可触发。
同
-
案例
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>type属性演示title>
head>
<body>
<form action="#" method="get" autocomplete="off">
<label for="username">用户名:label>
<input type="text" id="username" name="username"/> <br/>
<label for="password">密码:label>
<input type="password" id="password" name="password"/> <br/>
<label for="email">邮箱:label>
<input type="email" id="email" name="email"/> <br/>
<label for="gender">性别:label>
<input type="radio" id="gender" name="gender" value="men"/>男
<input type="radio" name="gender" value="women"/>女
<input type="radio" name="gender" value="other"/>其他<br/>
<label for="hobby">爱好:label>
<input type="checkbox" id="hobby" name="hobby" value="music" checked/>音乐
<input type="checkbox" name="hobby" value="game"/>游戏 <br/>
<label for="birthday">生日:label>
<input type="date" id="birthday" name="birthday"/> <br/>
<label for="time">当前时间:label>
<input type="time" id="time" name="time"/> <br/>
<label for="insert">注册时间:label>
<input type="datetime-local" id="insert" name="insert"/> <br/>
<label for="age">年龄:label>
<input type="number" id="age" name="age"/> <br/>
<label for="range">心情值(1~10):label>
<input type="range" id="range" name="range" min="1" max="10" step="1"/> <br/>
<label for="search">可全部清除文本:label>
<input type="search" id="search" name="search"/> <br/>
<label for="tel">电话:label>
<input type="tel" id="tel" name="tel"/> <br/>
<label for="url">个人网站:label>
<input type="url" id="url" name="url"/> <br/>
<label for="file">文件上传:label>
<input type="file" id="file" name="file"/> <br/>
<label for="hidden">隐藏信息:label>
<input type="hidden" id="hidden" name="hidden" value="itheima"/> <br/>
<button type="submit">提交button>
<button type="reset">重置button>
form>
body>
html>
5.2.5 其他常用表单项标签
标签名
作用
备注
**select **
表单的控件,下拉选项菜单
与option配合实用
optgroup
option的分组标签
与option配合实用
**option **
select的子标签,表示一个选项
textarea
表示多行纯文本编辑控件
rows表示行高度, cols表示列宽度
fieldset
用来对表单中的控制元素进行分组(也包括 label 元素)
legend
用于表示它的fieldset内容的标题。
fieldset 的子元素
select举例:
<label for="pet-select">Choose a pet:label>
<select name="pets" id="pet-select">
<option value="">--Please choose an option--option>
<option value="dog">Dogoption>
<option value="cat">Catoption>
<option value="hamster">Hamsteroption>
<option value="parrot">Parrotoption>
<option value="spider">Spideroption>
<option value="goldfish">Goldfishoption>
select>
textarea举例:
<textarea name="textarea" rows="10" cols="50">Write something heretextarea>
fieldset举例:
<form action="#" method="post">
<fieldset>
<legend>是否同意legend>
<input type="radio" id="radio_y" name="agree" value="y">
<label for="radio_y">同意label>
<input type="radio" id="radio_n" name="agree" value="n">
<label for="radio_n">不同意label>
fieldset>
form>
-
视频中案例:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>其他常用表单项标签演示title>
head>
<body>
<form action="#" method="get" autocomplete="off">
所在城市:<select name="city">
<option>---请选择城市---option>
<optgroup label="直辖市">
<option>北京option>
<option>上海option>
optgroup>
<optgroup label="省会市">
<option>杭州option>
<option>武汉option>
optgroup>
select>
<br/>
个人介绍:<textarea name="desc" rows="5" cols="20">textarea>
<button type="submit">提交button>
<button type="reset">重置button>
form>
body>
html>
5.4 实现步骤
-
案例:06案例三:注册页面.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页面title>
<style>
body{
background: url("../img/bg.png");
}
.center{
/*背景颜色*/
background: white;
/*宽度*/
width: 400px;
/*文本对齐方式*/
text-align: center;
/*外边距*/
margin: auto;
}
style>
head>
<body>
<div>
<img src="../img/logo.png"/>
div>
<div class="center">
<div>注册详情div>
<hr/>
<form action="#" method="get" autocomplete="off">
<div>
<label for="username">姓名:label>
<input type="text" id="username" name="username" value="" placeholder=" 在此输入姓名" required/>
div>
<div>
<label for="password">密码:label>
<input type="password" id="password" name="password" value="" placeholder=" 在此输入密码" required/>
div>
<div>
<label for="email">邮箱:label>
<input type="email" id="email" name="email" value="" placeholder=" 在此输入邮箱" required/>
div>
<div>
<label for="tel">手机:label>
<input type="tel" id="tel" name="tel" value="" placeholder=" 在此输入手机" required/>
div>
<hr/>
<div>
<label for="gender">性别:label>
<input type="radio" id="gender" name="gender" value="men"/>男
<input type="radio" name="gender" value="women"/>女
div>
<div>
<label for="hobby">爱好:label>
<input type="checkbox" id="hobby" name="hobby" value="music"/>音乐
<input type="checkbox" name="hobby" value="movie"/>电影
<input type="checkbox" name="hobby" value="game"/>游戏
div>
<div>
<label for="birthday">出生日期:label>
<input type="date" id="birthday" name="birthday" value=""/>
div>
<div>
<label for="city">所在城市:label>
<select id="city" name="city">
<option>---请选择所在城市---option>
<optgroup label="直辖市">
<option>北京option>
<option>上海option>
<option>广州option>
<option>深圳option>
optgroup>
<optgroup label="省会市">
<option>西安option>
<option>杭州option>
<option>郑州option>
<option>武汉option>
optgroup>
select>
div>
<hr/>
<div>
<label for="desc">个性签名:label>
<textarea id="desc" name="desc" rows="5" cols="40" placeholder=" 请写下您的与众不同">textarea>
div>
<hr/>
<button type="submit">注册button>
<button type="reset">重置button>
form>
div>
body>
html>