DIv 背景透明度
DIv background Transparency
我的网站上有多个 div,并且都有从不同网址加载的不同背景图片。我正在使用 Javascript Dom。每个 div 的不透明度值是动态的。
问题是每个 div 后面都附加了一个 span 元素。 span 元素是一个工具提示,在悬停时显示 div 的名称。如果我使用
赋予不透明度
element.style.opacity = some_value;
工具提示采用与其背景相同的不透明度 div,但工具提示的不透明度不应改变。只有父元素的不透明度应该改变。
如果 div 的背景是一种颜色,这可以使用 RGBA 值来完成。但是,我有一个图像作为背景。这是我正在尝试做的一个例子
element=document.createElement('div');
element.style.left= 150 + 'px';
element.style.top= 300 + 'px';
element.style.width=50 + 'px';
element.style.height=50 + 'px';
element.style.opacity = 0.5;
element.style.backgroundImage ='url('url_Link_Address')';
element.style.backgroundSize = 'cover';
element.className='viewCls';
tooltip = document.createElement('span')
tooltip.className='tooltiptext';
tooltip.innerHTML = 'Tooltip Text'
element.appendChild(tooltip);
谁能提出解决这个问题的方法?
Javscript 和 Jquery 解决方案是首选。
CSS
.viewCls{
position: absolute;
}
.viewCls.tooltiptext {
visibility: hidden;
width: auto;
background-color: #F2E9BD;
color: #black;
text-align: center;
position: absolute;
display: inline-block;
overflow: hidden;
white-space: nowrap;
left: 100%;
top: 30%;
font-size: 13px;
font-family: inherit;
}
.viewCls.tooltiptext {
visibility: visible;
opacity: 1;
}
container=document.createElement('div');
element=document.createElement('div');
element.style.left= 150 + 'px';
element.style.top= 300 + 'px';
element.style.width=50 + 'px';
element.style.height=50 + 'px';
element.style.opacity = 0.5;
element.style.backgroundImage ='url('url_Link_Address')';
element.style.backgroundSize = 'cover';
element.position='hotspot';
tooltip = document.createElement('span')
tooltip.className='tooltiptext';
tooltip.innerHTML = 'Tooltip Text'
container.appendChild(element);
container.appendChild(tooltip);
所以,我创建了一个容器来包含这两个元素。不透明度应仅应用于图片。因为一个元素中包含的所有元素的不透明度不能超过 100%,所以它们看起来总是褪色的。
现在,您需要努力 CSS(因为您没有向我们展示任何东西),让您的工具提示正确对齐到您想要的位置,您应该没问题。
我的网站上有多个 div,并且都有从不同网址加载的不同背景图片。我正在使用 Javascript Dom。每个 div 的不透明度值是动态的。 问题是每个 div 后面都附加了一个 span 元素。 span 元素是一个工具提示,在悬停时显示 div 的名称。如果我使用
赋予不透明度 element.style.opacity = some_value;
工具提示采用与其背景相同的不透明度 div,但工具提示的不透明度不应改变。只有父元素的不透明度应该改变。 如果 div 的背景是一种颜色,这可以使用 RGBA 值来完成。但是,我有一个图像作为背景。这是我正在尝试做的一个例子
element=document.createElement('div');
element.style.left= 150 + 'px';
element.style.top= 300 + 'px';
element.style.width=50 + 'px';
element.style.height=50 + 'px';
element.style.opacity = 0.5;
element.style.backgroundImage ='url('url_Link_Address')';
element.style.backgroundSize = 'cover';
element.className='viewCls';
tooltip = document.createElement('span')
tooltip.className='tooltiptext';
tooltip.innerHTML = 'Tooltip Text'
element.appendChild(tooltip);
谁能提出解决这个问题的方法? Javscript 和 Jquery 解决方案是首选。
CSS
.viewCls{
position: absolute;
}
.viewCls.tooltiptext {
visibility: hidden;
width: auto;
background-color: #F2E9BD;
color: #black;
text-align: center;
position: absolute;
display: inline-block;
overflow: hidden;
white-space: nowrap;
left: 100%;
top: 30%;
font-size: 13px;
font-family: inherit;
}
.viewCls.tooltiptext {
visibility: visible;
opacity: 1;
}
container=document.createElement('div');
element=document.createElement('div');
element.style.left= 150 + 'px';
element.style.top= 300 + 'px';
element.style.width=50 + 'px';
element.style.height=50 + 'px';
element.style.opacity = 0.5;
element.style.backgroundImage ='url('url_Link_Address')';
element.style.backgroundSize = 'cover';
element.position='hotspot';
tooltip = document.createElement('span')
tooltip.className='tooltiptext';
tooltip.innerHTML = 'Tooltip Text'
container.appendChild(element);
container.appendChild(tooltip);
所以,我创建了一个容器来包含这两个元素。不透明度应仅应用于图片。因为一个元素中包含的所有元素的不透明度不能超过 100%,所以它们看起来总是褪色的。
现在,您需要努力 CSS(因为您没有向我们展示任何东西),让您的工具提示正确对齐到您想要的位置,您应该没问题。