【问题标题】:How to add a backdrop over a div (lightbox effect)?如何在 div 上添加背景(灯箱效果)?
【发布时间】:2016-08-11 08:03:56
【问题描述】:

我正在编辑一个 AngularJS 项目,当用户单击搜索输入框时,我想在主 DIV 上添加背景(如 Bootstrap Modal)。

这是 HTML 代码:

    <div class="main-box">
        <div class="search-function" ng-click="showInputForm()">
            <img src="../images/my_project/search.png">
        </div>

        <div class="search-form" ng-if="showForm">
            <form ng-submit="textSearch()">
                <input type="text" autofocus class="search-input" ng-model="text.value" />
            </form>
        </div>
    </div>

正如您所见,当用户单击搜索图标时会出现白框,现在我想在主 DIV 上添加背景,白框除外。

这是 LESS 代码:

.search-function {
  margin-left: 30%;
}

.search-form {
  padding-left: 15%;
  padding-right: 15%;
  position: relative;
  z-index: 0;

  .search-input {
    color: #2b84a6 !important;
    background-color: #fff !important;
    font-weight: 300;
    font-size: 16px;
  }
}

我怎样才能做到这一点?

【问题讨论】:

标签: html angularjs less lightbox opacity


【解决方案1】:

类似的东西

 <div class="main-box">
    <div class="backdrop" ng-if="showForm"></div>
    <div class="search-function" ng-click="showInputForm()">
        <img src="../images/my_project/search.png">
    </div>

    <div class="search-form" ng-if="showForm">
        <form ng-submit="textSearch()">
            <input type="text" autofocus class="search-input" ng-model="text.value" />
        </form>
    </div>
</div>

并将 CSS 添加为

.backdrop {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: black;
    opacity: 0.5;
}

【讨论】:

  • 简洁优雅。完美!
【解决方案2】:

这是一篇非常完整的文章,介绍了实现所需目标的不同方法

CSS Overlay Techniques

【讨论】:

  • 是的,我的意思是像 Bootstrap Modal 这样的背景叠加。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 2014-05-28
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
相关资源
最近更新 更多