正如问题所示,如果我要在HTML中添加一些文字,那么何时应该使用<p>
,何时应该使用<span>
?
答案 0 :(得分:83)
在语义上,您使用<p>
标记来指示段落。 <span>
用于将CSS样式和/或类应用于文本和内联元素的任意部分。
答案 1 :(得分:69)
您应该记住,HTML旨在描述它包含的内容。
所以,如果你想传达一个段落,那么就这样做。
但是,你的比较并不完全正确。更直接的比较是何时使用
<div>
代替<p>
?
因为两者都是块级元素。
<span>
是内联的,非常类似于主播(<a>
),<strong>
,强调(<em>
)等,所以请记住,默认情况下,它是默认的html和自然写作中的自然,一个段落会导致它本身前后的中断,如<div>
。
有时,在设计事物时 - 内联事物 - <span>
非常适合给你一些“钩住”css的东西,但它是一个没有语义或风格意义的空标签。
答案 2 :(得分:11)
<p>
标记是p
aragraph,因此,它是块元素(例如,h1
和{{ 1}}),而div
是内联元素(例如,span
和b
)
默认情况下,块元素会在其上方和下方创建一些空格,除非您为它们设置a
属性,否则不能在它们旁边对齐任何内容。
内联元素处理段落内的文本跨度。它们通常没有边距,因此,您不能为其设置float
。
答案 3 :(得分:4)
从语义上讲,p是段落标记,应该用于格式化文本段落。 span是一种内联格式更改,不会在语义上处理。
答案 4 :(得分:4)
Span完全是非语义的。它没有任何意义,仅仅作为美容效果的元素。
段落具有语义含义 - 它们告诉机器(如浏览器或屏幕阅读器)它们封装的内容是一个文本块,并且与书中的一段文本具有相同的含义。
答案 5 :(得分:4)
答案 6 :(得分:3)
一个实际的解释:默认情况下,<p> </p>
会在所附文本之前和之后添加换行符(因此它会创建一个段落)。 <span>
不会这样做,这就是为什么它被称为 inline 。
答案 7 :(得分:2)
p标记表示段落元素。它应用了边距/填充。跨度是一种没有样式的内联标记。一个重要的区别是,当span是内联时,p是一个块元素,这意味着当<p>Hi</p><p>There</p>
并排时,<span>Hi</span><span>There</span>
会出现在不同的行上。
答案 8 :(得分:2)
当我们当时使用普通文字时,我们需要<p>
代码。当我们使用普通文字时,我们需要<span>
代码
答案 9 :(得分:1)
&LT;跨度&GT;是内联标记,&lt; p&gt;是一个块标记,用于段落。浏览器将在段落下方呈现空白行,而&lt; span&gt; s将在同一行上呈现。
答案 10 :(得分:0)
标签是块级元素,但标签是内联元素。通常我们使用span标签在块元素内设置样式,但是您不需要使用span标签来内嵌样式。要做的是使用“ display:inline”将块元素转换为行内元素
答案 11 :(得分:0)
说明
p 元素是块级元素,因此,在 line/ text 前后添加 padding 和 margin。但是 span 是行内元素,因此不会在行前后添加任何填充和边距。我们实际上使用span元素来做样式,它在HTML中没有语义,但是p元素是块元素,在HTML中有语义。
答案 12 :(得分:-5)
p {
float: left;
margin: 0;
}
周围没有间距,看起来与span相似。