前端与HTML

一枚大三学生,非常感谢360前端星计划,在这里学习了很多,非常幸运获得360的校招实习offer~,非常感谢面试我的王峰老师和卢岳文老师!总的来说,这7天的学习,让我坚定了走前端这条路。

第一堂课是由360奇舞团的赵文博老师讲的《前端与html》,下面是讲课时的 ppt链接

一、DOCTYPE

H5: <DOCTYPE html>H4.01: <!DOCTYPE HTML PLUBIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">怪异模式: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.ded">

举个栗子

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>html</title></head><body><h1>这是内容</h1></body>
</html>

问题1. doctype的作用是什么?

doctype的英文解释:声明,文档类型
作用有以下两点:

  • 指定文档使用的标准和版本
  • 浏览器根据doctype决定使用哪种渲染模式

通俗易懂的解释就是:写doctype,浏览器就会按照标准模式解析文档,不写的话,就会按照怪异模式解析文档

问题2: 标准模式与怪异模式的区别?

  1. 盒模型: IE下标准模式为标准w3c盒模型 【content+padding+border+margin】,怪异模式为IE盒模型【content+margin:padding与border包含在content宽高中】
  2. 行内元素的垂直对齐:基于 Gecko 的浏览器【Mozilla Firefox、HotBrowser、Mozilla Suite、Camino】标准模式对齐至基线,怪异模式对齐至底部
  3. 怪异模式中,IE6/7/8都不认识!important声明
  4. 设置行内元素的高宽: 在Standards模式下,给等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。
  5. 使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效。

二、语义化

  • HTML中的元素、属性及属性值都拥有某些含义
  • 开发者应该遵循语义来编写HTML

问题3:语义化的好处?

  1. 提升可读性、可维护性
  2. 搜索引擎优化
  3. 提升无障碍性

三、html5标签分类

  • 流式元素(flow) 这些标签的内容可以直接展示到页面上

  • 元数据元素(metadata) 有些标签元素的内容不会直接展示给用户

  • 标题内容元素(heading)

  • 章节内容元素(sectioning)

  • 段落内容元素(phrasing)

  • 嵌入式内容(embedded) 图片、音频、视频等元素

  • 可交互内容

问题4:p里面可以嵌套div吗?

不可以,p标签表示段落,里面只能嵌套段落内容元素

四、HTML的扩展性

  • meta
  • data-*
  • link
  • JSON-LD

1. 基于meta标签扩展

<!-- 编码 -->
<meta charset="UTF-8"><!-- 指定HTTP Header -->
<meta http-equiv="Content-Security-Policy"content="script-src 'self'"><!-- SEO 搜索引擎优化 -->
<meta name="keywords" content="关键词">
<meta name="description" content="页面介绍"><!-- 移动设备Viewport -->
<meta name="viewport" content="initial-scale=1"><!-- 关闭iOS电话号码自动识别 -->
<meta name="format-detection" content="telphone=no"><!-- 360浏览器指定内核 -->
<meta name="renderer" content="webkit"><!-- 指定IE渲染模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">

2. data-* & dataset API

data-* 是自定义属性,并且js可以通过dataset这个api来对这个自定义属性进行操控。

<ul><li data-id="1">苹果</li><li data-id="2">香蕉</li><li data-id="3">芒果</li>
</ul>

问题5:如果我想拿到li[data-id='1']标签里的属性怎么办?

方法1:可以用getAttribute 方法2:$('li').eq(0).dataset.id获取

3. link标签扩展

<!-- 引入 CSS -->
<link rel="stylesheet" href="style.css"><!-- 浏览器预加载 -->
<link rel="dns-prefetch" href="//example.com">
<link rel="prefetch" href="image.png">
<link rel="prerender" href="http://example.com"><!-- favicon -->
<link rel="icon" type="image/png" href="myicon.png"><!-- RSS -->
<link rel="alternate" type="application/rss+xml" href="/feed">

4. JSON-LD

JSON-LD是一种数据格式 上述的meta、link都是针对一个点进行扩展,如果有大量数据需要在页面进行展示的时候,就可以使用JSON-LD,LD是link-data的缩写。
例如:可以通过JSON-LD来结构化一些数据

<script type="application/ld+json">
{"@context": "http://schema.org","@type": "Person","name": "John Doe","jobTitle": "Graduate research assistant","affiliation": "University of Dreams","additionalName": "Johnny","url": "http://www.example.com","address": {"@type": "PostalAddress","streetAddress": "1234 Peach Drive","addressLocality": "Wonderland","addressRegion": "Georgia"}
}
</script>

五、web无障碍

  • 可访问性,Accessibility(A11y)
  • 保证页面可以让任何人获取信息,比如对待色盲的人,需要考虑颜色的选择问题。

提升无障碍性:

  • 为img提供alt属性
  • noscript
    当浏览器禁用 js 时,解析 noscript 标签
  • input和label对应
  • 图形验证码和语音验证码
  • 文字和背景有足够的对比度
  • 键盘可操作性,比如用tab来切换focus

扩展:

  1. <p></p>是将内容解析一段显示一段,;它是段落标签,两个p标签之间会空出一行

  2. <table></table>是内容全部解析之后才展示出来,会多次经过重排重绘,所以影响性能,对seo也不是很友好,但是对于比较规范的表格类型的数据时,还是需要用<table></table>标签的

