如何在CSS样式中模糊横幅照片?

时间:2015-05-17 19:42:21

标签: html css html5 image css3

所以我的横幅位于$.getJSON(),我使用了webkit过滤器来模糊照片,但导航条和横幅内的信息都变得模糊。我怎么能解决这个问题,只有图像模糊了?

以下是我的CSS部分:

.wrapper.style1

以下是一些HTML的副本:

.wrapper {
    padding: 6em 0em 4em 0em;
}

    .wrapper.style1 {
        padding: 0em;
        background: url(../images/mlg.jpg); #222222 no-repeat;
        -webkit-filter: blur(10px);

        background-size: cover;
    }

    .wrapper.style2 {
        background: #f2f2f2;
    }

        .wrapper.style2 .major {
            text-align: left !important;
        }

            .wrapper.style2 .major h2 {
                display: block;
                margin-bottom: 0.70em;
                letter-spacing: 1px;
                line-height: 1.4em;
                text-transform: uppercase;
                font-size: 1.8em;
                font-weight: 400;
            }

            .wrapper.style2 .major .byline {
                letter-spacing: normal;
                line-height: 1.6em;
                text-transform: capitalize;
                font-size: 1.4em;
            }

        .wrapper.style2 h3 {
            display: block;
            margin-bottom: 1em;
            letter-spacing: 1px;
            line-height: 1.4em;
            text-transform: uppercase;
            font-size: 1.6em;
            font-weight: 400;
        }

    .wrapper.style3 {
        padding-bottom: 6em;
        background: #82b440;
        text-align: center;
        color: white;
    }

        .wrapper.style3 .container {
            padding-left: 6em;
            padding-right: 6em;
        }

        .wrapper.style3 p {
            font-size: 1.6em;
        }

    .wrapper.style4 {
        background: white;
    }

    .wrapper.style5 {
        background: #82b440;
        text-align: center;
        color: white;
    }

        .wrapper.style5 .image {
            display: block;
            width: 60%;
            margin: 0em auto 2em auto;
        }

            .wrapper.style5 .image img {
                border-radius: 50%;
                border: 10px solid;
                border-color: white;
            }

2 个答案:

答案 0 :(得分:1)

我之前已经用几种不同的解决方案完成了这几次。我发现最有用的是使用:: before选择器。您继承了指定的每个background属性并应用了过滤器。

.wrapper.style1 {
    padding: 0em;
    background: url(../images/mlg.jpg); #222222 no-repeat;    
    background-size: cover;
}

.wrapper.style1::before {
    content = "";
    background: inherit;
    background-size: inherit;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-filter: blur(10px);
}

可悲的是,模糊并没有留下锋利的边缘,所以你可能需要放大一点来掩盖它。

答案 1 :(得分:0)

您无法将过滤器应用于容器div。为此,您可以使用标签调用图像,也可以使用不同的容器div作为图像。

使用此stackoverflow问题 - How to apply a CSS 3 blur filter to a background image