2013-08-13 38 views
5

Tôi có một hình nền toàn màn hìnhTôi có thể áp dụng các bộ lọc CSS (3) CHỈ trên các phần hình ảnh không?

.bg { 
    left: 0; 
    min-height: 100%; 
    min-width: 100%; 
    position: fixed; 
    top: 0; 
    z-index: -1; 
} 

và muốn áp dụng một bộ lọc CSS3, cá nhân tôi muốn sử dụng một hiệu ứng mờ ảo, ở vị trí tương tự như cơ thể của tôi

.container { 
    margin: 0 auto; 
    width: 1000px; 
} 

Dưới đây là một ví dụ:

screenshot http://imageshack.us/a/img443/4976/j7qj.jpg

Tôi muốn viết văn bản trên vùng chứa bị mờ.

+0

mất một div, vị trí nó ở đó và sử dụng opacity để làm cho hình ảnh mờ – Hushme

+0

@Hushme rằng sẽ không thực sự làm mờ nền, mặc dù chỉ mờ dần các màu hơi. –

+0

@Hushme Yeah, cảm ơn. Tôi đã thử điều này, nhưng bạn có thể chỉ cho tôi một ví dụ mà văn bản ** không phải (cũng) bị mờ ** không? –

Trả lời

5

http://jsfiddle.net/QvSng/6/

CSS

body { 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    background: url(http://lorempixel.com/420/255) no-repeat center center fixed; 
    background-size: cover; 
} 
body:before { 
    left: 0; 
    right: 0; 
    margin-left:auto; 
    margin-right:auto; 
    content: ""; 
    position: absolute; 
    height: 100%; 
    width: 500px; 
    background: url(http://lorempixel.com/420/255) no-repeat center center fixed; 
    background-size: cover; 
    z-index: -1; 
    filter: blur(5px); 
    -webkit-filter: blur(5px); 
} 

div { 
    height: 100%; 
    width: 450px; 
    margin: 0 auto; 
} 
+1

@MaximilianFuchs LOL, bạn cần giải thích câu trả lời. Bạn chỉ thêm không có trung tâm trung tâm cố định và kích thước nền: bìa; với câu trả lời của tôi. Đó là lần đầu tiên 2 hoặc 3 phút. http: // jsfiddle.net/QvSng/6/ –

+0

Bây giờ, tôi đã nhận ra bài đăng của bạn và chấp nhận câu trả lời của bạn! :-) –

+0

@MaximilianFuchs, tôi đánh giá cao điều đó. –

3

Để có được hiệu ứng mờ ảo, sử dụng filter: blur() (với tiền tố nhà cung cấp). Nhòe chỉ áp dụng cho chính phần tử, chứ không phải bất kỳ thứ gì bên dưới nó, vì vậy bạn sẽ cần tham chiếu hình ảnh trong "hộp mờ" cũng như trong nền và sử dụng background-position để kiểm soát độ lệch để chúng xếp hàng đúng cách .

.blur { 
    background-image: url('http://placekitten.com/400/400'); 
    background-position: center -100px; 
    -webkit-filter: blur(10px); 
    -moz-filter: blur(10px); 
    -o-filter: blur(10px); 
    -ms-filter: blur(10px); 
    filter: blur(10px); 
    filter: blur(10px); 
} 

JSFiddle Demo

+0

YEAH! TUYỆT QUÁ! Cảm ơn bạn rất nhiều! :) Tôi sẽ chấp nhận, nhưng bạn có thể vui lòng sử dụng điều này: background: url ("*") không lặp lại trung tâm trung tâm cố định; -webkit-background-size: bìa; -moz-background-size: bìa; -o-background-size: bìa; background-size: bìa; –

+0

Tôi không nghĩ rằng khái niệm tương tự này sẽ làm việc cho một hình ảnh nền được thu nhỏ để vừa với màn hình. Điều này cũng tương tự như những gì tôi đã làm quá, nhưng tôi đã không nhận được nó để làm việc với một kích thước hình ảnh bg không cố định được nêu ra. – andi

+0

@andi: Tôi đã thử nó, nó hoạt động, nhưng tôi nghĩ rằng bạn làm việc tốt hơn;) –

2

Bạn thực sự có thể áp dụng blur cho selector before và kế thừa background-image thay vì quy định cụ thể url hai lần.

Điều đó làm cho cấu trúc html rõ ràng hơn

JSFiddle Demo