html - 如何在 HTML 中增加具有不透明度的子元素的不透明度?

标签 html twitter-bootstrap css

<分区>

在父元素的不透明度降低后,如何将子元素的不透明度设置回 initial1.0? child 保持透明。

.user-edit2 {
  background-color: red;
  background-size: cover;
}

.card {
  opacity: 0.6;
}

.form-control {
  background-color: #666;
  opacity: 1.0;
  color: white;
}

.form-control:hover {
  background-color: #333;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="user-edit2">
  <h2>Member Profile</h2>
  <form>
    <div class="card">
      <div class="card-header">Personal Details</div>
      <div class="card-block">
        <div class="card-text">
          <div class="row">
            <div class="col-md-3">
              <input placeholder="Name" class="form-control" type="text">
            </div>
          </div>
        </div>
      </div>
    </div>
  <br>
  <p><input type="submit" name="commit" value="Save" class="btn btn-primary" data-disable-with="Save"></p>
  </form>
</div>

我试过了

.card {
  /*opacity: 0.6;*/
  background-color: rgba(255, 255, 255, 0.6);
}

基于Opacity bleeding into child divs , 但它仍然不起作用。

Chrome 浏览器

最佳答案

严格来说,你不能。元素的不透明度会影响其所有子元素的呈现方式。这是仅对 sibling 元素使用一些背景颜色覆盖和不透明度更改的近似外观。记下我必须使用 !important 的地方。 Bootstrap(或此处包含的其他样式)有一些更具体的声明;您也许可以根据您在其中使用它的上下文编写更好的选择器。

.user-edit2 {
  /* for solid colors, you can use rgba to simulate transparency without affecting contents */
  background: rgba(255,0,0,0.6) !important;
}

.user-edit2 .card-header,
.user-edit2 .card {
  /* these have background-colors declared somewhere else, so... */
  background: transparent !important;
}

/* You could also use an rgba value for color here,
or a non-transparent color that's a mix of black and red. Did this cause it's fast. */
.user-edit2 .card-header,
.user-edit2 h2 {
opacity: 0.6;
}

/* Note - these styles aren't being applied. Not specific enough maybe? Try scoping them as seen above. */
.form-control {
  background-color: #666;
  color: white;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="user-edit2">
  <h2>Member Profile</h2>
  <form>
    <div class="card">
      <div class="card-header">Personal Details</div>
      <div class="card-block">
        <div class="card-text">
          <div class="row">
            <div class="col-md-3">
              <input placeholder="Name" class="form-control" type="text"></div>
          </div>
        </div>
      </div>
    </div>
</div>
<br>
<p><input type="submit" name="commit" value="Save" class="btn btn-primary" data-disable-with="Save"></p>
</form>
</div>

关于html - 如何在 HTML 中增加具有不透明度的子元素的不透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44619786/

相关文章:

css - 以一致的行为实现 html5 粘性样式属性

javascript - 在 Bootstrap 中更改 div 的列类

javascript - 有没有办法中途暂停 CSS 过渡?

html - 渲染背景图像像素化 css

jquery - 网页分为两个可点击的按钮/链接,彼此水平

html - 如何绑定(bind)&lt;input type ="image">到&lt;input type ="text">?两者都是相同的形式

javascript - Bootstrap Carousel 无法在 asp.net Webform 中工作

javascript - Bootstrap 日期时间选择器?

javascript - 检索 attr(href) 以在选项卡中使用

html - 将部分固定在浏览器窗口中