找到父背景颜色不透明

鼠人

我试图找到背景颜色不透明的最近的父节点。

第一个代码有效,它找到了父级,但那里的颜色是透明的。

bg = (e.parentsUntil($(this).has().css("background-color"))).css("background-color");

所以我为此而挣扎:

bg = (e.parentsUntil($(this).has().css("background-color") <> 'transparent' ).css("background-color");

有一个小问题,即 chrome 使用 rgba(0,0,0,0) 定义透明,但这应该可以通过 or 语句在第一个障碍解决后立即实现。

路易斯·帕特里斯·贝塞特

有趣的问题!
我刚刚找到了一种方法来做到这一点。

对于 Chrome 和 Opera,您必须检查计算值rgba(0,0,0,0)而不是transparent.

对于 Firefox 和 Internet Explorer,您必须检查transparent.

在下面的代码段中,在div不透明(灰色背景)上添加了红色边框
透明的边框上加了一个蓝色的边框……只为你看。
;)

$(".test").click(function(e){
  
  var parents = $(e.target).parents("div");
  parents.each(function(i){
    console.log( "element #"+i);
    console.log( "Background: "+$(this).css('background') );
    console.log( "Background-color: "+$(this).css('background-color') );

    // Chrome & Opera
    if( $(this).css('background-color').indexOf('rgba(0, 0, 0, 0)') == 0
       // Firefox & Internet Explorer
       || $(this).css('background-color').indexOf('transparent') == 0 ){

      $(this).css({"border":"2px solid blue"});
      console.log("Setting border to blue.\n\n");
    }else{
      $(this).css({"border":"2px solid red"});
      console.log("Setting border to red.\n\n");
    }
  });
  console.log("Red border means NOT transparent.");
});
.one{
  background:grey;
  height:200px;
  padding:40px;
}
.two{
  background:transparent;
  height:200px;
  padding:40px;
}
.three{
  background:transparent;
  height:200px;
  padding:40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="one">
  <div class="two">
    <div class="three">
      <span class="test">Hello - click me!</span>
    </div>
  </div>
</div>

最好在整页模式下检查它。
要在其他浏览器中对此进行测试,您可以使用此 CodePen

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UIWebView的内容背景颜色不透明

来自分类Dev

从Alpha +背景计算不透明颜色?

来自分类Dev

多种背景和颜色不透明

来自分类Dev

不透明之前加载CSS rgba背景颜色

来自分类Dev

如何通过CSS设置不透明的背景颜色?

来自分类Dev

文本不透明时的不透明背景

来自分类Dev

图像一直到背景都是透明的,但标题颜色不透明

来自分类Dev

背景颜色白色变得透明,不透明度设置为 1

来自分类Dev

PyQtGraph GLScatterPlotItem:如何使颜色不透明

来自分类Dev

边框颜色不透明度

来自分类Dev

不透明背景与白色文本

来自分类Dev

Gnuplot键不透明背景

来自分类Dev

如何使被拖动的ListItem的背景不透明?

来自分类Dev

为什么 div 背景不透明?

来自分类Dev

jQuery的div扩大与背景颜色不透明度变化

来自分类Dev

XAML更改背景不透明度而不更改颜色

来自分类Dev

背景颜色过渡以及不透明度过渡之前/之后的同步问题

来自分类Dev

javascript:鼠标悬停用于背景颜色和不透明度

来自分类Dev

如何在不影响背景颜色的情况下更改背景图像的不透明度?

来自分类Dev

增加悬停时的透明背景不透明度?

来自分类Dev

创建不透明/透明的盖茨比背景图像

来自分类Dev

半透明背景和不透明前景WPF

来自分类Dev

透明文本但css中的不透明背景

来自分类Dev

如何设置单选按钮的背景不透明/透明?

来自分类Dev

我想在透明背景上制作不透明的文字

来自分类Dev

给div悬停的彩色背景+给彩色背景不透明

来自分类Dev

WP主题中的背景图滑块-父元素不透明度隐藏内容

来自分类Dev

WP主题中的背景图滑块-父元素不透明度隐藏内容

来自分类Dev

如何在Android中使用不透明度更改芯片背景和笔触颜色

Related 相关文章

热门标签

归档