table标签

  • 表示表格数据 — 即通过二维数据表表示的信息。
  • dom接口: HTMLTableElement

因为好多属性都被废弃了,所以列出几个我常用的属性,其他样式尽量用css实现

属性 描述
border pixels 规定表格边框的宽度
cellpadding pixels% 规定单元边沿与其内容之间的空白
cellspacing pixels% 规定单元格之间的空白

table MDN文档

最后

html这一节课所学的知识就介绍到这里了,由于自己学识较浅,可能理解与老师的讲解会有偏差,如有错误,请指正,非常感谢!

360前端星计划学习-html相关推荐

  1. 360前端星计划学习笔记0410

    360前端星计划学习笔记(五)正则的三个应用场景–王峰老师 360前端星计划学习笔记(六)NodeJS基础入门 文章目录 正则 正则表达式的创建和使用 创建正则表达式的两种方式 正则表达式的常见用法 ...

  2. 不怕你不来,就怕你不学—360前端星计划

    编者按:奇舞团小胖子.特别感谢国欣宇同学和刘琳同学. 是否总觉得自学 JS.HTML.CSS 小有成就但心里空虚? 眼看着<HTML 从入门到精通> 手下却一行代码十个 error ? 莫 ...

  3. 第六届360前端星计划_前端工程化浅析

    主讲人 田东东 燕山大学硕士研究生 360搜索前端团队 首届前端星计划毕业生 一.什么是前端工程化? ⼯程化的目标 在前端领域,利用技术不断进步和经验逐步积累带来的各种⽅案,来解决在项目的开发.测试. ...

  4. 第六届360前端星计划_深入CSS

    主讲人 赵文博 360前端技术专家 奇舞团 一.选择器的特异度(Specificity) 提出问题:哪条规则生效? <article><h1 class="title&qu ...

  5. 360前端星计划--Node.js 基础入门

    01 什么是 Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. https://node ...

  6. 360前端星计划--技术翻译:进阶的直梯

    文学翻译 非文学翻译 艺术成分多一些 科学成分多一些 需要更多的灵感 需要更多的勤奋 责任小一些 责任大一些 技术翻译的意义 翻译技术文章,学习新技术思想 翻译技术文档,掌握标准和工具 翻译技术图书, ...

  7. 360前端星计划—技术翻译:进阶的直梯(李松峰)

    1. 翻译类型 文学翻译和非文学翻译 文学翻译 非文学翻译 艺术成分多一些 科学成分多一些 需要更多的灵感 需要更多的勤奋 责任小一些 责任大一些 2. 技术翻译的意义 翻译技术文章,学习新技术思想 ...

  8. 第六届360前端星计划_前端代码的自我修养

    主讲人:孙磊 一.如何衡量代码质量的好坏 衡量代码质量的唯一有效标准:WTF/min -- Robert C. Martin 代码的自我修养 代码规范 格式 流程化 二.代码规范 yarn globa ...

  9. 2018年前端星计划等你来报名!

    是否总觉得自学JS.HTML.CSS,小有成就但心里空虚?是否混迹在各大前端论坛,寻寻觅觅,但心里总觉得没有方向感?你需要一个引路人,需要一个心灵的导师.别慌!这里是360前端星计划! 前端星计划是由 ...

最新文章

  1. sql2000 转sql2008
  2. 专访周志华、宋继强:高端AI人才要具备哪些素质?深度学习的局限性和未来?...
  3. mysql update 有中文_MySQL Update语句一个非常经典的“坑”
  4. Logistic 回归(sigmoid函数,手机的评价,梯度上升,批处理梯度,随机梯度,从疝气病症预测病马的死亡率...
  5. 学习vim 从常用按键开始
  6. cs231n---语义分割 物体定位 物体检测 物体分割
  7. 11 步教你选择最稳定的 MySQL 版本
  8. 修改intellij(idea)中mybatis对应的xml背景颜色
  9. php开启慢查询,MySQL开启慢查询功能
  10. bzoj4514 [Sdoi2016]数字配对 费用流
  11. MBTI性格测试:你是哪种动物?准到可怕!
  12. Linux下启动Tomcat项目
  13. 《Windows 程序设计(第3版)》——6.7 【实例】窗口查看器
  14. 【Rust日报】2021-09-05 perseus:完全支持 SSR 和 SSG 的 Rust 高端前端开发框架
  15. Maven连接MySQL数据库
  16. 报错 RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation
  17. ABP VNext学习日记21
  18. SM2加解密代码及算法解析
  19. Web项目实战分享——小米官网
  20. 传入收据提报年月,某个时间段内哪些时间没有提报收据,传入list存入的格式(2017.01-2019.05)

热门文章

  1. Binder通信机制原理解析
  2. [高考真题]2012年普通高等学校招生全国统一考试 英语(四川卷)
  3. 逻辑回归(logistic regression)原理详解
  4. 用数字万用表测量三极管的方法
  5. 虚拟邮箱怎么设置方法_商务邮箱一般用什么邮箱正式?VIP邮箱名怎么设置好?...
  6. Unity相机旋转和人物朝向
  7. oracle11g-R2数据库的逻辑备份
  8. 抢鲜体验:Oracle 19C单实例数据库安装步骤详解
  9. html seo设置,搜索引擎优化中的HTML代码优化方法-如何做好SEO
  10. 干货|app自动化测试之Appium 源码修改定制分析