有没有办法将border-color
CSS 设置为与文本颜色相同?
例如,有一个类添加一个底部虚线边框,但保留所述边框的颜色以匹配文本的颜色,其方式text-decoration:underline
与文本(color
属性)的颜色大致相同?
Bol*_*ock 58
你实际上是免费获得这种行为; 它在规范中提到:
如果未使用border属性指定元素的边框颜色,则用户代理必须使用元素的'color'属性的值作为边框颜色的计算值.
所以你要做的就是在使用border
速记属性时省略颜色:
.dotted-underline {
border-bottom: dotted 1px;
}
Run Code Online (Sandbox Code Playgroud)
或者只使用border-style
和border-width
属性,而不是border-color
:
.dotted-underline {
border-bottom-style: dotted;
border-bottom-width: 1px;
}
Run Code Online (Sandbox Code Playgroud)
或者,在支持新CSS3关键字的浏览器中currentColor
,将其指定为border-color
(用于覆盖现有border-color
声明)的值:
.dotted-underline {
border-bottom-color: currentColor;
border-bottom-style: dotted;
border-bottom-width: 1px;
}
Run Code Online (Sandbox Code Playgroud)
边框所采用的颜色默认情况下与文本颜色相同.
这个:
border-bottom: 1px dotted currentColor;
Run Code Online (Sandbox Code Playgroud)
从规格:
currentColor'color '属性的值.'currentColor'关键字的计算值是'color'属性的计算值.如果在'color'属性上设置'currentColor'关键字,则将其视为'color:inherit'.
见这里:http://www.w3.org/TR/css3-color/#currentcolor
(虽然在IE8中不起作用)
更新:因此,似乎没有必要显式设置颜色值,因为默认值已经是color
属性的值.
所以,这很好用:
border-bottom: 1px solid;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9441 次 |
最近记录: |