前端学习总结之——HTML
近期在找工作参加面试,想总结一下学过的东西,也会持续更新遇到的新问题、盲点。
- 什么是HTML?
- 超文本标记语言(英语:HyperText Markup Language,简称:HTML),由尖括号包围特定的标签名组成的标签,标签指定了文字、图片、链接、表格等,构建网站网页逻辑结构。
- 什么是元素,什么是属性,常见的块级元素、内联块级元素和内联元素都有哪些?
- 元素:两个角括号中间的部分,从开始标签到结束标签之间的所有代码
- 属性:给元素定义一些它本身带有的属性,可以是样式、资源链接、名称等
- 块级元素block element:可以定义宽高,在浏览器中默认自动换行。包括:div、p、h1-h6、ul、ol、li、address、dl、dt、dd、table、form、fieldset 等;
- 内联块级元素inline-block element:可以定义宽高,但是默认不换行。包括:img、input、select、textarea、iframe 等;
- 内联元素inline element:也叫行间元素,行内元素,没有宽高,默认不换行。包括:span、a、strong、em、ins、del、sub、sup 等。
- 如何理解HTML语义化?
- 主要有两方面:文本内容的语义化:例如用<header></header>定义头部、<main></main>定义文档主要内容、<footer></footer>定义文档底部,文档内容的结构十分清晰;标签代码的语义化:诸如用<strong></strong>来定义加粗的内容,而尽量不使用容易混淆的<b></b>尽管效果都是给内容加粗显示。
- 使用语义化标签的好处是:
- 可访问性:当文档样式不起作用时,结构清晰,用户阅读理解更容易;
- 可检索性:SEO搜索引擎根据标签来确定上下文各个关键字的权重;
- 可维护性:网页结构更清晰,开发人员更容易理解,提升代码的可读性,提高代码可维护性;
- 盲人阅读器根据语义渲染网页,方便设备解析
- meta标签:<meta>元素表示那些不能由其它HTML元相关元素 (<base>, <link>, <script>, <style> 或 <title>) 之一表示的任何元数据信息。元数据(Metadata)含有页面的相关信息,包括样式、脚本及数据,能帮助一些软件(例如 搜索引擎、浏览器 等等)更好地运用和渲染页面。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>XX购物-综合网购首选-正品低价、品质保障、配送及时、轻松购物!</title>
<mate name="description" content="XX购物-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />
<mate name="keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相继,数码,配件,手表,存储卡,XX购物" />
</head>
- charset属性: 设置编码字符集,避免乱码,常用“utf-8”,Unicode标准,俗称 “万国码” ,涵盖了世界上的所有字符、标点和符号。
- 属性:name=“viewpoint”,viewpoint通常指视窗、视口。浏览器用来显示网页的那部分区域,移动端视口概念相对复杂,又分为布局视口、视觉视口、理想视口。
- 属性:name=“keywords” content=“……”,网页关键字,100字符左右,提供网站名称、分类信息等,搜索引擎也会按照keywords的信息优先展示。
- 属性:name=“description” content=“……”,描述信息, 80-120 汉字, 综合title + keywords的信息描述。搜索引擎认知的优先级:title > description > keywords(<head>标签里面的三大件)。
- content="width=device-width, height=device-height, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no",分别是: 设备宽度、设备高度、应用程序启动时缩放的尺度(会给一个浮点值)、用户可以缩放的最小值、用户可以缩放的最大值、用户是否可以用手势来缩放整个应用程序使尺寸改变。
- HTML5有哪些改变?
- 简化HTML声明的方式,<!DOCTYPE html>
- 增加了JavaScript的API:地理定位、离线存储、应用缓存、拖放
- 增加了结构化标签header、footer、section、nav、aside
- 增加了音视频标签(进度条、控制条),video、audio(目前网站在去flash化)
- autoplay布尔属性,控制视频马上自动播放,不会停下来等待数据载入结束
- controls提供用户控制,控制视频播放、暂停、恢复、音量、跨帧
- loop布尔属性,视频结束自动回到开始位置
- track表示字幕
- poster表示封面
- 画布canvas:
const ctx = canvas。getContext(‘2d’); // 获取它的2d上下文
ctx.fillStyle = 'green'; // 设置笔刷填充色
ctx.fillRect(10, 10, 100, 100); // 利用画笔范围,画矩形
前端学习总结之——HTML的更多相关文章
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- web前端学习部落22群分享给需要前端练手项目
前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程, ...
- 【web前端学习部落22群】分享 碰撞的小球开源小案例
对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...
- web前端学习部落22群开源分享 左边菜单导航
有大量web前端开发工具及学习资料,可以搜群[ web前端学习部落22群 ]进行下载,遇到学习问题也可以问群内专家以及课程老师哟 <!DOCTYPE html> <html lang ...
- 【前端】Web前端学习笔记【2】
[2016.02.22至今]的学习笔记. 相关博客: Web前端学习笔记[1] 1. this在 JavaScript 中主要有以下五种使用场景 在全局函数调用中,this 绑定全局对象,浏览器环境全 ...
- 前端学习 第七弹: Javascript实现图片的延迟加载
前端学习 第七弹: Javascript实现图片的延迟加载 为了实现图片进入视野范围才开始加载首先: <img src="" x-src="/acsascas ...
- 前端学习 第六弹: javascript中的函数与闭包
前端学习 第六弹: javascript中的函数与闭包 当function里嵌套function时,内部的function可以访问外部function里的变量 function foo(x) { ...
- 前端学习 第五弹: CSS (一)
前端学习 第五弹: CSS (一) 创建css: <link rel="stylesheet" type="text/css" href="my ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- 前端学习 第三弹: JavaScript语言的特性与发展
前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ...
随机推荐
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的enabled属性
enabled属性非常简单,最开始老猿没准备介绍该属性的,因为大家都应该知道,但仔细看了看官网文章,觉得还是有些细节可能很少有人注意到,因此还是在此介绍一下. enabled属性用于表示部件是否可用, ...
- Jemter环境搭建
Jemter环境搭建 步骤一:安装Jmeter 1.下载Jmeter,官网地址:http://jmeter.apache.org/download_jmeter.cgi 2.解压Jmeter安装包,J ...
- 题解-洛谷P6788 「EZEC-3」四月樱花
题面 洛谷P6788 「EZEC-3」四月樱花 给定 \(n,p\),求: \[ans=\left(\prod_{x=1}^n\prod_{y|x}\frac{y^{d(y)}}{\prod_{z|y ...
- 落谷 P4052 [JSOI2007]文本生成器
题目链接.只要有一个可读就行,容斥会好做一点. 可读数量 \(=\) 总数 \(-\) 不可读数量 总数显然是 \(26 ^ n\). 求解不可读数量 不可读数量可以利用 AC 自动机的模型进行 DP ...
- Spark3.0中Dates和Timestamps
Spark3.0使用的是预公历,而之前都是儒略历和公历的混合(即1582年之前的日期使用儒略历,1582年之后使用公历,java.sql.Date这个API用的就是这种,而Java8里使用java.t ...
- 数组问题:a[i][j] 和 a[j][i] 有什么区别?
本文以一个简单的程序开头--数组赋值: int LEN = 10000; int[][] arr = new int[LEN][LEN]; for (int i = 0; i < LEN; i+ ...
- 基于 Source Generators 做个 AOP 静态编织小实验
0. 前言 上接:用 Roslyn 做个 JIT 的 AOP 作为第二篇,我们基于Source Generators做个AOP静态编织小实验. 内容安排如下: source generators 是什 ...
- Taro 周报 #7: 收获「e代驾」案例,发布 v2.2.16 和 v3.2.0-canary.2
Taro 周报 2020 年 12 月 05 日 - 2020 年 12 月 12 日 ,更多的Taro周报点击 Taro 大事件 58 技术发布文章<开源 | Taro 3 支持 React ...
- ecshop v2 v3 EXP
import requests import binascii def get_v2Payload(code): '''Ecshop V2.x payload''' code = "{$ab ...
- Pygal之掷骰子
python之使用pygal模拟掷骰子创建直方图: 1,文件die.py,源码如下: 1 from random import randint 2 3 class Die(): 4 '''表示一个骰子 ...