CSS 边框 alpha 不工作

CSS Border alpha not working

我只是不明白这怎么行不通。下例中的边框应该是透明的,这样才能看到下面的文字。

正如我的情况:将边框的 alpha 设置为 0 使其变白。这里变黑了。

https://jsfiddle.net/taqqcu5j/

// Altought this is not a must, i need it to make a visual illusion perfect.

<p>TEXT</p>

<div class='thisElement'></div>

CSS

.thisElement{
  position:absolute;
  width:100px;
  height:100px;
  background-color:#000;
  border:100px solid rgba(255,255,0,.5);
}

P{
  position:absolute;
  font-size:40px;
}

您需要在元素上使用 background-clip。如果您不使用 background-clip,边框会继承背景颜色,然后应用 border-color。 https://jsfiddle.net/a2bxzk7z/

.thisElement {
  background-clip: padding-box;
}

如果边框不是完全实心且不透明或 background-clip 不是 border-box,则元素的边框颜色会受背景影响。

在你的例子中,背景是黑色的。将 background-clip 的 属性 更改为 padding-box 将解决此问题。 background-clip 的默认 属性 是 border-box.

The background-clip property specifies the painting area of the background.

这个 属性 有三个可能的值。

  • border-box:默认值。背景被裁剪到边框
  • padding-box: 背景裁剪到padding box
  • content-box: 背景裁剪到内容框

参考

http://www.w3schools.com/cssref/css3_pr_background-clip.asp