我想用从100%不透明度到0%的某种虚线渐变来强调我的链接。我制作了一个我应该看起来的屏幕:
我会做某事......
a {
border-bottom: 2px dotted #007acc;
}
但没有渐变到0不透明度,单个点之间的空间太小。
关于这个问题的另一个问题:我有一些:在内容('+')之前,我不希望border-bottom命中该内容,如你所见。
这是可能的还是我必须使用png背景?
Jquery也可以。
答案 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 */
}
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%);
}
您的背景可能需要保持相同的颜色,但这应该可以胜任。根据您计划支持的浏览器,您仍然需要供应商前缀和正确的颜色代码。