web前端就是提供数据交互的平台。 具体有:html,css,js三个部分。
如果把前端比做写的一封信:
接上面的把前端当做一封信的假设
在<head>中加入<style> 添加css样式,如:对齐,大小,高度,宽度,颜色,布局,圆角
<body>中加<script> 添加js实现交互,将数据传递给用户,用户又将操作的信息传递给网站
菜单栏常用FILE下(通常操作关于文件、工程)
New Project创建工程
New 会弹出一个列表供选择要创建的类型
Open 打开一个项目
Save As 将当前页面另存为
Reopen Project 近几次打开的项目列表
Close Project 点击后回到欢迎页面上
Rename Project 它修改的不是当前项目的文件夹名,而是文件夹目录下.idea的以iml结尾的文件,这个是项目的名字。rename后观察iml文件名的变化。
settings 常用设置
Exit 退出Webstorm
---
<html>
就是一个标签<p></p>
<br/>
指的是从开始标签(start tag)到结束标签(end tag)的所有代码
某些 HTML 元素具有空内容(empty content) 空元素在开始标签中进行关闭(以开始标签的结束而结束) 大多数 HTML 元素可拥有属性
<!-- 注释的文本内容 -->
<!DOCTYPE html><!--文档类型声明-->
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title><!--文档标题,一个网页只能有一个标题-->
</head>
<body>
</body>
</html>
<head lang="en">
lang是language的意思,lang=”en”属性对每张页面中的主要语言进行声明,en代表了英文,还有常见的值是zh-CN,代表了中文。 (这样写让搜索引擎知道你的这个站点是中文还是英文网站)
<meta charset="UTF-8">
meta标签用来描述一个HTML网页文档的属性,此处的charset=”utf-8”是说当前使用的是utf-8编码格式 GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准,GBK编码专门用来解决中文编码的,是双字节的。UTF-8 编码是用以解决国际上字符的一种多字节编码。
DTD文档模型也称DOCTYPE文档声明,它是Document Type Definition(文档类型定义)的英文缩写,在HTML文档中,用来指定页面所使用的HTML(或者XHTML)的版本。只有确定了一个正确的DOCTYPE,HTML里的标识和CSS才能正常生效。它一般被定义在页面的第一行,html标签之前。 注:它不是HTML标签。 DTD文档模型=DOCTYPE=DOCTYPE文档声明
XHTML是HTML向XML的一个过渡语言,在最初W3C组织希望把HTML变成更为严谨的标记语言(如XML),但HTML的已经应用的太为广泛,全部换掉不太现实。因此产生了XHTML这样一种过度形式。它比HTML更严谨,基本标签都还是沿用了HTML,但废除了“表现层”的标签,同时要求标签的严格嵌套,标签结束等等。
<html>
定义 HTML 文档,这个元素我们浏览器看到后就明白这是个HTML文档了,所以你的其它元素要包裹在它里面,标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。
<html>
<head>
<title>我的第一个 HTML 页面</title>
</head>
<body>
<p>body 元素的内容会显示在浏览器中。</p>
</body>
</html>
标签用于定义文档的头部,它是所有头部元素的容器。<head>
中的元素可以引用脚本、指示浏览器在哪里找到样式表。文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。
下面这些标签可用在 head 部分:
<title>、<meta>、<link>、<style>、 <script>。
<title>
:
<title>
标签是 <head>
标签中唯一必须要求包含的东西,就是说写head一定要写title,不是说其它的不加,而是title一定要加。<html>
<head>
<title>我会显示在收藏栏里</title>
</head>
<body>...</body>
</html>
**<meta>
**可提供有关页面的元信息(meta-information),用来向浏览器或搜索引擎描述页面。比如文档的描述和关键词。它只可以放在head中。属于元信息标签。
常见的meta有:
<meta name="keywords" content="Lotay,csdn,前端,html">
<meta name="description" content="Lotay,csdn,前端,html">
<meta name="author" content="root,root@xxxx.com">
标签 | 作用 |
---|---|
<p></p> | 段落标签 |
<hn></hn> | 段落标签(n为1-6) |
<br/> | 换行标签 |
<hr/> | 水平线标签 |
<span></span> | 无语义标签 |
加粗:<strong>…</strong>或者<b>…</b>
斜体:<em>…</em>或者<i>…</i>
中划线:<s>…</s>或者<del></del>
标签 | 描述 |
---|---|
<b></b> | 粗体 |
<u></u> | 下划线 |
<i></i> | 斜体 |
<strong></strong> | 加重语气 |
<em></em> | 着重 |
<del></del> | 删除 |
<small></small> | `小号 |
<sup></sup> | 上标 |
<sub></sub> | 下标 |
<ins></ins> | 插入 |
特殊符号 | 字符实体 |
---|---|
空格 | |
大于符号(>) | > |
小于符号(<) | < |
引号(") | " |
版权符号@ | © |
<hr>
:
在 HTML 页面中创建一条水平线。可以在视觉上将文档分隔成各个部分。
属性:
示例——使水平线在页面中间显示,它的宽度为页面的50%
<hr align="center" width="50%" />
<pre></pre>
:
被包围在 pre 元素中的文本通常会保留空格和换行符
示例——用pre定义有换行的文本
<body>:
<pre>
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
</pre>
</body>
<img src="URL" width="300" alt=”替换文本属性”/>
title定义了鼠标经过图片时显示的内容,搜索引擎抓取图片时,是根据title定义的内容来分析图片是什么的 alt当图片未能正常显示时,用于给用户的提示信息
比如下面的,图片,文本,超链接的显示并对齐:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>work2</title>
<style>
p{
text-align:center;
font-size: 50px;
color: aliceblue;
}
.a1{
color: antiquewhite;
font-size: 30px;
}
</style>
</head>
<body bgcolor="#4fa286">
<div align="middle">
<img src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=546572147,4046548459&fm=26&gp=0.jpg"
width="40%" alt="无法找到图片" >
</div>
<p class="p1">今天用Forest在尚学堂坚持学习了5个小时,我真棒!</p>
<div align="middle"><a href="https://www.forestapp.cc/" class="a1" >你好呀,我是Forest的官网</a></div>
</body>
</html>
1.使用<a></a>
元素创建一个超链接
2.语法:
<a href="" target="" title=””>文本</a>
href属性:链接URL target属性:目标,可取值_blank,_self等 name属性:锚点名称 title属性:定义了鼠标经过时的提示文字
<a href="#锚点名">目录</a>
1.id="锚点名"
2.<a name="锚点名"></a>
<hr>
:
1. align 水平对齐方式 属性值:left center right
2. width 水平线的宽度
3. size 水平线的高度
4. color 颜色
<pre></pre>
预文本标签
被包围在 pre 元素中的文本通常会保留空格和换行符
如下,用pre定义有换行的文本:
<body>
<pre>
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
</pre>
</body>
1.在 html 页面中,合理的使用列表标签可以起到提纲和格式排序文件的作用 2.列表分为两类:一是无序列表,一是有序列表
标签 | 描述 |
---|---|
<ul> | 定义无序列表 |
<ol> | 定义有序列表 |
<dl> | 自定义列表 |
<li> | 列表项目的标记 |
<ul>
<li>第一项</li>
<li>第二项</li>
<li>第三项</li>
</ul>
<ul><li>
的属性type 拥有的选项
比如下面是一个超链接水平导航栏:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无序列表</title>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 10px;
overflow: hidden;
background-color:#74b8fc;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover {
background-color:blue;
}
</style>
</head>
<body>
<div>
<ul>
<li><a href="https://www.itbaizhan.cn/dashboard.html"> 学习中心 </a></li>
<li><a href="https://www.itbaizhan.cn/live.html"> 直播课 </a></li>
<li><a href="https://www.itbaizhan.cn/vips"> 价格 </a></li>
<li><a href="https://www.itbaizhan.cn/teacher/"> 师资 </a></li>
<li><a href="https://www.itbaizhan.cn/trainings"> 实操 </a></li>
<li><a href="https://www.itbaizhan.cn/questions"> 问答 </a></li>
<li><a href="https://www.itbaizhan.cn/about/question"> 常见问题 </a></li>
<li><a href="https://www.itbaizhan.cn/about/example"> 百战故事 </a></li>
<li><a href="https://www.itbaizhan.cn/course/update"> 课程更新 </a></li>
<li><a href="https://www.itbaizhan.cn/abouts"> 关于我们 </a></li>
</ul>
</div>
</body>
</html>
<ol>
<li>第一项</li>
<li>第二项</li>
<li>第三项</li>
</ol>
<ol><li>
的属性type 拥有的选项
<dl>
<dt>第1项</dt>
<dd>注释1</dd>
<dt>第2项</dt>
<dd>注释2</dd>
<dt>第3项</dt>
<dd>注释3</dd>
</dl>
定义列表默认为两个层次,第一层为列表项标签<DT>
,第二层为注释项标签<DD>
标签 | 作用 |
---|---|
< table> | 表格 |
<tr> | 行,只能包含<td>或<th>元素定义单元格 |
<td> | 单元格 |
<caption> | 表格标题 |
<th> | 表格页眉的单元格 |
<thead> | 表格头 |
<tbody> | 表格的主体 |
<tfoot> | 表格脚 |
如下,2行2列表格代码示列:
<body>
<table border="1" width="300">
<caption>表格标题</caption>
<tr>
<td>第一行第一列</td>
<td>第一行第二列</td>
</tr>
<tr>
<td>第二行第一列</td>
<td>第二行第二列</td>
</tr>
</table>
</body>
属性 | 描述 | 说明 |
---|---|---|
width | 表格的宽度 | |
height | 表格的高度 | |
align | 表格在页面的水平摆放位置 | |
background | 表格的背景图片 | |
bgcolor | 表格的背景颜色 | |
border | 表格边框的宽度(以像素为单位) | 表格默认没有边框 |
bordercolor | 表格边框颜色 | 当border> = 1时起作用 |
cellspacing | 单元格之间的间距 | |
cellpadding | 单元格内容与单元格边界之间的空白距离大小 |
表格是按行和列(单元格)组成的,一个表格有几行组成就要有几个行标签<tr>
属性 | 描述 |
---|---|
height | 行高 |
align | 行内容的水平对齐 |
valign | 行内容的垂直对齐 |
bgcolor | 行的背景颜色 |
一个表格有几列组成就要有几个列标签<td>
属性 | 描述 |
---|---|
width/height | 单元格的宽和高 |
align | 设置水平对齐方式,可取值left,center,right |
valign | 设置垂直对齐方式,可取值top,middle,bottom |
bgcolor | 单元格的背景颜色 |
colspan | 设置单元格跨列 |
rowspan | 设置单元格跨行 |
属性 | 描述 |
---|---|
colspan | 跨列合并 |
rowspan | 跨行合并 |
需要注意:
如下,合并一个2行2列表格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>合并单元格</title>
</head>
<body>
<table border="1px" width="300px" height="300px" align="center">
<tr>
<td bgcolor="#ffc1cb"></td>
<td rowspan="2" bgcolor="#0000ff"></td>
</tr>
<tr>
<td bgcolor="#8b2ae3"></td>
</tr>
</table>
</body>
</html>
—
Iframe(Inner Frame)内联框架 iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。 iframe是属于内联框架,它是body的子级,和body是父子关系。 iframe作为一个普通元素放在body里
属性
表单在网页中主要负责数据采集功能,它用标签定义。用户输入的信息都要包含在form标签中,点击提交后,和里面包含的数据将被提交到服务器或者电子邮件里。 所有的用户输入内容的地方都用表单来写,如登录注册、搜索框。
表单在 Web 网页中用来给访问者填写信息,从而能采集客户端信息,使网页具有交互的功能。
<input type="text" >
默认值是type=“text”<input type="password"/>
<input type="radio" name=””/>
<input type="checkbox"/>
<input type="hidden"/>
<input type="file"/>
<select>
标签
— <select><option value="1">北京</option></select>
<textarea></textarea>
<input type="submit"/>
<input type="button"/>
<input type="reset"/>
<input type="file"/>
属性:
使用file类型的input时要注意以下几点
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file1"/>
</form>
<input type="text" />
属性:
<input type="password" />
属性:
<input type="radio" />
属性:
<input type="checkbox" />
属性:
select属性:
option属性:
<textarea></textarea>
属性:
<textarea name="" id="" cols="30" rows="10"></textarea>
表单是由窗体和控件组成的,一个表单一般应该包含用户填 写信息的输入框,提交按钮等,这些输入框,按钮叫做控件,表单很像容器,它能够容纳各种各样的控件。
表单标签的格式:
<form action="url" method=get|post name="myform" ></form>
一个完整的表单包含三个基本组成部分: 表单标签、表单域、表单按钮。
是指<form>
标签本身,它是一个包含表单元素的区域,使用定义
是<form>
标签中用来收集用户输入的每一项,通常用input标签来定义,input标签有不同的类型,对应用户不同的数据。(比如:文本域、下拉列表、单选框、复选框等等)
用来提交<form>
表单中的所有信息到服务器
*表单域和表单按钮都属于表单元素。
功能描述:输入E-mail地址的文本框
语法:<input type="email"/>
注意:输入的内容中必须包含"@","@"后面必须具有内容
功能描述:输入搜索关键字的文本框
语法:<input type="search"/>
功能描述:输入WEB站点的文本框
语法:<input type="url"/>
注意:输入的内容中必须包含"http://",后面必须有内容
功能描述:预定义的颜色拾取控件
语法:<input type="color"/>
功能描述:只能接受数字 语法: 属性:min:当前域能接受的最小值 max:当前域能接受的最大值 step:决定了域所接受值递增或递减的步长,默认为1
功能描述:创建一个日期输入域
语法:<input type="date" />
功能描述:与date类型相似,但只能选择周
语法:<input type="week" />
功能描述:与date类型相似,但只能选择月份
语法:<input type="month" />
placeholder
作用:默认提示
语法:<input type="text" placeholder="请输入用户名"/>
multiple
作用:支持在一个域中输入多个值,逗号隔开,一般配合邮箱和URL使用
语法:<input type="email" multiple/>
autofocus
作用:自动获取焦点
语法:<input type="text" autofocus/>
required
作用:防止域为空提交表单时
语法:<input type="text" required/>
minlength和 maxlength
作用:定制元素允许的最小字符数和最大字符数
语法:<input type="text" minlength="6" maxlength="18"/>
min和max
作用:定制元素允许的最小数字和最大数字
语法:<input type="number" min=”0” max=”100”/>
常见的html5新增语义化标签
<header>...</header>
头部
<nav>...</nav>
导航
<section>...</section>
定义文档中的节。比如章节、页眉、页脚或文档中的其它部分
<aside>...</aside>
侧边栏
<footer>...</footer>
页脚
<article>...</article>
代表一个独立的、完整的相关内容块,可独立于页面其它内容使用。例如一篇完整的论坛帖子,一篇博客文章,一个用户评论等
<details>
标签用于描述文档或文档某个部分的细节
IE不支持 <details>
标签
<details>
<summary>details中的标题</summary>
<p>详细的内容</p>
</details>
<video> </video>
标签
<video>
标签定义视频,比如电影片段或其他视频流
<video src="movie.mp4" controls>
您的浏览器不支持 video 标签。
</video>
支持的3种格式:
<audio></audio>
标签
<audio>
标签定义声音,比如音乐或其他音频流
<audio src="someaudio.mp3">
您的浏览器不支持 audio 标签。
</audio>
<embed/>
标签
<embed>
标签定义嵌入的内容,比如插件,当然也可以用来嵌入声音
<embed>
标签必须有 src 属性
<embed src="helloworld.mp4" />
<canvas> </canvas>
标签
canvas只是个容器,你可以通过控制坐标在canvas上绘制图形。
一般canvas配合js使用能实现非常复杂的动画效果
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>画布</title>
<style type="text/css">
canvas{
background-color: gray;
}
</style>
</head>
<body>
<!--
canvas标签:
1.canvas必须配合js在网页上绘制图像
2.画布是一个矩形区域,我们可以控制其每一个像素
3.canvas拥有多种绘制路径、矩形、圆形...
颜色的表示方式:
1.直接用颜色名称:"red" "green"
2.十六进制颜色值:"#eeeeff"
3.rgb(1-255,1-255,1-255)
属性:
fillStyle 填充绘画的颜色、渐变或模式
strokeStyle 用于笔触的颜色、渐变或模式
shadowColor 用于阴影颜色
shadowOffsetX 水平距离偏移量
shadowOffsetY 垂直距离偏移量
shadowBlur 模糊级别
方法:
getContext():返回一个对象,这个方法封装了很多的绘图方法和属性。
但是现在只能提供2d的绘画环境。
rect():创建矩形。
fillRect():绘制填充的矩形
createLinearGradient():创建线性渐变
addColorStop(): 渐变对象中颜色和停止位置
-->
<canvas id="mycanvas" width="400px" height="400px">
您的浏览器版本太低
</canvas>
<script type="text/javascript">
//js代码块
var canvas=document.getElementById("mycanvas");
var obj=canvas.getContext("2d");
// var colorobj= obj.createLinearGradient(0,0,100,0);
var colorobj=obj.createRadialGradient(50,50,10,50,50,50);
colorobj.addColorStop(0,"red");
colorobj.addColorStop(0.5,"blue");
colorobj.addColorStop(1,"green");
//obj.rect(0,0,100,100);
obj.shadowColor="rgb(11,25,9)";
obj.shadowOffsetX=3;
obj.shadowOffsetY=3;
obj.shadowBlur=5;
obj.fillStyle=colorobj;
obj.strokeStyle="green";
obj.fillRect(0,0,100,100);
obj.strokeRect(100,100,100,100);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>布局练习2</title>
<style>
.c1{
background: #a8c8df;
height: 150px;
line-height: 75px;
}
.c2{
background: #e6e8f4;
height: 50px;
line-height: 25px;
}
p {
text-align:center;
font-size: 30px;
}
.c3{
background:#1c56a0;
height: 300px;
clear: both;
line-height: 150px;
}
.left,.zhong,.right{
width: 33.333%;
height: 400px;
float: left;
line-height: 400px;
text-align: center;
}
.left{
background: #a8bdda;
}
.zhong{
background: #b5d6e5;
}
.right{
background: #276da8;
}
</style>
</head>
<body>
<!------------------------------>
<div class="c1">
<p >头部</p>
</div>
<!------------------------------>
<div class="c2" >
<p>导航</p>
</div>
<!------------------------------>
<div class="left">
<p>左边</p>
</div>
<div class="zhong">
<p>中间</p>
</div>
<div class="right">
<p>右边</p>
</div>
<!------------------------------>
<div class="c3">
<p>足部</p>
</div>
<!------------------------------>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>布局练习3</title>
<style>
.c1{ background: #a8c8df;
height: 400px;
line-height: 200px;}
.c2{ background: #e6e8f4;
height: 200px;
line-height: 100px;}
.c3,.c4{height: 200px;
line-height: 100px;
width: 50%;
float: left;
text-align: center;}
.c3{ background:#1c56a0;}
.c4{ background: #a8bdda;}
p{text-align:center;
font-size: 30px;}
.t1,.t2{width: 50%;
float: left;}
</style>
</head>
<body>
<div class="t1">
<div class="c1"><p>左</p></div>
</div>
<div class="t2">
<div class="c2"><p>上</p></div>
<div class="c3"><p>左下</p></div>
<div class="c4"><p>右下</p></div>
</div>
</body>
</html>