默认显示的HTML元素:inline-block?

Bry*_*eld 64 html css

<div> 默认为 block

<span> 默认为 inline

有没有默认的inline-block

如果没有,那么使用CSS应用'inline-block'的特殊标签名称是什么?
或者我应该坚持使用课程?

Dry*_*ong 37

据我所知,<img>标签是inline-block默认的唯一标签.为了安全起见,我会推荐一个课程,你永远不知道什么时候更改某种类型的所有元素会回来咬你.或者,您可以随时组成自己的标签并分配display:inline-block;给它.这样您就不会更改标准元素的默认功能......

编辑

还可以看出button,textarea,input,和select元素也inline-block

资料来源:

根据这imginline-block http://dev.w3.org/html5/markup/img.html#img-display

这里声称button,textarea等等都还有:http://www.w3.org/TR/CSS2/sample.html

编辑#2

虽然上面的消息来源声称img标签inline-block似乎(感谢Alohci)它们只是inline http://jsfiddle.net/AQ2yp/

以下是在Firefox中测试的:

buttoninline-block:http://jsfiddle.net/GLS4P/

textareainline:http://jsfiddle.net/235vc/

inputinline:http://jsfiddle.net/RFKe8/

selectinline-block:http://jsfiddle.net/5B4Gs/

  • 它显示了关于img的内联块的神话有多广泛.但它很容易测试.只需在un CSS'd img上使用任何浏览器的dom检查器,你就会看到它是display:inline.或者看看这个JS小提琴:http://jsfiddle.net/AQ2yp/ (12认同)
  • @DrydenLong请为清楚起见删除错误的信息. (5认同)

ani*_*son 21

有没有默认的inline-block

严格来说,没有.W3 HTML规范不会为任何元素指定默认的CSS属性值.它们确实为HTML 4 提供了"默认样式表",但只鼓励开发人员使用它 - 这不是一项要求或任何形式的授权.HTML 5规范指出"典型的默认显示属性",但同样不需要这些(也请记住,HTML 5仍然是一个工作草案).

这样就可以将所有默认值保留到浏览器中,以及开发人员应该如何向用户显示元素.没有人能保证某个特定元素会inline-block在某人的浏览器中以任何其他方式显示.如果您希望它发生,您应该始终明确设置.不要依赖"默认值".

如果没有,那么使用CSS应用'inline-block'的特殊标签名称是什么?或者我应该坚持使用课程?

这取决于您以及您如何设计页面.您应该始终使用在语义上适合其中包含的内容的元素.如果元素将始终在需要inline-block显示的上下文中使用,请务必将其设置为样式表中的元素.否则,您将不得不求助于类或更具体的选择器,以使您的元素正确显示.


Pre*_*n S 7

这是一个小提琴,它获取大多数HTML标签的默认显示值.

小提琴

在chrome中,默认的内联块元素是: "INPUT", "BUTTON", "TEXTAREA", "SELECT"


que*_*ful 5

我的解决方案是声明我所说的slice.

CSS

sl {
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

用法

<sl>inline block stuff</sl>
Run Code Online (Sandbox Code Playgroud)