前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTML基础知识普及

HTML基础知识普及

作者头像
lesM10
发布于 2019-08-27 09:01:40
发布于 2019-08-27 09:01:40
1.2K00
代码可运行
举报
运行总次数:0
代码可运行
HTML常用元素

meta/title/style/link/script/base

<meta charset="utf-8"> 规定页面的字符编码 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> meta name="viewport" viewport视口:手机屏幕/电脑屏幕等设备的视口有多大 width=device-width: 视口宽度=设备宽度 initial-scale=1.0: 初始化的缩放比例是1 maximum-scale=1.0: 最大缩放是1 user-scalable=no: 用户不能缩放

<base href="/"> 框架中用于指定 其它文件路径的基准路径

div: 是 层? 是 区域? 是 容易? 由于语义不明确,似乎可以是任意一种。 section, article, aside, header, footer: 有明确含义的 一块区域 p: 段落 span/em/strong: 行内元素(em, strong 带默认样式:em斜体 strong粗体)

table/thead/tbody/tr/td:表格相关元素。 tr(table row)表格中的一行,td(table data)单元格。 thead封装整行,将该行作为表头 th:将tr中的第一个单元格 设置为 标题单元格

ul/ol/li/dl/dt/dd:列表相关的元素。 ul(unordered list无序列表) ol(ordered list有序列表) li(list item列表项) dl(defined list定义的列表) dt(defined title定义的标题) dd(defined data定义的内容)

a:链接

form/input/select/textarea/button:表单 输入框 下拉框 文本输入区域 按钮

HTML重要属性
  • a[href, target] target:在哪儿打开链接,默认在当前窗口打开。target=blank新窗口打开
  • img[src, alt] alt:alternative替代资源,一般为文字
  • table td[colspan, rowspan] 单元行 需要占用多行/多列,使用colspan rowspan属性
  • form[target, method, enctype] target: 表单提交地址 method: 提交方式)post get) enctype: encode type 编码类型(对post而言) urlencode(提交文本) formdata(把数据进行编码后 进行提交。因此,可以上传文件)
  • input [type, value, name, id]
  • button[type]
  • select>option[value]
  • label[for] 与表单项 相关联。点击某个label时,相当于点击 该label对应的表单项。用于单选框 复选框
如何理解HTML
  • 描述网页内容各个部分之间的 结构关系
H5新增内容
  • 新区块标签
    • section
    • article
    • nav
    • aside
  • 表单增强
    • input新增类型:日期,时间,搜索
    • 表单验证: required, min, max, pattern
    • placeholder autofocus
H5新增语义
  • header/footer: 即可表示 网站的头部,也可表示 区块的头部(比如article中 可以包含header footer)
  • section/article: div是没有语义的 区块(当找不到合适的语义标签时,就使用div). section和article相比,section适用于更琐碎的信息
  • nav:navigate
  • aside: 侧边栏
  • em/strong: emphasis(斜体)/strong(加粗)
  • i: icon图标
HTML元素分类

可以按样式,按功能(区块,链接,表单元素)

  • 按默认样式分:
    • block块:呈方块形状,默认会占据整行(div section article aside)
    • inline行内元素/内联元素:没有 规则的形状,不会独占一行(跟文本相关的元素 span em strong)
    • inline-block: 可以像inline元素一样 和其它元素 在同一行。对外像inline元素,对内 像block元素(形状可能是块状,有自己的宽高尺寸等)。 (inline-block: 一些表单元素,下拉框 输入框)

