网站首页 > 基础教程 正文
?一 心得体会
今天的任务是利用HTML制作一份在线简历,先不考虑样式,只从结构和语义化方面着手。对于已经有了前端b编程经验的我来说挺简单的,但是我还是当作我是一个刚入门的菜鸟,在学习过程中发现其实还有很多基础知识被我忽略了,例如meta的强大功能,HTML5表单新增的输入类型,列表标签dl、dt、dd等,这提醒这我不要眼高手低,要潜心学习,稳固基础。
二 相关知识点
问题1 HTML是什么,HTML5是什么?
- HTML是一个超文本标记语言(Hyper Text Markup Language),其有一套标记标签,使用这些标记标签来描述网页。
- HTML5是最新的HTML标准,新增了一些元素,API,同时也删除了部分旧元素,具体可以看相关文档。相较于 HTML4来说,HTML5最大的改进就是新增了强大的图像支持(<canvas>和 <svg>),多媒体支持(<video> 和 <audio>)和API,使得其能独自完成以前需要其他语言辅助的工作。
问题2 HTML文档是什么?
HTML文档其实就是我们看到的网页,其包含HTML标签和纯文本。
问题3 HTML元素、标签、属性都是什么概念?
- HTML标签是由尖括号包围的关键词,表示其在HTML文档中的含义。元素标签通常成对出现(<p></p>),也有单独出现(<img>);成对出现的标签第一个为开始标签(或开放标签),第二个为结束标签(或闭合标签),结束标签多了一个/。
- HTML元素是指从开始标签到结束标签的所有代码(<p>包含标签和此文本</p>)。注意:如果元素内没有文本,可以直接在开始标签进行关闭(<p/>)
- HTML属性相当于HTML元素的修饰符,为该元素提供相应的特性。属性通常以键值对的形式出现(name="value"),并且都是出现在开始标签中。
问题4 文档类型是什么概念,起什么作用?
HTML经历过多个版本的更新,每个版本中元素不尽相同,那么我们如何才能使计算机准确知道当前的版本并正确显示HTML页面呢?为了解决这个问题,引进了文档类型的概念。在HTML文档首行使用<!DOCTYPE>来声明该HTML文档的版本,如果版本为HTML5,那么声明代码为<!DOCTYPE html>;如果为HTML4,那么声明代码为<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"。目前创建新网页都尽量使用HTML5的文档类型,维护旧网页可以沿用旧网页的文档类型。
问题5 meta标签都用来做什么的?
meta标签位于HTML头部,携带元信息,不显示在页面上,对于计算机是可读的。其主要作用有以下几点:
- 声明当前文档所使用的字符编码
<!--声明文档使用的字符编码--> <meta charset="utf-8">
- 注意:鼓励使用UTF-8字符编码,不使用不兼容ASCII的编码规范,必须禁用CESU-8, UTF-7, BOCU-1或 SCSU这些字符,因为其被证实存在跨站脚本攻击(XSS)的风险。
- 携带相关信息关联到HTTP头部
- 此处需要用到http-equiv和content属性
<!--告诉计算机6s后跳转相应地址-->注:http-equiv的属性值content-language, content-type, set-cookie已经弃用,请查看最新文档使用替代方案
示意代码如下:
< Meta HTTP-EQUIV="refresh" content="6; url=地址" >
- 使用name属性携带相关信息
<!--以下为常用属性值-->示意代码如下:
<!--标注作者--> < Meta name="author" content="前端唠唠嗑" > <!--携带关键字,便于搜索网站收录,提高搜索排名--> < Meta name="keyword" content="关键字" > <!--文档描述,便于搜索网站收录,提高搜索排名--> < Meta name="descript" content="描述内容" >
问题6 Web语义化是什么,是为了解决什么问题
我理解的语义化有两方面:1. 便于计算机识别HTML内容,降低其处理难度,提高效率,与此同时还能搜索程序更好更快的搜索到此文档;2. 便于程序员理解代码以及后期维护——结构良好,语义明确的代码利于阅读和维护。
问题7 链接是什么概念,对应什么标签?
超链接的含义是一个点击跳转相应文档的字,词或者图像。对应的为<a>标签。其使用方式如下。
- 通过href属性跳转到另一个HTML文档
<a href="地址">跳转到相应的地址</a>
- 跳转文档内的锚点(书签)
<!--通过name属性创建文档内的锚点--> <a name="tips">设定的锚点</a> <!--通过href属性跳转文档内的锚点--> <a href="#tips">跳转锚点</a>
- 注意:创建锚点时可以用id来替代name属性,也可以用其他元素标签替代a标签。
- 跳转另一个文档的锚点
<a href="地址#tips">另一个文档的锚点</a>
问题8 常用标签都有哪些,都适合用在什么场景?
- 块级元素:<div>——外框, <p>——段落, <h1>——标题, <ul>——列表, <table>——表格
- 行内元素:<span>——提示性文字,<a>——链接, <b>——加粗, <img>——图像,<td>——表格单元
问题9 表单标签都有哪些,对应着什么功能,都有哪些属性?
表单一般包裹在<form>标签下,主要用于用户输入,获取用户输入的信息并传输给服务器。其输入类型有以下几种:
- 文本
- 单行文本输入 <input type="text">
- 多行文本输入 <textarea name="message" rows="10" cols="30"></textarea>
2.密码(输入的字符会做掩码处理) <input type="password">
- 单选
<input type="radio" name="sex" value="male" checked>Male <input type="radio" name="sex" value="female">Female
- 注:当input的type为radio时,该输入框为单选框,若单选框的name值相同,那么他们是同一组选项,不能同时选取到。
- 多选
<input type="checkbox" name="vehicle" value="Bike">I have a bike <input type="checkbox" name="vehicle" value="Car">I have a car
- 注:当input的type为checkbox时,该输入框为单选框,若单选框的name值相同,那么他们是同一组选项,可以同时选取到。
- 按钮
<input type="button" onclick="alert('Hello World!')" value="Click Me!">
- 注:点击可以执行相关操作
- submit
<input type="submit" value="Submit">
- 此输入类型用于提交表单到服务器
- HTML5新增输入类型(<input type="新增类型" >)
- color
- date
- datetime
- datetime-local
- month
- number
- range
- search
- tel
- time
- url
- week
注释:老式 web 浏览器不支持的输入类型,会被视为输入类型 text。
问题10 ol, ul, li, dl, dd, dt等这些标签都适合用在什么地方,举个例子
ol搭配li构建有序列表,ul搭配li构建无序列表,dl,dd,dt不常用,看了一下介绍dl类似于ol和ul,属于最外层标签;dd类似于li,表示项目内容;而dt类似于序号,只不过内容可以自定义。由以上可以看出dl,dd,dt挺适合做菜单类列表,dt表示菜名,dd表示相应菜品的介绍。
?
猜你喜欢
- 2024-10-16 书单 // 这些IT书口碑超好,豆瓣评分9.0以上——编程语言篇
- 2024-10-16 这年头学PS,学设计还有什么用,设计不求的时代已经来临
- 2024-10-16 工具|10款免费在线图片设计工具 免费图片设计在线生成器
- 2024-10-16 Xmas!送你Flutter Animation小星星!
- 2024-10-16 高以翔挚友发长文告别 暗示对方本打算与女友结婚
- 2024-10-16 用Python集“五福”| 攻略演示 pythonf5
- 2024-10-16 web前端工程师的“三驾马车” web前端工程师需要掌握的技能
- 2024-10-16 SwiftUI入门 - 2. 状态变量定义,数据绑定
- 2024-10-16 程序员的春天,用javascript写这个效果,赢得老板特批假期一周
- 2024-10-16 文艺码农~手把手教你如何绘制一辆会跑车
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)