发展历史:

1991年八月六日,欧洲核子研究中心的科学家启动了世界上第一个可以访问的网站,从此人类宣布了互联网时代的到来,到2014年确定了HTML5标准.

1994年提出了CSS层叠样式表,知道1996年,CSS才演变成我们熟悉的样子。

HTML标签:
1. strong和b标签,em和i标签

<strong>和<em>都是表示强调的标签,表现形态为文本加粗和斜体。<i>和<b>标签也表示文本加粗和斜体

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body><strong>文本1</strong><b>文本2</b><em>文本3</em><i>文本4</i>
</body>
</html>

区别:<strong>和<em>是具备语义化的(推荐使用),而<b><i>是不具备语义化的,但是可以简化选择器的操作。

2.引用标签

blockquote: 用于引用大段的段落解释

q: 引用小段的短语解释

abbr: 缩写或首字母缩略词

address:引用文档地址信息

cite: 引用著作的标题

应用这些形式的引用标签,能够方便搜索引擎更好的搜索到网页的内容,同时规范编码。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body><p><abbr title="world health organisation">WHO</abbr>成立于1948年,总部位于<address>北京市海淀区</address>,路遥的代表作是<cite>《平凡的世界》</cite></p>
</body>
</html>

效果:

3. iframe嵌套页面

iframe会创建包含另一个文档的内联框架(即行内框架),也就是说,可以在已有的页面当中嵌入另一个页面,即实现引入其他页面的功能。

常见属性:

frameborder: 是否显示框架周围的边框

width: 定义iframe的宽度

height:定义iframe的高度

scrolling:规定是否在iframe中显示滚动条

src: 规定在iframe中引入的url ,链接地址或本地页面的路径

srcdoc:规定在iframe中显示的页面内容 (内容可以是HTML代码),当src和srcdoc同时存在时,只能识别srcdoc, src会失效

引入其他的HTML到当前的html中显示,主要利用iframe属性进行样式的调节

应用场景:数据传输,共享代码,局部刷新,第三方介入(嵌入广告)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title><style>#iframe-block{width: 100%;max-height: 600px;margin: 0 auto;margin-bottom: 20px;}#bowen-block{width: 800px;max-height: 600px;margin: 0 auto;margin-bottom: 20px;}.text-title{text-align: center;margin-bottom: 20px;}</style>
</head>
<body><div class="text-title">iframe嵌套页面演示</div><div id="iframe-block" class="iframe-content">   <!--宽度100%--><iframe src="https://taobao.com" frameborder="0" width="100%" height="100%"></iframe></div><div id="bowen-block" class="bowen-content">     <!--特定大小--><iframe src="bowen.html" frameborder="1" width="100%" height="100%"></iframe></div>
</body>
</html>

嵌入效果:(嵌入两个页面,淘宝页面和本地的页面)

4. br标签与wbr标签

<br>单标签,表示换行操作

<wbr>标签表示,软换行操作(如果单词太长,或者担心浏览器在错误的位置换行,可以使用wbr 即word break opportunity )

5. pre标签与code标签

<pre>标签可定义欲格式化的文本,被包含在<pre>标签中的文本通常会保留空格和换行符。

<code>标签应该包含的是计算机源程序代码,表示这段文本是计算机源程序代码(<code>通常是把文本编程等宽字体)

通常这两个标签是组合使用的,用<pre>标签包含着<code>标签

6.map标签与area标签

定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像,area元素永远嵌套在map元素之内,area元素可定义图像映射中的区域。

area元素的href属性定义区域的url,shape属性来定义区域的形状,coords定义热区的坐标。

给一张图片中的特定区域加上链接:

能添加的热区的形状:矩形,圆形,多边形

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body><img src="../picture/others/map.jpg" alt="" usemap="#star">    <!--需要设置usemap属性 -->  <map name="star">   <!--name属性--><area shape="circle" coords="40 40 30" href="https://www.taobao.com" alt=""><area shape="rect" coords="50 50 150 150" href="https://www.baidu.com" alt=""></map>
</body>
</html>

在图片coords定义的区域内添加热区即可

7. embed与object

embed与object都表示能够嵌入一些多媒体,如flash动画,插件等。基本使用没有太多区别,主要是为了兼容不同的浏览器。

现在基本浏览器都能兼容两种标签

object标签需要配合param标签进行使用

