我也没有想到,某一天,我竟然和legend标签纠结起来了。css
我在codepen上写了一个原始demo:chrome
http://codepen.io/myqianlan/pen/RPaxGJ浏览器
能够看到,legend右对齐了,可是margin-right却木有生效!测试
why? why? why?code
真是百思不得其解,因而进行了问题搜索,QQ群求助,结果是彷佛没人理我,或者理个人方式也不对,我想静静。element
静静也不能解决个人疑问呀。。只能继续搜寻,找缘由。get
茫茫之中,一段文字引发了个人注意it
http://www.w3schools.com/tags/tag_legend.asp 最下面io
Default CSS Settings Most browsers will display the <legend> element with the following default values: Example legend { display: block; padding-left: 2px; padding-right: 2px; border: none; }
好的,大部分浏览器legend的默认样式为block!!!class
block为啥能实现右对齐? block为啥占位跟inline-block同样?我能将其重设为inline吗?一连串的问题,赶着让我去本身测试。
测来又测去,发现了一个状况:
legend标签浏览器默认为块元素,而且CSS是不能修改其为行内元素的(不一样浏览器实现有差,但第一个legend均无论怎么改,都是block),但其占位却跟inline-block同样。chrome下其可以响应text-align,我认为这是一个bug,是不标准的。
呵了个呵,这legend标签究竟是个什么鬼!
最后,若是要实现最初demo的效果,使用float吧。
关于这个问题,我为啥会纠结这么久,我只想说:我不是认真,我就是想知道为何!