Tam*_*ser 1 html inline block paragraph
我知道这<p>
是专门用于内联元素.但是,如果将内联元素更改<span>
为块级元素{ display:block }
并将其包含在一个块中,该<p>
怎么办?
即.
<html>
<head>
<style>
p {
background: red;
height: 100px;
width: 100px;
}
p span {
display: block;
background: blue;
height: 50px;
width: 50px;
}
</style>
</head>
<body>
<p>
<span>I am a pizza</span>
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个词的每个意义上都是错的吗?我知道这不常见(即大多数人会质疑为什么我不只是使用div),但这是一个假设的情况.它通过了验证测试,但它是不是很糟糕/糟糕的做法?如果你阅读那段代码,你会嗤之以鼻吗?
甲span
元件总是在HTML文本/内嵌/短语元件,以及限制HTML语法规则p
元素含量以这种元件仅涉及HTML.因此,它们不受CSS设置的影响,CSS设置可能成为CSS(渲染)意义上span
的块元素.
在CSS中,display
无论元素是什么,您都可以为属性分配任何已定义的值.CSS不知道HTML或其他标记语言规范中定义的元素的含义.
因此,没有正式的反对意见.
无论是好的风格,还是其他方面都可以接受,都比较复杂.在规范中似乎没有任何关于此的陈述,但可以合理地说,您不应该徒劳地更改基本渲染功能元素.例如,在正常情况下,当使用更合理的方法时,您不应该使用span
然后display: block
在CSS中说div
.这个原则的一个原因是它可以在非CSS渲染情况下或在未应用全部或部分样式表时使文档保持更好的形状.
另一方面,如果您有一个文本段落并且希望将其内容的一部分呈现为块,例如作为居中或缩进的行,可能具有延伸通过可用宽度的背景颜色,则不会display
徒劳地改变.你不能div
在里面使用p
,所以没有更自然的标记.
由于该示例不是真实示例,因此无法确定在您的案例中部署此方法是否可行.
mde*_*dev -4
它是 HTML5 有效的,并且在某些情况下还不错,例如
<p>
This is some text <span class="highlight">I am a pizza</span> and this is some more text...
</p>
.highlight {
background: yellow;
}
Run Code Online (Sandbox Code Playgroud)