模糊除div中的所有元素

时间:2017-07-22 01:41:42

标签: html css blur

我试图模糊除了一个div之外的所有元素。 我看过许多类似的问题one,我得到了这个:

.table-responsive:not(.confirm) {
    filter: blur(3px);
    pointer-events: none;
}

这基本上应该模糊除确认类之外的所有元素。这是一个js小提琴演示它:https://jsfiddle.net/qbuyuhts/1/

这是一些janky html但是能够显示问题。有谁知道为什么.confirm div模糊了?

1 个答案:

答案 0 :(得分:2)

  

.table-responsive:not(.confirm) {选择包含课程.table-responsive但未包含课程.confirm的元素,这是错误的,因为.confirm.table-responsive的孩子。

所以改变你的代码:

.table-responsive table, .table-responsive div:not(.confirm) {
    filter: blur(3px);
     pointer-events: none;
}



.table-responsive table, .table-responsive div:not(.confirm) {
  filter: blur(3px);
  pointer-events: none;
}

<div style="border: none; overflow-x: visible;" class="table-responsive">

  <div style="background-color:white; width:35%; position:absolute; left:34%;" class="confirm">
    <h3 style="color:black">Are you sure?</h3>
    <button style="background-color:black;color:blue">Cancel</button>
    <button style="background-color:black;color:blue">Confirm</button>
  </div>

  <table id="tbl" style="width:100%">
    <tbody style="display: block; overflow-y: auto">
      <tr>
        <td style="padding-right:1em"><a class="remove"><button>Remove</button></a></td>
        <td style="padding-right:1em"><a><button>Edit</button></a></td>
        <td class="coursetext"><h4 align="left"><b>{{ course }}</b><br><span class="tohide"><b>{{ sections }}</b></span></h4><hr></td>
      </tr>
    </tbody>
  </table>
  
</div>
&#13;
&#13;
&#13;