如何使用CSS制作透明边框?

Wil*_*eja 95 css transparency border-color

我的li风格如下:

li{
    display:inline-block;
    padding:5px;
    border:1px solid none;
}
li:hover{
    border:1px solid #FC0;
}
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在li边界上时,不会li转移.是否有可能出现不可见的"边界"?

Dou*_*las 105

您可以使用"透明"作为颜色.在IE的某些版本中,它出现了黑色,但我从IE6时代开始就没有测试过它.

http://www.researchkitchen.de/blog/archives/css-bordercolor-transparent.php

  • 是的,具体是IE6,这不起作用.IE7还可以. (5认同)
  • 好吧它在ie8,Mozilla,Opera和Chrome上工作,对我来说足够好,我没有尝试在Safari上,但我不介意野生动物园.非常感谢! (3认同)

Mr.*_*ien 46

你们中的许多人必须登陆这里寻找不透明边框而不是透明边框的解决方案.在这种情况下,您可以使用rgba,a代表的位置alpha.

.your_class {
    height: 100px;
    width: 100px;
    margin: 100px;
    border: 10px solid rgba(255,255,255,.5);
}
Run Code Online (Sandbox Code Playgroud)

演示

在这里,你可以改变opacityborder,从0-1


如果您只是想要一个完整的透明边框,最好使用的是transparent,比如border: 1px solid transparent;


Mat*_*len 30

您可以删除边框并增加填充:

    li{
        display:inline-block;
        padding:6px;
        border-width:0px;
    }
    li:hover{
        border:1px solid #FC0;
        padding:5px;
    }
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>Hovering is great</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 这听起来像是一个更兼容的解决方案 (3认同)

小智 12

嘿这是我经历过的最好的解决方案..这是CSS3

使用以下属性到您的div或任何你想要边界trasparent

例如

div_class { 
 border: 10px solid #999;
 background-clip: padding-box; /* Firefox 4+, Opera, for IE9+, Chrome */
}
Run Code Online (Sandbox Code Playgroud)

这会工作..