基本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& ...
随机推荐
- altera DDR2 IP核之仿真
在生成的IP核文件夹下,有一个testbench文件夹,里面包含了一个example测试激励和DDR2仿真模型. 如下 20 -rw-r--r-- 1 Administrator 197121 171 ...
- Linux下搭建jmeter
最近做性能测试,Windows下跑jmeter,并发跑不到100,CPU就100%,这还是在命令行模式下,真心头大.没办法,只好搞个Linux来跑了,下面说下如何玩转的. 1.下载Ubuntu操作系统 ...
- 微信小程序web-view的简单思考和实践
微信小程序的组件web-view推出有一段时间了,这个组件的推出可以说是微信小程序开发的一个重要事件,让微信小程序不会只束缚在微信圈子里了,打开了一个口子,这个口子或许还比较小,但未来有无限可能. 简 ...
- 试用 Angular v6 的 Ivy compiler
“Ivy” 是 Angular v6 的新一代渲染器.从 v6.0.0-beta.1 开始,Ivy 已经作为体验 API 发布. 作为下一代的 Angular 的视图引擎,重点在于彻底缩减代码尺寸并增 ...
- html 常用button事件
<input onclick="document.all.WebBrowser.ExecWB(1,1)" type="button" value=&quo ...
- 分布式 基本理论 BASE
比起CAP的生硬来, 我更加喜欢BASE.BASE 显得更加好理解.尽管BASE 这个名字本身有迎合语言习惯的恶臭味,为什么不是缩写为 BaSsEc 呢? 其实大部分系统是可以 同时 CAP 的, 因 ...
- Spring-表达式语言
概念及作用 Spring表达式语言全称为“Spring Expression Language”,缩写为“SPEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式.存取对 ...
- MyBatis 生命周期
一.SqlSessionFactoryBuilder SqlSessionFactoryBuilder是利用XML或是Java编码获得资源来构建SqlSessionFactory的,通过他可以构建多个 ...
- sys.exit(main(sys.argv[1:]))
sys.argv sys.argv[]说白了就是一个从程序外部获取参数的桥梁. 首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块.封装了一些系统的信息和接口, ...
- 开源微信管家平台——JeeWx 捷微4.0 微服务版本发布,全新架构,全新UI,提供强大的图文编辑器
JeeWx捷微4.0 微服务版本发布^_^ 换代产品(全新架构,全新UI,提供强大的图文编辑器) JEEWX 从4.0版本开始,技术架构全新换代,采用微服务架构,插件式开发,每个业务模块都是独立的 ...