配置:在vs code中声明页面为html,然后添加open in browser,view in browser插件通过快捷键alt+b实现在浏览器中查看编写好的html界面

基本成分:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body> </body>
</html>

1.编写HTML5页面开头的步骤

  1. 输入<!DOCTYPE html>,声明页面为HTML5文档
  2. 输入<html lang=" ">声明页面默认使用的语言
  3. 输入<head>开始网页文档的头部
  4. 输入meta元素声明字符编码
  5. <title></title> 包含页面的标题
  6. 输入</head>,结束页面文档的头部
  7. 输入<body>,开始页面的主体
  8. 为页面预留一些空行
  9. 输入</body>,结束主体
  10. 输入</html>,结束页面

2.创建分级标题

HTML提供了六级标题用于创建页面信息的层次关系:

h1,h2,h3,h4,h5,h6 级别由高到低

注意:

  • 创建分级标题时,要避免跳过某些级别,如从3到5,不过允许从低级别跳到高级别
  • 不要使用h1~6标记副标题,标语以及无法成为独立标题的子标题

使用header创建页眉——包括网站标志,主导航和其他全站链接,甚至搜索框

<body>
<header role="banner">
<nav>
<ul>
<li><a href="#gaudi">Barcelona's Architect</a></li>
<li lang="es"><a href="#sagrada familia">La Sagrada Familia</a></li>
<li><a href="#park-guell">Park Guell</a></li>
</ul>
</nav>
</header>
</body>

注意:

  • 只在必要时使用header
  • header与h1~h6元素中的标题是不能互换的,它们都有各自的语义目的
  • 不能在header里嵌套footer元素或另一个header,也不能在footer或address元素里嵌套header

3.标记导航

对页面中的重要链接群使用nav:

  1. 输入<nav>
  2. 输入一组链接并将其标记为ul(无序列表),ol(有序列表)结构
  3. 输入</nav>

4.标记页面的主要区域

一个页面只有一个部分代表其主要内容,可以将这样的内容包在main元素中,该元素在一个页面仅使用一次,最后在main开始标签加上role=“main”

注意:

  • 如果创建的是Web应用,则使用main包围其主要的功能
  • 不能将main放置在article,aside,footer,header,nav元素中

5.创建文章

article元素表示文档,页面,应用或网站中一个独立的容器,原则上是可独立分配或可再用的

步骤:

  1. 输入<article>
  2. 输入内容,可以包含任意数量的元素,类型包括段落,列表,音频,视频,图像,图形等
  3. 输入</article>

注意:

  • article可以嵌套使用
  • 一个页面可以有0或多个article
  • 一个article可以包含一个或多个section元素

6.定义区块

section元素:“通用的”区块,标记页面中的特定区域

定义区块的步骤:

  1. 输入<section>
  2. 输入区块的内容
  3. 输入</section>

注意:

如果只是出于添加样式的原因要对内容添加一个容器,应使用div而不是section

7.指定附注栏

aside元素

注意:

  • 在HTML中,应该将附注栏内容放在main的内容之后,通过CSS改变它们在浏览器中的显示顺序
  • 对于与内容有关的图像(如图表,图形或带有说明文字的插图),使用figure而非aside
  • HTML5不允许将aside嵌套在address元素内

8.创建页脚

footer元素

注意:不能在footer里嵌套header或另一个footer。同时,也不能将footer嵌套在header或address元素里。

只能对页面级的footer使用role="contentinfo",且一个页面只能使用一次

9.创建通用容器div

10.使用ARIA改善可访问性

一些可用的地标角色:

  • role="banner"(横幅):添加到页面级的header元素,每个页面只用一次
  • role="navigation"(导航):与nav元素是对应关系,将其添加到每个nav元素,或其他包含导航性链接的容器
  • role="main"(主体):最好添加到main,也可以添加到其他表示主体的元素
  • role="complementary"(补充性内容):添加到aside或div元素(前提是仅包含补充性内容)
  • role="conteninfo"(内容信息):添加至整个页面的页脚(footer),每个页面仅使用一次

11.为元素指定类别或ID名称

可以给HTML元素分配唯一的标识符(ID),或指定其属于某个(或某几个)类别,也可以同时指定标识符和类别

(1)为元素添加唯一的ID

id=“name”

(2)为元素指定类别的方法

class=“name”或class=“name  anothername”(可以指定两个以上的类别名称)

12.为元素添加title属性

使用title属性为网站上任何部分加上提示标签,用的最多的是链接

13.添加注释

步骤:

  1. 输入<!--
  2. 输入注释
  3. 输入-->结束注释文本

基本HTML结构的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(1):结构大观

    CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...

  2. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. HTML5 语义元素(一)页面结构

    本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>.<aside>.<figure>.<figcaption>.< ...

  5. React在开发中的常用结构以及功能详解

    一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...

  6. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  7. ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构

    和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FilePr ...

  8. Go结构体实现类似成员函数机制

    Go语言结构体成员能否是函数,从而实现类似类的成员函数的机制呢?答案是肯定的. package main import "fmt" type stru struct { testf ...

  9. CRL快速开发框架系列教程十(导出对象结构)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  10. Javacript实现字典结构

    字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...

随机推荐

  1. python初识,变量,条件判断语句,基本数据类型,while循环语句

    python文件后缀可以是任意,但是导入模块时不用.py后缀时会报错 python文件的两种执行方式: python解释器 python文件路径 进入python解释权,事实获取执行结果 在Linux ...

  2. RN-环境配置

    良好的开端是成功的一半,这是window平台安装步骤 首先配置JDK1.8  配置JAVA_HOME环境变量 然后安装Android Studio3.2 然后安装react-native-cli np ...

  3. JQuery 中的选择器

    选择器:允许通过标签名,属性名或内容对DOM元素进行快速,准确的选择,浏览器兼容性很好. 普通选择器 选择器 功能 返回值 #id 根据给定的ID匹配一个元素 单个元素 element 根据给定的元素 ...

  4. http(数据格式)、postman(数组、id、断言) 小知识必看啊

  5. C#异步方法

      Task MainTask;   MainTask = Task.Factory.StartNew(() =>             { //耗时的异步逻辑 });

  6. 容器化部署Cassandra高可用集群

    前提: 三台装有docker的虚拟机,这里用VM1,VM2,VM3表达(当然生产环境要用三个独立物理机,否则无高可用可言),装docker可参见Ubuntu离线安装docker. 开始部署: 部署图 ...

  7. 如何解决iOS界面操作导致导致NSTimer暂停计时的问题?

    在NSTimer代码后面加上以下代码,这样滚动scroll的时候就不会暂停了.NSRunLoop *t = [NSRunLoop currentRunLoop];[t addTimer: timer  ...

  8. apue第九章之孤儿进程组

    1. 为什么会有孤儿进程组的概念,APUE没直接写,但是GNU有规定: 孤儿进程组不可以获得终端,这是为了保证控制进程死掉后他的终端可以安全分配给新session.posix要求向新孤儿进程组中停止状 ...

  9. abp.net zero 运行报500.21,错误模块AspNetCoreModuleV2

    关于这个运行时提示的问题,导致项目无法运行,之前我是遇到过的,也是查了很久最后解决了 但忘记记录了...岁数大了脑袋不好用了...这次依然找了各种方案,有很多都说由于net core 不是最新的,但我 ...

  10. Shell 批量修改主机 用户密码

    问题:132.121.114 和 132.121.118 网段共 48 台主机未添加基础监控,但是 wh 账户不能登录 需进行批量修改密码操作. 目前情况:op1对上述48台机器设备均能免密登录. 操 ...