基本HTML结构
配置:在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页面开头的步骤
- 输入<!DOCTYPE html>,声明页面为HTML5文档
- 输入<html lang=" ">声明页面默认使用的语言
- 输入<head>开始网页文档的头部
- 输入meta元素声明字符编码
- <title></title> 包含页面的标题
- 输入</head>,结束页面文档的头部
- 输入<body>,开始页面的主体
- 为页面预留一些空行
- 输入</body>,结束主体
- 输入</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:
- 输入<nav>
- 输入一组链接并将其标记为ul(无序列表),ol(有序列表)结构
- 输入</nav>

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

注意:
- 如果创建的是Web应用,则使用main包围其主要的功能
- 不能将main放置在article,aside,footer,header,nav元素中
5.创建文章
article元素表示文档,页面,应用或网站中一个独立的容器,原则上是可独立分配或可再用的
步骤:
- 输入<article>
- 输入内容,可以包含任意数量的元素,类型包括段落,列表,音频,视频,图像,图形等
- 输入</article>
注意:
- article可以嵌套使用
- 一个页面可以有0或多个article
- 一个article可以包含一个或多个section元素
6.定义区块
section元素:“通用的”区块,标记页面中的特定区域
定义区块的步骤:
- 输入<section>
- 输入区块的内容
- 输入</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.添加注释
步骤:
- 输入<!--
- 输入注释
- 输入-->结束注释文本
基本HTML结构的更多相关文章
- 【.net 深呼吸】细说CodeDom(1):结构大观
CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...
- 读书笔记:《HTML5开发手册》--HTML5新的结构元素
读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- HTML5 语义元素(一)页面结构
本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>.<aside>.<figure>.<figcaption>.< ...
- React在开发中的常用结构以及功能详解
一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构
和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FilePr ...
- Go结构体实现类似成员函数机制
Go语言结构体成员能否是函数,从而实现类似类的成员函数的机制呢?答案是肯定的. package main import "fmt" type stru struct { testf ...
- CRL快速开发框架系列教程十(导出对象结构)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Javacript实现字典结构
字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...
随机推荐
- 关于如何在电脑上安装adb来操作手机(Android)的方法及步骤
1.需要真实的安卓手机: 2.安卓手机需要开启USB调试模式,允许电脑进行调试(各个手机的开启方式可能不同,不知道的自行百度): 3.电脑需要安装ADB驱动,这里提供一个下载地址:https://ad ...
- include和require的区别
include与require除了在处理引入文件的方式不同外,最大的区别就是:include在引入不存文件时产生一个警告且脚本还会继续执行,require则会导致一个致命性错误且脚本停止执行. inc ...
- xml 转换成对象(采用反射机制对对对象属性赋值)
/// <summary> /// 采用反射机制对对对象属性赋值 /// </summary> /// <param name="node">& ...
- Android 开发 values目录里定义数组、颜色、文本、尺寸xml配置文件并且获取数据 附录Android符号转码表
以下xml都在res/values/文件夹下创建 创建String类型array: /app/src/main/res/values/array.xml <?xml version=" ...
- flink 学习
一.运行 SockWordCount例子 1.到官网上下载 flink-1.6.2-bin-hadoop27-scala_2.11.tgz 然后加压出来 2.cd flink-1.6.2 3.打开fl ...
- MySQL一千行笔记
/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...
- sshj 示例
sshj 示例 开发常常需要去服务器做一些操作,比如配置一下,或者取服务器的配置什么的,需要写点工具方便开发. 下面是一个使用sshj 模拟ssh的过程. package sshStuff; impo ...
- javascript基础知识笔记-自用
笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...
- Mybatis pageHelper.startPage(...)是物理分页
使用PageHelper.startPage(...)进行物理分页 业务需求只显示其中的100条数据 之前是在业务逻辑里对参数limit进行了处理 后来试试sql的limit查询100条数据 但是不确 ...
- SpringBoot多模块项目打包问题
项目结构图如下: 在SpringBoot多模块项目打包时遇见如下错误: 1.repackage failed: Unable to find main class -> [Help 1] 解决步 ...