video标签与audio标签:

audio表示嵌入音频文件,video表示嵌入视频文件,默认控件是不显示,可以通过controls属性来显示控件,为了能够支持多个备选文件的兼容支持,可以配合source标签。

常用属性:

controls: 显示控件

loop: 循环播放

autoplay: 自动播放

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body><audio src="#" controls></audio><video src="../picture/video/123.mp4" controls loop autoplay></video>
</body>
</html>

如果需要定制视频以及音频的播放样式,需要借助JS

解决浏览器对音频以及视频的兼容性问题:

有的浏览器可能会对mp4以及mp3格式的多媒体文件不支持,所以需要在编写前端代码的时候,考虑到兼容性的问题,利用source标签可以解决这一问题:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title>
</head>
<body><video controls loop autoplay><source src="../picture/video/123.ogv">     <!--浏览器支持某一个格式,就会播放此格式--><source src="../picture/video/123.mp4">     <!--备选格式--><source src="../picture/video/123.avi"></video>
</body>
</html>

8.文字注释与文字方向

<ruby>标签定义ruby注释(中文注音或字符),rt标签定义字符(中文主因或字符)的解释或者发音。

<bdo>标签可覆盖文本默认的方向

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title><style>span{direction: rtl;unicode-bidi: bidi-override;}</style>
</head>
<body><ruby>    <!--注音-->寒<rt>han</rt>冬</ruby><!--文字方向--><p>这是一个<bdo dir="rtl">段落</bdo>而已</p><!--通过CSS控制文字方向--><p>这是一个<span>段落</span>而已</p>
</body>
</html>

效果:

9. link标签扩展学习:

link标签可以引入:引入外部的资源文件

1. stylesheet 样式文件

2. icon  在标签页上引入小图标

3. dns-prefetch   DNS解析

4. script  引入JS脚本

10.meta标签扩展学习:

<meta>标签,功能性的标签,添加辅助信息,包括:编码,添加描述信息,有利于搜索引擎优化

<meta charset="UTF-8">     <!--编码信息-->
<meta name="description" content="为您提供正品低价的购物选择">  <!--网站的描述性信息-->
<meta http-equiv="X-UA-Compatible" content="ie=edge">  <!--功能性的 针对IE浏览器,让不同版本的IE按照最高的模式进行渲染-->
<meta http-equiv="refresh" content="3" url="">     <!--表示刷新网页 三秒后跳转到url对应的网址

HTML5新语义化标签

1. header  : 页眉

2. footer   : 页脚

3. main  : 主体

4. hgroup  : 标题组合  (有多个标题的时候)

5. nav   : 导航

6. article:   独立的内容

7. aside  :  辅助信息内容

8. section:  描述图像或者视频

9. figcaption: 描述图像或视频的标题部分

10. datalist  :  选项列表

11. details / summary  :    文档细节 / 文档标题

12. progress / meter :   定义进度条 / 定义度量范围

13. time : 定义日期或时间

14. mark : 带有标记的文本

header, main, footer这些标签在html文件中只能出现一次,代表着把网页区域唯一的划分为不同的区域。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">     <!--编码信息--><meta name="description" content="为您提供正品低价的购物选择">  <!--网站的描述性信息--><meta http-equiv="X-UA-Compatible" content="ie=edge">  <!--功能性的 针对IE浏览器,让不同版本的IE按照最高的模式进行渲染--><meta http-equiv="refresh" content="" url="">     <!--表示刷新网页 三秒后跳转到url对应的网址--><title>标题</title><link rel="stylesheet" href="####.CSS"><link rel="icon" type="/image/x-icon" href="####.ico"><link rel="dns-prefetch" href="#">
</head>
<body><header>    <!--头部--><hgroup>     <!--标题--><h1>主标题</h1><h2>副标题</h2></hgroup><nav>        <!--导航--><ul><li>首页</li><li>论坛</li><li>讨论</li></ul></nav></header><main>               <!--主体--><article>        <!--独立的内容--><section><figure><figcaption></figcaption><img src="#" alt=""></figure></section>   <!--划分区域--><section><input type="text" list="elem"><datalist id="elem"><option value="China"></option><option value="Korean"></option><option value="America"></option><option value="Japan"></option></datalist></section><section><details><summary>CSS</summary><p>层叠样式表</p></details></section><section><h2>进度条</h2><progress max="10" value="8"></progress><h2>度量</h2><meter value="9" max="10" low="2" high="8"></meter>   <!--在low和high的范围内,度量条是绿色,超出范围,度量条变色--></section><section>中国的<time title="10-1">国庆节</time>      <!--不表现出具体的样式,只是会更加语义化一些--></section><section>中国的<mark>国庆节</mark></section></article><aside></aside></main><footer></footer>
</body>
</html>

