HTML标签

  1、块级元素

  div、h1~h6、address、blockquote、center、dir、dl、dt、dd、fieldset、form、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul……

  特点:总是在新行上开始,高度、行高以及顶和底边距都可控制,宽度缺省的它的容器的100%,除非设定一个宽度。

  功能:主要用来搭建网站构架、页面布局、承载内容。

  2、行内元素

  span、a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、strike、strong、sub、sup、textarea、tt、u、var……

  特点:和其他元素都在同一行上,高、行高及顶和底边距不可改变,宽度就是它的文字或图片的宽度,不可改变。

  功能:用于加强内容显示,控制细节,例如:加粗、斜体等。

  3、标签嵌套规则

  虽然HTML标签有很多,并且我们在制作页面的时候可以无限的嵌套,但是嵌套也有规则,不能随意的嵌套。

  有些标签是固定的嵌套规则,例如:ul包含liol包含lidl包含dt和dd等,还有很多是独立的标签。为了写出更优秀的页面,一般遵循下面的规则:

  (1)块级元素与块级元素平级、内联元素与内联元素平级;

<div><span></span><p></p></div>  //span是内行元素,p是块级元素,所以这个是错误的嵌套

<div><span></span><a></a></div>  //这个是正确的嵌套

  (2)块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其他的内联元素;

<div><span></span></div>
<span><span></span></span>

  (3)有几个特殊的块级元素只能包含内联元素,不能再包含块级元素;

h1、h2、h3、h4、h5、h6、pdt

  (4)p标签不能嵌套块级标签

  只要p标签里面也任何形式嵌套块级标签,都会被解析为兄弟级关系,即使设置display属性;

  (5)li标签可以包含div标签,因为li和div标签都是装在内容的容器。

  (6)a标签不能嵌套a标签(链接嵌套)

    只要a标签里面也任何形式嵌套a标签,都会被浏览器解析为兄弟级关系

    (7)如若需要进行链接嵌套,可以推荐使用area标签

对于链接的嵌套,平时如果大家留意的话,很多人都是把两个链接所在a标签单独分开来写,不直接嵌套;或者就是通过js代码来实现的;

现在,可以采用area标签直接进行链接的嵌套;

<area shape="" coords="" href="" alt="" target="_blank"> ;

特别地,area标签本质是用来创建区域热点的,需要配合map标签使用

<img usemap="#test" src="">
<map id="test" name="test">
<area shape="" coords="" href="#rect" alt="">
</map>

  4、关于HTML5新特性

  在HTML5 中,元素不再按照display属性来区分,而是按照内容模型来区分,分为:

  元数据型(metadata content)是可以被用于说明其他内容的表现或行为,或者在当前文档和其他文档之间建立联系的元素;

  区块型(sectioning content)是用于定义标题及页脚范围的元素;

  标题型(heading content)定义一个区块/章节的标题;

  文档流型(flow content)是在应用程序和文档的主体部分中使用的大部分元素;

  语句型(phrasing content)是用于标记段落级文本的元素;

  内嵌型(embedded content)是引用或插入到文档中其他资源的元素;

  交互型(interactive content)是专门用于与用户交互的元素。

  元素不属于任何一个类别,被称为穿透的;元素可能属于不止一个类别,称为混合的。

下面对常用标签的嵌套规则进行总结

  1、<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<p>的子元素是语句型元素

  2、<header>、<footer>不可嵌套<header>、<footer>

  3、<a>的子元素是transparent(以它的父元素允许的子元素为准),但不包括交互型元素(interactive content)

  4、<form>不可嵌套<form>

  5、<button>子元素是语句型元素,不可嵌套交互型元素(interactive content)

  6、<caption>不可嵌套<table>

  7、<dt>、<th>不可嵌套<header>、<footer>、区块型元素(sectioning content)、标题型元素(heading content)

