H5基础知识总结

12 篇文章 1 订阅

定义

Html5
HTML5 是定义 HTML 标准的最新的版本。 该术语表示两个不同的概念:
	它是一个新版本的HTML语言,具有新的元素,属性和行为,
	它有更大的技术集,允许更多样化和强大的网站和应用程序。
			这个集合有时称为HTML5和朋友,通常缩写为HTML5。

	HTML5     约等于     HTML + CSS + JS
Html5优势
跨平台:唯一一个通吃PC MAC Iphone Android等主流平台的跨平台语言
快速迭代
降低成本
导流入口多
分发效率高

基础知识

  1. html5文件前面的是告诉浏览器以标准模式进行页面渲染,没有则浏览器以怪异模式进行页面渲染,document.compatMode可以查看浏览器渲染页面的模式:BackCompat:标准兼容模式未开启(怪异模式);CSS1Compat:标准兼容模式已开启(标准模式)

  2. 语义化标签:

	<hgroup></hgroup>
   <header></header>
   <nav></nav>
   <section></section>
   <footer></footer>
   <article></article>
   <aside></aside>
  • 语义化的好处
    HTML5可以让很多更语义化结构化的代码标签代替大量的无意义的div标签
    这种语义化的特性提升了网页的质量和语义
    对搜索引擎更加的友好
    他们这些标签功能就是代替

    功能中的一部分,他们没有任何的默认样式,除了会让文本另起一行外; https://gsnedders.html5.org/outliner/

  • hgroup元素代表 网页 或 section 的标题,当元素有多个层级时,该元素可以将h1到h6元素放在其内,譬如文章的主标题和副标题的组合

    <hgroup>
        <h1>HTML 5</h1>
        <h2>这是一篇介绍HTML 5语义化标签和更简洁的结构</h2>
    </hgroup>
    

    hgroup使用注意:
    如果只需要一个h1-h6标签就不用hgroup
    如果有连续多个h1-h6标签就用hgroup
    如果有连续多个标题和其他文章数据,h1-h6标签就用hgroup包住,和其他文章元数据一起放入header标签

  • header 元素代表 网页 或 section 的页眉。
    通常包含h1-h6元素或hgroup

    <header>
        <hgroup>
            <h1>网站标题</h1>
            <h2>网站副标题</h2>
        </hgroup>
    </header>
    

    header使用注意:
    可以是“网页”或任意“section”的头部部分
    没有个数限制。
    如果hgroup或h1-h6自己就能工作的很好,那就不要用header。

  • nav元素代表页面的导航链接区域。用于定义页面的主要导航部分。

    <nav>
        <ul>
            <li>HTML 5</li>
            <li>CSS3</li>
            <li>JavaScript</li>
        </ul>
    </nav>
    

    nav使用注意:
    用在整个页面主要导航部分上,不合适就不要用nav元素;

  • section元素代表文档中的 节 或 段,段可以是指一篇文章里按照主题的分段;节可以是指一个页面里的分组。

    <section>
        <h1>section是啥?</h1>
        <article>
            <h2>关于section</h1>
            <p>section的介绍</p>
            <section>
                <h3>关于其他</h3>
                <p>关于其他section的介绍</p>
            </section>
        </article>
    </section>
    

    section使用注意:
    section不是一般意义上的容器元素,如果想作为样式展示和脚本的便利,可以用div。
    article、nav、aside可以理解为特殊的section,
    所以如果可以用article、nav、aside就不要用section,没实际意义的就用div

  • article元素最容易跟section和div容易混淆,其实article代表一个在文档,页面或者网站中自成一体的内容

    <article>
        <h1>一篇文章</h1>
        <p>文章内容..</p>
        <footer>
            <p><small>版权:html5jscss网所属,作者:damu</small></p>
        </footer>
    </article>
    

    article使用注意:
    独立文章:用article
    单独的模块:用section
    没有语义的:用div

  • aside元素被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料、标签、名次解释等

    在article元素之外使用作为页面或站点全局的附属信息部分。最典型的是侧边栏,其中的内容可以是日志串连,其他组的导航,甚至广告,这些内容相关的页面。

    <article>
        <p>内容</p>
        <aside>
            <h1>作者简介</h1>
            <p>小北,前端一枚</p>
        </aside>
    </article>
    

    aside使用总结:
    aside在article内表示主要内容的附属信息,
    在article之外则可做侧边栏
    如果是广告,其他日志链接或者其他分类导航也可以用

  • footer元素代表 网页 或 section 的页脚,通常含有该节的一些基本信息,譬如:作者,相关文档链接,版权资料。

    <footer>
        COPYRIGHT@damu
    </footer>
    

    footer使用注意:
    可以是 网页 或任意 section 的底部部分;
    没有个数限制,除了包裹的内容不一样,其他跟header类似。

  1. html5标签属性:
classlist
dataset
contenteditable="true"
  • classlist:相对于class的property(className)
    add
    remove
    toggle
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id="test" class="qhf qhf1 qhf2 qhf3">
			
		</div>
	</body>
	<script type="text/javascript">
		var testNode = document.querySelector("#test");
//		console.log(testNode.className)
		testNode.classList.add("qhf4");
		testNode.classList.remove("qhf1");
		testNode.classList.toggle("qhf2");//切换,如果存在则删除该class,如果不存在则添加该class
		console.log(testNode.classList);
		
	</script>
</html>

  • dataset:自定义属性(限制 data-x-y)的property
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id="test" data-atguigu-qhf="qhf">
			
		</div>
	</body>
	<script type="text/javascript">
		var testNode = document.querySelector("#test");
		console.log(testNode.dataset.atguiguQhf);
		testNode.dataset.atguiguQhf="111";
		testNode.dataset.atguiguQhf.add("222");
	</script>
</html>

  • 可编辑:contenteditable=“true”,值只能为’true’,可让元素的文本节点可编辑
     	<!DOCTYPE html>
    	<html>
    		<head>
    			<meta charset="UTF-8">
    			<title></title>
    			<style type="text/css">
    				#test{
    					width: 200px;
    					height: 200px;
    					background: pink;
    				}
    				
    				
    			</style>
    		</head>
    		<body>
    			<div id="test" contenteditable="true">
    				nsjknfksnfjsnfksnfjsnfksnf
    			</div>
    		</body>
    	</html>
    
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值