1. 表格扩展学习:

添加单线: border-collapse: collapse

隐藏空单元 :  empty-cells :  hide

斜线分类 :border / rotate

列分组 : colgroup  /  col

例如需要对下属的表格进行扩展:

当单元格为空时,需要隐藏单元格:

从上述的表格可以看出,表格实际是双线,给表格添加单线,效果如下:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title><style>table{empty-cells: hide;border-collapse: collapse;}</style>
</head>
<body>
<!--表格-->
<table border="1" cellpadding="10" cellspacing="3"><caption>天气预报图</caption><thead><tr align="center" valign="center">            <!--表格的一行--><th colspan="2">日期</th><!--<th>日期</th>--><th>天气情况</th><th>出行情况</th></tr></thead><tBody><tr align="center" valign="center"><td rowspan="2">2019-1-12</td><td>白天</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><!-- <td>2019-1-12</td>--><td>夜间</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><td rowspan="2">2019-2-19</td><td>白天</td><td><img src="../picture/rain.gif"></td><td>不适合出行</td></tr><tr align="center" valign="center"><!--<td>2019-2-19</td>--><td>夜间</td><td><img src="../picture/rain.gif"></td><td></td></tr></tBody><tfoot></tfoot>
</table>
</body>
</html>

斜线分类,给表格添加斜线,上下具有不同的词   border/rotate,例如将表格的日期一栏斜分为两栏,需要对代码进行如下的修改:

代码修改如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title><style>table{empty-cells: hide;border-collapse: collapse;}table .line{      /*斜线分类*/border-top: 50px solid red;      /*通过border的宽度做出斜线的方法*/border-left: 150px solid blue;position: relative;             /*因为要对内部的<em><span>使用绝对定位,所以这里对其父容器采用relative定位*/color: white;}table .line em{position: absolute;left: -140px;top: -30px;}table .line span{position: absolute;left: -70px;top: -50px;}</style>
</head>
<body>
<!--表格-->
<table border="1" cellpadding="2" cellspacing="3"><caption>天气预报图</caption><thead><tr align="center" valign="center">            <!--表格的一行--><th colspan="2"><div class="line">            <!--斜线分类--><em>日期</em><span>详情</span></div></th><!--<th>日期</th>--><th>天气情况</th><th>出行情况</th></tr></thead><tBody><tr align="center" valign="center"><td rowspan="2">2019-1-12</td><td>白天</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><!-- <td>2019-1-12</td>--><td>夜间</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><td rowspan="2">2019-2-19</td><td>白天</td><td><img src="../picture/rain.gif"></td><td>不适合出行</td></tr><tr align="center" valign="center"><!--<td>2019-2-19</td>--><td>夜间</td><td><img src="../picture/rain.gif"></td><td></td></tr></tBody><tfoot></tfoot>
</table>
</body>
</html>

实际表格效果:

列分组,针对列进行操作,例如将表格中的某几列可以分为一组,采取相同的样式。

修改代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标题</title><style>table{empty-cells: hide;border-collapse: collapse;}table .line{      /*斜线分类*/border-top: 50px solid red;      /*通过border的宽度做出斜线的方法*/border-left: 150px solid blue;position: relative;             /*因为要对内部的<em><span>使用绝对定位,所以这里对其父容器采用relative定位*/color: white;}table .line em{position: absolute;left: -140px;top: -30px;}table .line span{position: absolute;left: -70px;top: -50px;}</style>
</head>
<body>
<!--表格-->
<table border="1" cellpadding="2" cellspacing="3"><caption>天气预报图</caption><colgroup><col span="2" style="background: yellow">     <!--头两列分为一组,设置背景颜色--><col span="2" style="background: red">        <!--第三第四列一组--></colgroup>          <!--采取列分组--><thead><tr align="center" valign="center">            <!--表格的一行--><th colspan="2"><div class="line">            <!--斜线分类--><em>日期</em><span>详情</span></div></th><!--<th>日期</th>--><th>天气情况</th><th>出行情况</th></tr></thead><tBody><tr align="center" valign="center"><td rowspan="2">2019-1-12</td><td>白天</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><!-- <td>2019-1-12</td>--><td>夜间</td><td><img src="../picture/sun.gif"></td><td>天气晴朗,适合出行</td></tr><tr align="center" valign="center"><td rowspan="2">2019-2-19</td><td>白天</td><td><img src="../picture/rain.gif"></td><td>不适合出行</td></tr><tr align="center" valign="center"><!--<td>2019-2-19</td>--><td>夜间</td><td><img src="../picture/rain.gif"></td><td></td></tr></tBody><tfoot></tfoot>
</table>
</body>
</html>

