htnl中div和span的区别在?
htnl中div和span的区别在?
一、<div></div>和<span></span>
1.<div></div>标签
<div></div>标签可定义文档中的分区或节(division/section),从而把文档分割为独立的、不同的部分。<div></div>标签可以作为一种严格的组织工具,并且不使用任何格式与其关联,这其中包含一种HTML标记和表现样式相分离的思想。在实际工作中,我们通常为<div></div>标签指定 id 或 class 属性,使该标签会变得更加有效。<div></div> 是一个块级元素,这意味着它的内容自动地开始一个新行。并且实际上换行是 <div> 固有的唯一格式表现。
下面这段 HTML 模拟了新闻网站的结构。其中的每对<div></div>标签 把每条新闻的标题和摘要组合在一起,也就是说,<div></div> 为文档添加了额外的结构。同时,由于这些 <div></div> 属于同一类元素,所以可以使用 class="news" 属性对这些<div></div>标签进行标识,这么做不仅为 <div></div> 添加了合适的语义,而且便于进一步使用样式对 <div></div> 进行格式化。
<div class="news"> <h2> News headline 1</h2> <p> some text. some text. some text...</p> ... </div> <div class="news"> <h2> News headline 2</h2> <p> some text. some text. some text...</p> ... </div>
2.<span></span>标签
<span> 标签被用来组合文档中的行内元素(inline elements)。
<span style="color: Red">注意:</span>
二、块级元素和行内元素
块级元素(block element)和行内元素/内联元素(inline element)是css中的概念,像<div></div>和<h1></h1>等元素常常被称为块级元素。这是因为这些元素显示为一块内容,即“块框”。与之相反,<span></span> 和 <strong></strong> 等元素称为“行内元素”,这是因为它们的内容显示在一行中,即“行内框”。
块级元素和行内元素的概念并不是固定不变的,而是相对的。我们可以使用元素的 display 属性改变生成的框的类型。这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样;还可以通过把 display 设置为 inline 让生成的元素成为行内元素;甚至,我们可以把display属性设置为 none ,使元素根本没有框,这种情况,该框及其所有内容就不再显示,不占用文档中的空间。
<div id="dv1" style="display: block"> 我是一个块级元素。 </div> <div id="dv2" style="display: inline"> 我是一个行内元素。 </div> <div id="div3" style="display: none"> 我是不可见的 </div>
三、<div></div>和<span></span>的比较
1.相同点:<div></div>标签和<span></span>标签都是用来划分区间但是没有实际语义的标签;两者都是主要用于应用样式表。
2.不同点:<div></div>标签属于块级元素,浏览器在它的前后会自动添加一个换行标签</br>;<span></span>标签属于内联元素,它的前后不会自动添加换行标签。
如果在网页布局中要将某两个内容显示在同一行内,最简单的方法就是将它们用<span></span>标签包装起来。比如,一个页面有相邻的两个元素,一个是<div></div>,另一个是<span></span>。要想将它们显示在同一行,可以将这个<div></div>改为<span></span>。当然,也可以通过css将<div></div>等标签的display属性设置为 inline 来实现。