这几天在改别人的一个站的时候发现一页面中,a标签的上下padding有效,前提是它并没float,也没有display:block,更没有触发什么haslayout,使之成为inline-block,那就很郁闷了,
我写了这么长时间的CSS,潜意识里inline元素都是padding无效的,
难不成a是可置换行内元素?再或者是我文档头部没加doctype?(但是我确实是加了的阿)
这几天在改别人的一个站的时候发现一页面中,a标签的上下padding有效,前提是它并没float,也没有display:block,更没有触发什么haslayout,使之成为inline-block,那就很郁闷了,
我写了这么长时间的CSS,潜意识里inline元素都是padding无效的,
难不成a是可置换行内元素?再或者是我文档头部没加doctype?(但是我确实是加了的阿)
页面doc对于很多程序员确实容易迷糊,但它很重要,它标示页面使用的代码标准,你这里使用的是XHTML 1.0 Transitional表示页面代码使用宽松的xhtml 1.0标准,这样浏览器解释页面的时候就会按照这个标准执行,除了这个标准意外还有html strict,xml等,一个用不标准的html编写的页面在xhtml transitional下可以正常执行但是在被标示为html strict,xml标准下则直接错误,删除doc以后叫做我们常说的怪异模式,浏览器也可以尝试执行。
a不是块级元素所以padding上下不起作用,添加display:block后即可,
参考~ 斌斌
元素都有padding和margin的,不过inline元素垂直方向是撑不开的,因为它的高是由line-height决定的。
你可以给a元素一个背景和边框,然后改变她的padding,你可以看到变化的。