border-color设置为transparent,但却不透明的原因

border-color:transparent;

CSS中这样设置,发现边框还是有颜色,为什么呢?

W3C有这样的解释:

CSS 规范指出,边框绘制在“元素的背景之上”。这很重要,因为有些边框是“间断的”(例如,点线边框或虚线框),元素的背景应当出现在边框的可见部分之间。

CSS2 指出背景只延伸到内边距,而不是边框。后来 CSS2.1 进行了更正:元素的背景是内容、内边距和边框区的背景。大多数浏览器都遵循 CSS2.1 定义,不过一些较老的浏览器可能会有不同的表现。


因为边框是绘制在背景之上的,所以,如果设置了元素的背景色,那视觉上就会看到边框有颜色,是背景色。

你可能感兴趣的:(Web前端)