表单扩展美化控件:

1. 美化的复选框:

a. 使用伪类:checked

b. 使用定位 + 透明度

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document</title><style>label input{display: none;    /*将复选框原始的样式进行隐藏*/}/*设置复选框默认状态下的图片*/label div{width: 28px;height: 28px;background: url("#") 0 -28px;}/*设置复选框选中时候的图片样式*/   label input:checked + div{      /* 改变的是input的兄弟div,用+ */width: 28px;height: 28px;background: url("#") 0 0;     /*更换默认的图片*/}</style>
</head>
<body><label>    <!--将input和div中的内容绑定到一起--><input type="checkbox" class="checobox"><div></div></label>
</body>
</html>

2. 美化上传按钮:

与美化checkbox的思路一样,对于上传按钮也可以进行美化

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document</title><style>label input{display: none;    /*将复选框原始的样式进行隐藏*/}label div{width: 45px;height: 45px;}</style>
</head>
<body><label>    <!--将input和div中的内容绑定到一起--><input type="file"><div><img src="../picture/others/upload.jpg" style="width: 45px; height: 45px"></div></label>
</body>
</html>

上传按钮变成如下所示的样式:(电价图标即可上传)

position + opacity方法实现相同效果:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document</title><style>.upload{width: 54px;height: 54px;position: relative;   /*因为要对里面的容器使用绝对定位*/}.upload div{              /*图片的区域*/width: 100%;height: 100%;}.upload input{            /*将默认图标进行大小设置以及定位*/width: 100%;height: 100%;position: absolute;left: 0;top: 0;opacity: 0;           /*默认图标设置透明度为0, 实现隐藏*/}</style>
</head>
<body><div class="upload">   <!--定义一个父容器--><input type="file"><div><img src="../picture/others/upload.jpg" style="width: 45px; height: 45px"></div></div>
</body>
</html>

新的input控件

1. email:电子邮件, 具有邮箱格式检查功能

2. url:  网址输入框

3. number:数值输入框

4. range:滑动条

5. date / month / week: 日期控件

6. search : 搜索框

7. color: 颜色控件

8. tel:电话号码输入框

9. time:时间控件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document</title><style></style>
</head>
<body><form action="https://www.baidu.com"><input type="email"><input type="url"><input type="number" min="0" max="100" value="35"><input type="range" min="0" max="100" value="20"><input type="date"><input type="submit"></form>
</body>
</html>

表单扩展新属性:

autocomplete:自动完成,表示再次输入信息的时候是否进行提示之前的输入值  默认值on,设置为off

autofocus:获取焦点, 控制光标的在输入框的位置

required:不能为空

pattern:正则验证

name:和数据提交相关的

表单扩展-数据传输(前后端数据交互)

method:数据传输方式

enctype:数据传输类型

name / value:数据的键值对

扩展标签:
fieldset: 表单内元素分组

legend:为fieldset元素定义标题

optgroup:定义选项组

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document</title><style></style>
</head>
<body><fieldset><legend>登录</legend><p>用户名:<input type="text"></p><p>密码:<input type="password"></p></fieldset><!--下拉菜单选项分组操作--><select><optgroup label="国产"></optgroup><option value="">HuaWei</option><option value="">Xiaomi</option><optgroup label="非国产"></optgroup><option value="">Apple</option><option value="">Samsun</option></select>
</body>
</html>

效果:

