2017-03-29 19 views
5

Xin chào tôi cố gắng để làm cho nền tảng này Blur như hình ảnh này vì vậy tôi muốn biết nếu tôi có thể làm điều đó chỉ sử dụng CSS3 hay tôi cần phải sử dụng Javascript & Jquery:
Và nếu tôi sẽ chỉ sử dụng css Làm thế nào để làm mờ được đáp ứng.Background Blur - CSS


enter image description here


Đây mã đơn giản của tôi:

#bg{ 
 
    background-image: url('http://store6.up-00.com/2017-03/149079039538851.jpg'); 
 
    background-repeat: no-repeat; 
 
    background-size: cover; 
 
} 
 

 
#bg { 
 
    background-position: center top; 
 
    padding: 70px 90px 120px 90px; 
 
} 
 

 
#search-container { 
 
    position: relative; 
 
} 
 

 
#search-bg { 
 
    /* Absolutely position it, but stretch it to all four corners, then put it just behind #search's z-index */ 
 
    position: absolute; 
 
    top: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    z-index: 99; 
 
    /* Pull the background 70px higher to the same place as #bg's */ 
 
    /*background-position: center -70px;*/ 
 
    -webkit-filter: blur(10px); 
 
    filter: blur(10px); 
 
} 
 

 
#search { 
 
    position: relative; 
 
    z-index: 100; 
 
    padding: 20px; 
 
    background: rgba(34,34,34,0.75); 
 
} 
 
#search h2{ 
 
    color:#ffffff; 
 
}
<div id="bg"> 
 
     <div id="search-container"> 
 
      <div id="search-bg"></div> 
 
      <div id="search"> 
 
       <h2>Hello World</h2> 
 
      </div> 
 
     </div> 
 
    </div>

Trả lời

4

Để làm mờ tất cả các nền

Bạn không thể dễ dàng đính kèm hiệu ứng vào hình nền. Bạn nên làm mờ nó bằng một phần mềm và đặt nó làm hình nền.

Bạn có thể có một nền mờ trong css với một đặt div đằng sau nội dung trang web yout, và làm mờ này div như thế: http://codepen.io/aniketpant/pen/DsEve

<div class="background-image"></div> 
<div class="content"> Your text </div> 

Blur đằng sau một yếu tố

Bạn có thể nhận kết quả này bằng bộ lọc phông nền CSS3:

https://webkit.org/blog/3632/introducing-backdrop-filters/

+0

Cảm ơn bạn vì đã giúp tôi –

+0

Không có vấn đề, đừng quên kiểm tra câu trả lời của tôi nếu bạn xem xét nó như một câu trả lời tốt :) (Dấu kiểm) –

2

bạn có thể sử dụng background-attachment:fixed; và đặt nó cũng trong container blured, background-attachment là có để đặt cả bg vào cùng một chỗ, người ta có thể được blured.

ví dụ với một giả thay vì thêm div:

#bg { 
 
    background-image: url('http://store6.up-00.com/2017-03/149079039538851.jpg'); 
 
    background-repeat: no-repeat; 
 
    background-size: cover; 
 
    background-attachment: fixed; 
 
    background-position: center top; 
 
    padding: 70px 90px 120px 90px; 
 
} 
 

 
#search-container { 
 
    position: relative; 
 
} 
 

 
#search-container:before {/* add same bg-image with same backgrounds values to match main container */ 
 
    content: ''; 
 
    position: absolute; 
 
    top: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    z-index: 0; 
 
    background-image: url('http://store6.up-00.com/2017-03/149079039538851.jpg'); 
 
    background-repeat: no-repeat; 
 
    background-size: cover; 
 
    background-position: center top; 
 
    background-attachment: fixed;/* make it match #bg position and size */ 
 
    -webkit-filter: blur(5px); 
 
    filter: blur(5px); 
 
} 
 

 
#search { 
 
    position: relative; 
 
    z-index: 1; 
 
    padding: 20px; 
 
    background: rgba(34, 34, 34, 0.5); 
 
    display:flex; 
 
} 
 

 
#search h2 { 
 
    color: #ffffff; 
 
    margin:auto; 
 
}
<div id="bg"> 
 
    <div id="search-container"> 
 
    <div id="search"> 
 
     <h2>Hello World</h2> 
 
    </div> 
 
    </div> 
 
</div>

render from FF 52

+0

cảm ơn bạn đã giúp tôi :) :) :) –

+0

Tôi nghĩ bạn đang đi đúng hướng, GCyrillus, nhưng tại sao bạn đặt một hình nền trên: trước đây? Nó sẽ không chính xác, tùy thuộc vào độ phân giải của bạn. Thay vì đặt bất kỳ hình nền nào, bạn chỉ có thể đặt màu nền thành giá trị rgba (hoặc chỉ đặt độ mờ theo cách thủ công) và đạt được hiệu quả tốt hơn: https://jsfiddle.net/osou43hz/ – jas7457

+0

@ jas7457, bạn cũng cần cùng một hình ảnh trong nền ** để làm mờ nó **. vị trí: cố định được sử dụng cho cả hai hình nền để chúng khớp nhau trên cùng một khu vực. Nếu nó chỉ là vấn đề về độ mờ đục, một màu nền rgba() đủ lớn và giả là không cần thiết. Vấn đề là để có bg được blured chỉ nơi hộp tìm kiếm #. Fiddle của bạn không làm mờ hình nền của thùng chứa chính;) // chỉ cần tạo một codepen để chơi với: http://codepen.io/gc-nomade/pen/PpVzRz –