css - 背景:透明不起作用

标签 css background

我尝试为我的任务使用背景色透明(可以在图像中看到),但它没有用。 background-transparent 什么都不做,它显示 li 的 background-color 。

我尝试了很多方法,但都不奏效。我能做些什么 ?

提前致谢。

enter image description here

HTML:

<div>
   <ul>
      <li>...</li>
      <li>...</li>
      <li>...</li>
      <li>...</li>
      <li>...</li>
   </ul>

   <span class="left-arrow-winners"></span>
   <span class="right-arrow-winners" ></span>
<div>

CSS:

li {
    display: inline-block;
    box-sizing: border-box;
    margin: 0 12px;
    padding: 4px 12px;
    background-color: rgba(230, 229, 220, 0.75);
    transition: all 250ms;
    border-radius: 4px;
}

.left-arrow-winners , 
.right-arrow-winners {
    cursor: pointer;
    font: 18px/32px icomoon;
    position: absolute;
    top: 4px;
}

.left-arrow-winners {
    left: 0
}

.right-arrow-winners {
    right: 0
}

.left-arrow-winners:before {
    content: "\e92a";
}

.right-arrow-winners:before {
    content: "\e92b";
}

最佳答案

可能是您没有在正确的 html 标签中设置透明度样式。 如您所说,应用透明度后,您将获得 li 标签的背景颜色,因此请尝试在 li 标签中设置透明度。

注意 如果我们在任何元素中应用透明度,很明显特定 DOM 元素的背景颜色会变得透明并且我们可以看到其父元素的背景颜色(在您的情况下,父元素元素是li)。

要使渐变透明,将rgba()的第4个参数opacity设置为0,这里用粗体标记,

背景:线性渐变(向右,rgba(230, 229, 220, 0.75) 0, rgba(0, 0, 0, 0) 75%);

在下面的示例中,我尝试展示了两种方式,可能是您想要的一种。

ul{
  list-style:none;
  padding:0;
  margin:0;
}


ul li a {
    display: inline-block;
    color: white;
    float:left;
    margin:5px;
}

li{
  display: inline-block;
    box-sizing: border-box;
    margin: 0 12px;
    padding: 4px 12px;
    background-color: rgba(230, 229, 220, 0.75);
    transition: all 250ms;
    border-radius: 4px;
}

.transparentBackground{
background: linear-gradient(to right, rgba(230, 229, 220, 0.75) 0, rgba(0, 0, 0, 0) 75%);
background: -webkit-linear-gradient(to right, rgba(230, 229, 220, 0.75) 0, rgba(0, 0, 0, 0) 75%); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(to right, rgba(230, 229, 220, 0.75) 0, rgba(0, 0, 0, 0) 75%); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(to right, rgba(230, 229, 220, 0.75) 0, rgba(0, 0, 0, 0) 75%); /* For Firefox 3.6 to 15 */
}

body{
  background:linear-gradient(to right, red 0, yellow 75%);
  background:-webkit-linear-gradient(to right, red 0, yellow 75%);
  background:-o-linear-gradient(to right, red 0, yellow 75%);
  background:-moz-linear-gradient(to right, red 0, yellow 75%);
}

.transparentBackground1{
background-color: transparent;
}
<body>
  <ul class="menu-content">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li class="transparentBackground"><a href="#">Link 3  &nbsp;&nbsp;>></a></li>
  </ul>
  <br/>
  <ul class="menu-content">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
    <li class="transparentBackground1"><a href="#">>></a></li>
  </ul>
</body>

关于css - 背景:透明不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44398964/

相关文章:

css - Bootstrap 3 : form label position depending on master column

javascript - 不使用Javascript将标题移动到div上方

javascript - 如何限制用户在输入元素中输入 10 位数字?

javascript - 了解样式化组件组件选择器和符号

iphone - 应用程序在后台时在特定时间播放声音

css - 对多个元素应用相同的 CSS 并稍作更改

wpf - 对窗口背景图像的模糊效果

jquery - Firefox 无法使用滑出式菜单正确显示固定标题

Android:使 Dialog 周围的一切都比默认更暗

背景中的 jQuery 幻灯片 - 可能是错误的 CSS?