【问题标题】:image-less pure-CSS arrow tags无图像纯 CSS 箭头标签
【发布时间】:2012-04-16 21:19:20
【问题描述】:

有没有一种方法可以在不使用图像的情况下创建类似 Delicious 的“箭头标签”:

我对@9​​87654321@ 很熟悉,但无法让它看起来不错(部分原因是我们需要一个额外的外边框来框住整个组件)。

【问题讨论】:

  • 如果我没记错的话,SVG 不仅仅适用于所有浏览器——加上 HTML + CSS,你(希望)得到更优雅的降级。
  • 不支持SVG的浏览器一般不支持CSS3。
  • 确实——因此我对优雅降级的评论。

标签: css


【解决方案1】:

我创建一个小例子可能就是你想要的。

CSS

div{
    padding:5px 10px;
    font-size:12px;
    -moz-border-radius:0 5px 5px 0;
    -webkit-border-radius:0 5px 5px 0;
    float:left;
    margin-left:30px;
    margin-top:20px;
    position:relative;
    font-family:verdana;
    color:#3b3d3c;
    border:1px solid #d5d5d7;
    border-left:0;
}

div{
    background: -moz-linear-gradient( top , #fbfdfc 0%,#f6f5f5 100%);
    background: -webkit-linear-gradient( top , #fbfdfc 0%,#f6f5f5 100%);  
}

div:after{
    content:"";
     width:18px;
     height:18px;
     background: -moz-linear-gradient( left top , #fbfdfc 0%,#f6f5f5 100%);
    background: -webkit-linear-gradient( left top , #fbfdfc 0%,#f6f5f5 100%);
     -moz-transform: rotate(45deg);
     -webkit-transform: rotate(45deg);
     display:block;
    position:absolute;
    top:3px;
    left:-10px;
    z-index:-1;
    border:1px solid  #d5d5d7;
}

查看http://jsfiddle.net/9EEEP/76/

更新 现在也可以在 chrome 中工作

http://jsfiddle.net/9EEEP/77/

更多信息请查看我的这个答案How to code certain css shapes?

我使用的css3在浏览器下的IE8中无法使用。

【讨论】:

  • 请在此处发布您的代码,而不仅仅是在 JS Fiddle,以供将来参考。并涵盖 JS Fiddle 摔倒的可能性。
  • 这在 chrome 的三角形底部有一个奇怪的标签。
  • 只是出于好奇,我想知道,从性能上讲,使用图像而不是 CSS 是否更好?我的意思是这些 CSS 行可能需要大约 1-2 KB 大小。
  • 谢谢,这很好!然而,它目前在 Firefox 中似乎有点问题。箭头尖端和轴的高度不完全相同(尝试缩放)。在接受之前我会先玩一下;也许使用非像素单位会有所帮助。
  • 有趣,但 CSS 非常脆弱。我发现在那个简单的 JSFiddle 示例之外进行调整几乎是不可能的。最轻微的改动会使箭头消失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-31
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多