Web前端笔记(5)相关推荐

  1. Web前端 笔记 (21-45)

    Web前端 笔记 (21-45) 21.嵌套列表 1.概念 2.有(无)序列表嵌套 3.定义列表嵌套 22.表格标签 1.种类 2.举例 未加语义化标签 添加语义化标签 23.表格属性 1.常见表格属 ...

  2. Web前端笔记(三)

    Web前端笔记记录(三) position定位 relative相对定位 absolute绝对定位 脱离文档流 使内联支持宽高 使块元素默认宽根据内容决定(让块具备内联的特性) 如果有定位祖先元素相对 ...

  3. Web前端笔记(1)

    1. web前端三大核心技术: HTML: 结构 CSS: 样式 JavaScript: 行为 HTML基本结构与属性: html超文本标记语言,标准通用标记下的一个应用,是网页制作的必备的编程语言. ...

  4. Web前端笔记(标签)

    目录 Web前端知识点 HTML 标签的语法 html标签 主体框架 常用标签 标题标签 段落标签 字体倾斜.加粗.下划线 强调内容 预设标签 字体标签 分割线 实体字符 图片标签 视频标签 音频标签 ...

  5. WEB前端笔记第一天

    什么是WEB前端? 简单来说就是网页,只是这个网页它是由多种技术参与制作的,用来向用户展示的页面. HTML(hyperText mark-up language):它决定了网页的结构. CSS:网页 ...

  6. Web前端笔记-HTML加载SVG图片及简单修改

    加载的用img标签,就可以了,就把他当成普通图片即可,如: <img src="icon/cash-coin.svg" /> 图片是这样的: 在前端的效果就这样了. 简 ...

  7. Web前端笔记(6)

    BFC规范:       格式化上下文(Formatting Context)是W3C规范中的一个概念,它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的相关和 ...

  8. Web前端笔记(4)

    前端完整页面设计: 1. PC端布局: 通栏:自适应浏览器的宽度 版心 :固定一个宽度,并让容器居中 页面中需要用到的图片:(由于本人未能找到原版的图片资源,所以只是利用截屏到的图片,进行简单截图后使 ...

  9. web前端笔记1-hml,css部分

    这里写目录标题 一.基础内容 1.网页 1.1什么是网页 1.2什么是HTML 1.3网页的形成 2.常用浏览器 2.1常用的浏览器 2.2浏览器内核 3.web标准 3.1为什么需要web标准 3. ...

  10. (web前端笔记)2020-12-23(http)

    总览 web and http web是由对象构成的,包含了html5文档和图片,Java applet. http 无状态的 它是以明文的形式保存,有很大的安全问题 https https可以进行加 ...

最新文章

  1. 设计模式 之 工厂模式
  2. vue循环中的v-show
  3. 自制 QQ游戏 连连看 外挂 ~~
  4. 小红书成立六周年内部信:月活用户量已经突破8500万
  5. 学python电脑硬件_Python实现的读取电脑硬件信息功能示例
  6. ToolStripContainer
  7. Axios 请求配置参数详解
  8. 基于二叉链表的二叉树最大宽度的计算
  9. Flask项目: 蓝本
  10. 【密码学/密码分析】基于TMTO的密码分析方法
  11. linux查看压缩文件的大小,Linux下不解压压缩文件如何直接查看某个文件大小
  12. 利用数据泵导入导出dmp
  13. MixPanel -Android 端埋点技术研究
  14. SAP ABAP ZBA_R002 查询用户下的角色
  15. 欧拉计划 P429 (数论)
  16. leecode第一百七十四题(地下城游戏)
  17. 关于1NF、2NF、3NF、BCNF范式
  18. 标号法(label-setting algorithm)求解带时间窗的最短路问题(ESPPRC)
  19. Gson详解--入门篇
  20. 【C++初阶】简析拷贝构造、赋值运算符重载

热门文章

  1. Netty工作笔记0066---Netty核心模块内容梳理
  2. 内联函数inline,无比节省开销的
  3. 杭电2529Shot
  4. 捷作服务器 修改套接字端口,如何解决错误“每个套接字地址(协议/网络地址/端口)通常只允许使用一次”?...
  5. java 二维数组对角线_二维数组(矩阵)对角线输出
  6. 随想录(关于ucore)
  7. oracle11g 未,Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法
  8. java两个二进制数求和,Leetcode 67:Add Binary(二进制求和)
  9. vant 项目_基于 vue3.x+vant3.x 搭建示例项目
  10. python刷b站教程_【Python】【学习资源】B站上的Python学习资源