div, p 都是块级元素 span, em, strong 都是inline元素 select 是inline-block元素

  • 按内容分(content model):
    • Flow: 在文档流中 有一些影响的元素(大部分可见的元素 都属于flow元素)
    • Metadata:表示信息的元素,有一些metadata不在flow中,html中head中的title,base,script等,这些标签是不占据文档流的。
    • Heading:h1-h6标题,hgroup
    • Sectioning: 主要是一些分区的元素,比如section article aside nav
    • Interactive:有交互/互动的元素(和用户有交互), 链接(点了链接就跳转了). 比如 a, audio, button等 和用户有交互的元素
    • Phrasing: 这部分的元素 大都属于inline类型的元素,被包含在一个段落中 是段落的一部分。phrasing本身并不是完整的(只是其他元素中的一部分),比如em(一句话中可能有两个需要强调的词组,就使用em包裹)。
    • Embeded: 可嵌入的元素(是嵌入别的元素中,还是被嵌入?)一些元素 可以在其中 嵌入其他元素。比如audio video img

Flow content

Phrasing content

Interactive content

Embeded content

Metadata content


HTML元素的嵌套关系

哪些元素 可以出现在 哪些地方,哪个元素 可以被另一个元素包含。

基本原则:

  • 块级元素(block) 可以包含 行内元素(inline). 比如div元素可以包含(a, span)
  • 块级元素 不一定 能包含块级元素 块级 包含 块级:div包div, section包div。 块级元素(段落p) 不能包含 块级元素(div)
  • 行内元素 一般不能包含 块级元素 span包div 是不行的。 行内元素(a元素) 可以包含 块级元素(div)。
HTML的嵌套关系 依赖于:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* 元素的分类
* content model
HTML元素默认样式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
html不写样式时,会有 默认的样式

* 默认样式的意义:
    如果默认没有样式 需要对每个元素定义 各种基础的样式,增加了 开发人员的负担。
* 默认样式 会带来问题:
    有些默认样式 是我们不想要的,需要清除默认样式 再写一些自己需要的样式。
    比如下拉框是没办法清除 默认样式的,此时 需要的定制成本 是很高的。
    有些样式 不同浏览器的处理结果 是不同的
* css reset
    有些样式 是我们不想要的,统一去掉
    有些样式 不同浏览器的处理结果 不一样,显式地统一
css reset的简单粗暴方式:
    *{
        margin:0;
        padding:0;
    }
浏览器在查找元素时,使用的是什么策略?如果我用*,会不会一个一个的去匹配元素 会不会比较慢
HTML面试真题
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* 1. doctype的意义是什么?
    对盒子模型 进行标准的处理(width看做content-width)
    让浏览器知道 元素书写方法的合法性(doctype: html4, xhtml)

* 2. html, xhtml, html5的关系
    html属于SGML的一个应用(SGML是一个通用的标记语言,xml也是SGML的一个应用)
    xhtml属于xml,是html进行xml严格化的结果
    html5是个独立的规范,不属于SGMLXML,书写方式上 html5比XHTML宽松
* 3.html5 有什么变化?
    变化是 相对于html4 和xhtml而言的
    * 增加 新的语义化元素,比如section article nav aside header footer, 便于书写 更富有语义的结构。把之前语义不强的i,b元素 都不推荐使用了。
    * 表单增强,包括新的元素 和 表单验证。
    * 新的API(离线application cache, 音视频,图形canvas,实时通信websocket,本地存储local storage,设备能力 包括定位 获取加速计 陀螺仪的状态)
    * 元素分类和嵌套的变更,html5对元素 重新进行了分类,嵌套规则也有一些变化,但是 推理的过程 完全变了,因为分类变化了。比较明显的就是a元素的变化,a能否包含 块级元素,取决于a外面的元素是什么 
* 4. em和i有什么区别
    主要是语义化上面的变化,em和i的默认样式 都是斜体的。
    * em是语义化的标签,表强调
    * i是纯样式的标签,表斜体 其没有强调的意思
    * html5中不推荐使用i,一般把i作为图标 表示icon的含义
* 5.语义化的意义是什么
    * html文档 按照语义化去编写 读起来就会 很容易,能够一眼看到它的大纲 开发者就容易理解
    * 也是机器容易理解的结构(比如 搜索引擎,读屏软件)
        如果大纲写的好,机器就容易理解你的页面 
    * 有助于SEO
    * 不要到处用div,需要section就用section 需要article就用article
    * semantic microdata,这是另外一个规范 会在html中添加一些新的标记,让后去标注 这个东西 是什么。对页面中的元素 做进一步的语义化标记 方便搜索。
