HTML标签嵌套规则详细归纳适合新手朋友

   2015-08-10 0
核心提示:一切的网页可都是以HTML标签为基础,下面就详细归纳一下HTML标签的嵌套规则吧,学习网页的新手朋友们很有必要看看
最近在重新学习HTML的知识,算是对HTML的一个重新认识吧!别小看了这东西,一切的网页可都是以它为基础的!下面就详细归纳一下HTML标签的嵌套规则吧,希望对大家有所帮助。

XHTML的标签有许多:div、ul、li、dl、dt、dd、h1~h6、p、a、addressa、span、 strong……我们在运用这些标签搭建页面结构的时候,是可以将它们无限嵌套的,但是,嵌套也需要有一定规则,不能任由自己的个人习惯胡乱嵌套—— XHTML 必竟不是 XML。

在 XHTML 的语言里,我们都知道:ul 标签包含着 li、dl 标签包含着 dt 和 dd——这些固定标签的嵌套规则十分明确。但是,还有许多标签是独立的,它们没有被捆绑在一起,比如 h1、div、p……那么这些标签的嵌套规则到底是怎样的?今天就来说说这个话题。

提到 XHTML 标签的嵌套规则,我们先得知道有这么二类 XHTML 标签:
一类叫做 块级元素(block)
一类叫做 内嵌元素(inline,也有许多人叫它:内联、行内、线级等)

块级元素 和 内嵌元素 的划分标准很简单,请把下面二行代码放进 body 标签里: 

复制代码
代码如下:

<div style=”border: 1px solid red;”>div1</div>
<div style=”border: 1px solid red;”>div2</div>


浏览器的呈现效果:
div1
div2

页面呈现的这二个 div 占据了二行空间,除非让它们浮动(float)或是进行其他设置,否则谁都不挨着谁,它们都很霸道的占领属于自己的那一行空间——但凡看到某个标签有此现象,你就可以叫它:块级元素(block);

再把下面二行代码也放进 body 标签里: 

复制代码
代码如下:

<span style=”border: 1px solid red;”>span1</span>
<span style=”border: 1px solid red;”>span2</span>


浏览器的呈现效果:
span1 span2

这一次,两个 span 并列在一行,它们之间睦邻友好、亲切和谐……像这样的标签行为,我们可以称它们为:内嵌元素(inline);

块级元素和内嵌元素的区别:

·块级元素 一般用来搭建网站架构、布局、承载内容……像这些大体力活都属于块级元素的,它包括以下这些标签:

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

· 内嵌元素 一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:

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


· 块元素 和 内嵌元素 是可以互相转换的,转换的代码如下:
display: block; /* 转成块元素 */
display: inline; /* 转成内嵌元素 */

· 块元素 和 内嵌元素 对于 CSS 的调用规则是不一样的(这篇文章讨论的是标签嵌套,所以对这个知识点不展开说明)。

简单认识了块元素和内嵌元素以后,下面就可以罗列 XHTML 标签的嵌套规则了:

1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:
<div><h1></h1><p></p></div> —— 对
<a href=”#”><span></span></a> —— 对
<span><div></div></span> —— 错

2. 块级元素不能放在<p>里面:
<p><ol><li></li></ol></p> —— 错
<p><div></div></p> —— 错

3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
h1、h2、h3、h4、h5、h6、p、dt

4. li 内可以包含 div 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:

li 和 div 标签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 div 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大滴……

5. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:
<div><h2></h2><p></p></div> —— 对
<div><a href=”#”></a><span></span></div> —— 对
<div><h2></h2><span></span></div> —— 错
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【JS】获取HTML标签内的子节点 js获取标签的id
    子节点的个数: document.getElementById("id").childNodes.length注意: 标签开/闭合算2个节点 第几个子几点: document.getElementById("id").childNodes[n] 示例:这里是 length-4 处,margin-left:20px 输出:length=8  实例: divspan class="fy2"1/sp
    03-08
  • C#怎么清除字符串中HTML标签。。。 蔡奇
      因为用到了一款编辑器的原因,使得数据库中保存的数据会夹杂着一些HTML标签,之后导出的数据中就会出现一些不同的HTML的标签。严重影响用户的视觉体验(主要自己都看不下去了)。。。下面是我将DataTable进行重新组装,清除HTML标签的方法: 1 /// summary 2
    03-08
  • 服务控件与html标签的一点 服务器控件和html控件的区别
    服务控件与html标签的一点 服务器控件和html控
    前言      很久没有用服务器控件开发了,在新公司待了三四个月了,这个公司一直都用服务器控件。所以在开发的过程中也发现了一丢丢的东东,也许以前就知道,只是没有认真的发现。过程      前几天在开发页面的时候,有个需求,如图(1)      文本框
    03-08
  • 去除字符串中的HTML标签
    背景:Kindeditor内容保存在数据库中的类型是text,包含文字和HTML标签。需求:显示内容的前50个字(纯文字内容)方法:将字段查出去除标签,截取前50  1 import java.util.regex.Matcher; 2 import java.util.regex.Pattern; 34 public class StrUtils { 56
    03-08
  • PHP过滤各种HTML标签的表达式,值得收藏
     1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859$str=preg_replace("/\s*img\s+[^]*?src\s*=\s*(\'|\")(.*?)\\1[^]*?\/?\s*/i", " ", $str); //过滤img标签 $str=preg_replace(
    03-08
  • [转][python] 常用正则表达式爬取网页信息及分析HTML标签总结
    [转][python] 常用正则表达式爬取网页信息及分
    转载至:https://blog.csdn.net/Eastmount/article/details/51082253这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法。它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~当然如果会Selenium基于自动化
    03-08
  • [select][option][checkbox]">HTML标签天天练7-
    ——继续form表单的第二篇学习:有些时候,需要调用到一些下拉选项,比如国家、省份、城市,等等,但既要保证页面的整齐洁净,又要实现功能的情况下,我们就可以使用下拉式的选项:如下:htmlbodyformselect name="coutry"option value="american"American/op
    03-08
  • <frame><iframe>网页框架">HTML标签天天练6--<f
        这几个标签都属于同一类功能,就是框架内镶功能:1)frameset意为把页面分解成一定部分,让每一部分显示不同的内镶框架,如(请复制到DW尝试):htmlframeset rows="25%,50%,25%"frame src="http://blog.sina.com.cn/yefeng9393"frame src="http://blog
    03-08
  • [text][password][radio]">HTML标签天天练7--表
        别小看了这一个标签,里面包含着丰富的内容,是为了让浏览者能输入用户名及更多信息而定义的!从这篇文章起,将分几次讲述form里面的各种标签及属性,让大家一目了然:form意为表单,让用户输入单据里的项目信息,以便于提交给网站。如(复制到DW尝试)
    03-08
  • [action][submit][reset]">HTML标签天天练7--表
       ——上一次讲述了多项选择和下拉表单。这次继续讲另一些新功能:既然有了输入框,我们应该再加上一个按键,让用户点击提交,对吧!?如下(请复制到DW中尝试):htmlbodyform action="/acb.asp" method="get"p用户名: input type="text" name="name" //pp
    03-08
点击排行