第153天:关于HTML标签嵌套的问题详解的更多相关文章

  1. 关于HTML标签嵌套的问题详解

    先说基础,HTML标签有两类: 1.块级元素 div.h1~h6.address.blockquote.center.dir.dl.dt.dd.fieldset.form.hr.isindex.men ...

  2. ListView嵌套GridView使用详解及注意事项

    ListView嵌套GridView即ListView的每个Item中都包含一个GridView:需要注意的是由于ListView和GridView都是可滑动的控件. 所以需要自定义GridView, ...

  3. Android vector标签 PathData 画图超详解

    SVG是一种矢量图格式,是Scalable Vector Graphics三个单词的首字母缩写.在xml文件中的标签是<vector>,画出的图形可以像一般的图片资源使用,例子如下: &l ...

  4. Kotlin——最详细的抽象类(abstract)、内部类(嵌套类)详解

    如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索QQ群号:497071402 进入正题 在前面几个章节中,详 ...

  5. HTML5新增标签的汇总与详解

    趁着一点闲暇时间,把HTML5的新增标签整理了一下,用了表格的形式展现,分别归纳了各标签的用法及属性分析.这样方便各位以后在运用HTML5标记遇到疑惑时,直接上来对照看下就明了了,希望对大家有帮助哦. ...

  6. HTML中select标签单选多选详解

    select 元素可创建单选或多选菜单.当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包 ...

  7. Java 嵌套类基础详解

    目录 1. 什么是嵌套类? 2. 为什么要使用嵌套类? 3. 嵌套类的类型 4. 静态嵌套类 5. 非静态嵌套类 5.1 成员内部类 5.2 局部内部类 5.3 匿名内部类 6. 嵌套接口 1. 什么 ...

  8. maven 依赖中scope标签的配置范围详解

    在创建Maven项目时,需要在pom.xml 文件中添加相应的依赖,其中有一个scope标签,该标签是设置该依赖范围 (maven项目包含三种classpath{编译classpath,测试class ...

  9. 嵌套表用法详解(PLSQL)

    嵌套表 嵌套表是一种类似于索引表的结构,也可以用于保存多个数据,而且也可以保存复合类型的数据 嵌套表指的是一个数据表定义事同时加入了其他内部表的定义,这一概念是在oracle 8中引入的,它们可以使用 ...

随机推荐

  1. 20155307 2016-2017-2 《Java程序设计》第10周学习总结

    20155307 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程:就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据 ...

  2. 最优布线问题(wire.cpp)

    最优布线问题(wire.cpp) [问题描述] 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来.两台计算机被连接是指它们间有数据线连接.由于计算机所处的位置不同,因此不同的两台计算机的 ...

  3. Docker入门篇(三)之docker-compose单机编排

    1.docker-compose的简介 docker-compose作为dokcer的官方编排工具,它可以让用户通过编写一个简单的模板文件,快速地创建和管理基于docker容器的应用集群.实现对doc ...

  4. Yii2.0 高级模版编写使用自定义组件(component)

    翻译自:http://www.yiiframework.com/wiki/760/yii-2-0-write-use-a-custom-component-in-yii2-0-advanced-tem ...

  5. cogs2554 [福利]可持久化线段树

    cogs2554 [福利]可持久化线段树 原题链接 每次修改复制一遍就行了... 1A!!! // It is made by XZZ #include<cstdio> #include& ...

  6. L018-crond的生产场景经验小节

    L018-crond的生产场景经验小节 怎么说呢,其实L018这节课还是巩固crond的知识,前半堂课主要是解决上堂课老师留的作业(在L017已经更新,拉到最后),然后剩下的半堂客主要是讲解了一些生产 ...

  7. 第三篇 Python关于mysql的API--pymysql模块, mysql事务

    python关于mysql的API--pymysql模块 pymysql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install pymys ...

  8. HTML从入门到放弃

    一.HTML 简介 链接:https://www.cnblogs.com/baishuchao/articles/9179920.html 二.HTML 基础 链接:https://www.cnblo ...

  9. 直线石子合并(区间DP)

    石子合并 时间限制:1000 ms  |  内存限制:65535 KB 描述有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费 ...

  10. mysql系列学习

    # 帮助help create user;# 查看当前用户select user();# 创建用户create user 'egon'@'localhost' identified by '123'; ...