border-color:transparent;
CSS中这样设置,发现边框还是有颜色,为什么呢?
W3C有这样的解释:
CSS 规范指出,边框绘制在“元素的背景之上”。这很重要,因为有些边框是“间断的”(例如,点线边框或虚线框),元素的背景应当出现在边框的可见部分之间。
CSS2 指出背景只延伸到内边距,而不是边框。后来 CSS2.1 进行了更正:元素的背景是内容、内边距和边框区的背景。大多数浏览器都遵循 CSS2.1 定义,不过一些较老的浏览器可能会有不同的表现。
因为边框是绘制在背景之上的,所以,如果设置了元素的背景色,那视觉上就会看到边框有颜色,是背景色。