* 6.哪些元素可以自闭合
    不是所有的元素里面 都可以放别的元素的,有些元素就是放在那儿 它里面就没有别的元素了。常见的有以下这些元素:
    * 表单元素input(input框内 不能有其他元素)
    * 图片img(不能在图片中嵌入 别的元素)
    * br hr(br换行  hr水平线)
    * meta link(元信息:meta link)
* 7.HTMLDOM的关系
    * HTML是写好的带结构的文本,是'死'* DOM是 由HTML 经过浏览器解析 而来的,DOM是存在于浏览器内存中的 一个树状的结构,'活'* JS维护DOM
* 8.property和attribute的区别
    一般都译作'属性',认为:property是'特性' attribute是'属性'. 
    * 写在html中的 被认为是 attribute
    * property一般被用在 (html经过解析之后的得到的dom)dom元素中
        调试技巧,在inspect查看器中选中的元素 在console中有个名称'$0'. 使用'$0',可以查看选中元素的一些属性。
* 9.form的作用有哪些
    使用form有很多好处,就算是用ajax提交数据 也应该加上form。
    * 直接提交表单(直接用get/post的方式 进行表单提交),必须有form
    * 表单和submit/reset配合,submit可以提交表单 reset可以重置表单
    * 使用form 可以使 浏览器记录下 表单中的数据
    * 第三方库 可以整体提取值
        jquery中的serialize 可以把表单中的值 
    * 第三方库 在有form时,才能进行表单验证
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端学习(6)~html回顾
html 的常见元素主要分为两类:head 区域的元素、body 区域的元素。下面来分别介绍。
Vincent-yuan
2020/02/23
4730
系统讲解CSS应用
<input type="radio" name="radio1" id="radio1-2" /> <label for="radio1-2">选项二</label> //关联的关键是ID
慕白
2018/08/03
5760
系统讲解CSS应用
前端面试宝典(一)
Hello大家好,兔妞想着咱们分享也有好多了,而且新一轮的秋招又快到了,要不咱收集收集题目,也好自己查缺补漏一下吧~所以最近会有一些面试题目分享给大家,答案也会一并送出哦。但是穿插这中间还是会有干货的分享哟。
萌兔IT
2019/08/05
7260
知识整理之HTML篇
HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们该有的方式来运行) 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
Clearlove
2019/08/29
1.3K0
前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!
<form></form> 表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。
全栈程序员站长
2022/07/02
2.5K0
前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!
第2天:HTML常用标签
一、超链接a href:www.baidu.com(跳转页面);id名(锚点跳到相应div位置);01.rar(压缩包) target:_blank(新窗口打开);_self(当前窗口打开) 二、文件路径 绝对路径: (1)线上:线上绝对路径 (2)线下:完整路径
半指温柔乐
2018/09/11
1.2K0
第2天:HTML常用标签
HTML基础
HTML(HyperText Markup Language, 超文本标记语言),用于构建网页基本结构及其内容的标记语言
赤蓝紫
2023/01/01
1.6K0
HTML基础
前端面试题归类-HTML1
比如:header(头部),nav(导航)、section(主要用于对网站或应用程序中页面上的内容进行分块。)、article(一个页面的一部分,并且这部分专门用于独立的分类或复用)、aside(定义article以外的内容,aside的内容应该与article的内容相关。表示当前页 面或文章的附属信息部分)、footer(底部)
肥晨
2023/02/16
5010
HTML基础
一 html html结构 !DOCTYPE html> 告诉浏览器使用什么样的html或者xhtml来解析html文档 <html></html>是文档的开始标记和结束标记。此元素告诉浏览器其自身是
用户1214487
2018/01/24
1.6K0
HTML基础
【HTML5】HTML5 语义化标签 ( HTML5 简介 | 新增特性 | 语义化标签及代码示例 )
HTML5 指的是 对 HTML 语言的第五次重大修改 , 新增了新的元素 / 属性 / 行为 ;
韩曙亮
2023/04/24
2.2K0
【HTML5】HTML5 语义化标签 ( HTML5 简介 | 新增特性 | 语义化标签及代码示例 )
HTML 面试知识点总结
本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出!
不愿意做鱼的小鲸鱼
2022/09/26
2K0
HTML 面试知识点总结
献给前端的小伙伴,祝大家面试顺利!
HTML相关问题 1.XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言 最主要的不同: XHTML 元素必须被正确地嵌套。 XHTML
用户1667431
2018/04/18
1.2K0
前端硬核面试专题之 HTML 24 问
确保用户在不同地区能用最快的速度打开网站,其中某个域名崩溃用户也能通过其他域名访问网站。
夜尽天明
2019/08/08
1.2K0
前端硬核面试专题之 HTML 24 问
HTML基础
HTML基础 ---- HTML基本知识与结构 HTML常见标签 标签写法与嵌套的讨论 HTML、CSS、javascript三者的关系 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。 JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的
用户1667431
2018/04/18
4K0
HTML基础
前端面试那些坑之HTML篇
HTML 1、Doctype作用?标准模式与兼容模式各有什么区别? (1)、<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<html> 标签之前。告知浏览器的解析器用什么文档标准解析这
用户1667431
2018/04/18
1.5K0
『知识巩固#1』Html、Css基础整理
Html 标签学习 排版标签 标题 h1、h2、h3、h4、h5、h6只有这六个 段落标签 p标签 段落之间有空隙换行 换行标签 br 空换行 hr 下划线换行 文本格式化标签 根据语境区分 b、strong 加粗 u、ins 下划线 i、em 倾斜 s、del 删除线 媒体标签 图片标签img 属性名、属性值 alt属性值作为替换文本、src属性作为图片链接、title属性在鼠标悬停时显示 width、height 很容易理解,控制图片宽高 路径 相对路径 绝对
客怎眠qvq
2022/11/01
4.1K0
『知识巩固#1』Html、Css基础整理
HTML/CSS面试题(收集)[通俗易懂]
1、目前主流的浏览器以及其内核名有哪些? 点这里查看 2、内元素和块级元素的区别? 行内元素:不会独立出现在一行,单独使用的时候后面不会有换行符的元素。eg:span, strong, img, a 等。这些元素,默认的高宽,总是其内容的高宽。并且,margin和padding值,只有左右有效。 块级元素:独立在一行的元素,他们后面会自动带有换行符。eg:div , p ,form , ul , li , ol , dl 等。它们的出现,往往独自占领一行。在没有设置宽度的情况下,默认宽度总是其父元素的宽度。 行内元素转换成块元素,只要设置其display属性为block即可,display:block; 。块元素转换成行内元素,只要将其display属性设置为inline即可,display:inline;。
全栈程序员站长
2022/08/31
4310
「资深前端工程师总结」前端面试知识点大全——html篇
定时让网页在3秒内跳转到mozilla首页(http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。)
用户5997198
2019/08/12
2.1K0
「资深前端工程师总结」前端面试知识点大全——html篇
【web前端阶段一】HTML巩固学习(持续更新)
在<head>中加入<style> 添加css样式,如:对齐,大小,高度,宽度,颜色,布局,圆角
天天Lotay
2022/12/01
4.7K0
【web前端阶段一】HTML巩固学习(持续更新)
HTML 基础
超文本标记语言 (HTML, HyperText Markup Language) ,是构成网页的最基础的内容,用来创建并以可视化方式来呈现网页,它确定了一个网页的内容而不是功能
Nian糕
2018/08/21
4K0
HTML 基础
相关推荐
前端学习(6)~html回顾
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档