带有不透明度渐变的虚线下划线链接样式

时间:2013-03-18 20:40:22

标签: jquery css hyperlink underline

我想用从100%不透明度到0%的某种虚线渐变来强调我的链接。我制作了一个我应该看起来的屏幕:

dotted links

我会做某事......

a {
  border-bottom: 2px dotted #007acc;
} 

但没有渐变到0不透明度,单个点之间的空间太小。

关于这个问题的另一个问题:我有一些:在内容('+')之前,我不希望border-bottom命中该内容,如你所见。

这是可能的还是我必须使用png背景?

Jquery也可以。

2 个答案:

答案 0 :(得分:4)

这是一个简单的例子。不知道它是否符合您的需求。

body{
    background:#111;
}
ul{
    padding:0;
    margin:0;
}
li{
    margin-left:20px;
    width:200px;
    list-style:none;
    border-bottom:dotted 2px #99f;
    color:#99f;
    position:relative;
}
li:before{
    content:'+';
    position:absolute;
    left:-15px;
}
li:after{
    content:'';
    position:absolute;
    height:2px;
    width:100%;
    top:100%;
    background:red;
    left:0;

background: -moz-linear-gradient(left, rgba(17,17,17,0) 0%, rgba(17,17,17,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(17,17,17,0)), color-stop(100%,rgba(17,17,17,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* IE10+ */
background: linear-gradient(to right, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00111111', endColorstr='#111111',GradientType=1 ); /* IE6-9 */
}

http://jsfiddle.net/KZPbf/

Handy cross browser gradient generator:http://www.colorzilla.com/gradient-editor/

答案 1 :(得分:1)

您可以使用带有线性渐变背景的伪元素叠加在边框顶部。

a {
  border-bottom: 2px dotted #007acc;
}
a:after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  top: 100%;
  background: linear-gradient(left, rgba(22, 23, 25, 1) 0%, rgba(22, 23, 25, 0) 100%);
}

您的背景可能需要保持相同的颜色,但这应该可以胜任。根据您计划支持的浏览器,您仍然需要供应商前缀和正确的颜色代码。