सीएसएस का उपयोग करके iOS 7 का धुंधला ओवरले प्रभाव?


161

ऐसा लगता है कि Apple का ओवरले सिर्फ एक पारदर्शिता से अधिक है। सीएसएस और संभवतः जेएस के साथ इस प्रभाव को कैसे प्राप्त किया जाए इस पर कोई विचार?

सिर्फ पारदर्शिता से ज्यादा


2
मेरी राय में एक अधिक दबाव वाली चिंता यह है कि एक तत्व को कैसे सेटअप किया जाए जो इसके पीछे किसी भी वस्तु पर एक गतिशील धुंधला लागू करता है। इसलिए यदि आपके पास एक ऐसी वस्तु है जो पैन और ज़ूम कर सकती है, तो शीर्ष पर मौजूद तत्व कम प्रदर्शन हिट के साथ गतिशील रूप से धुंधला हो जाएगा।
रोड्स

1
इसी तरह की समस्या के लिए यह प्रश्न भी देखें ।
कीथ

43
मुझे यह सबसे अधिक चिंताजनक लगता है कि यह एक 'IOS7 फीचर' के रूप में चाहता है, जबकि Windows Vista Aero इंटरफ़ेस 2006 के बाद से अपने विंडो क्रोम के साथ ठीक यही काम कर रहा है।
नील्स केयूरेंटेज

1
@NielsKeurentjes हेह, एक सही बिंदु। मैंने विंडोज से प्रेरित होने के बाद कुछ साल पहले एक डिजाइन में प्रभाव को शामिल किया। हालांकि, वापस तो मैं छवियों में प्रभाव को पाक के निश्चित रूप से सरल मार्ग के लिए चला गया। ryanwilliams.co.uk/previews/made2race/1.html
रयान विलियम्स

जवाबों:


145

यह CSS3 के साथ संभव है:

#myDiv {
    -webkit-filter: blur(20px);
    -moz-filter: blur(20px);
    -o-filter: blur(20px);
    -ms-filter: blur(20px);
    filter: blur(20px);
    opacity: 0.4;
}

यहाँ उदाहरण => jsfiddle


119
यह आईओएस 7 की तरह प्रभाव को प्राप्त नहीं करता है जहां एक तत्व पृष्ठभूमि के कुछ हिस्सों को धुंधला करता है।
एड्रियन

9
मैंने अपने jsfiddle को संपादित किया, अब यह IOS7 जैसी चाल करता है;) => CSS3 IOS7 प्रभाव
Cana

34
जैसा कि एड्रियन ने कहा, फ़िल्टर केवल एक तत्व को धुंधला करता है और यह बच्चे हैं। इसका उपयोग ओवरले के लिए मूल तत्वों या आसन्न तत्वों को धुंधला करने के लिए नहीं किया जा सकता है, इसलिए CSS के साथ iOS 7 प्रभाव संभव नहीं है।
जेसन

10
अगर आपको लगता है कि इस प्रभाव को प्राप्त करने के लिए यह सिर्फ धुंधला हो रहा है तो आप गलत होंगे। मैं एक साधारण खुले खट्टे भंडार पर काम कर रहा हूं जो JS और CSS 3 दोनों का उपयोग करके इस प्रभाव को प्राप्त करता है, देखते रहें :)
रयान ब्रॉडी

5
यह एफएक्स में काम नहीं करता है - वे समर्थन नहीं करते हैं -moz-filter: blur()। इसके बजाय आपको एसवीजी फ़िल्टर का उपयोग करना होगा, विवरण के लिए मेरा उत्तर देखें।
कीथ

48

आपने मुझे प्रयास करना चाहा, इसलिए मैंने किया, यहाँ उदाहरण देखें:

http://codepen.io/Edo_B/pen/cLbrt

का उपयोग करते हुए:

  1. HW त्वरित सीएसएस फ़िल्टर
  2. वर्ग असाइनमेंट और तीर कुंजी घटनाओं के लिए जेएस
  3. छवियाँ सीएसएस क्लिप संपत्ति

बस।

मेरा यह भी मानना ​​है कि अगर किसी भी स्क्रीन का उपयोग कैनवास के लिए किया जा सकता है तो वर्तमान डोम को कॉपी करने और धुंधला करने के लिए।


40

[संपादित करें] भविष्य में (मोबाइल) सफ़ारी 9 -webkit-backdrop-filterठीक इसी के लिए होगी । इस पेन को देखें मैंने इसे दिखाने के लिए बनाया है।

मैंने पिछले 4 हफ्तों से इस बारे में सोचा और इस समाधान के साथ आया।

लाइव डेमो

[संपादित करें] मैंने सीएसएस-ट्रिक्स पर एक अधिक अनिश्चित पोस्ट लिखी

यह तकनीक CSS क्षेत्रों का उपयोग कर रही है इसलिए ब्राउज़र का समर्थन इस समय सबसे अच्छा नहीं है। ( http://caniuse.com/#feat=css-regions )

इस तकनीक का प्रमुख भाग CSS क्षेत्र का उपयोग करके लेआउट से अलग सामग्री को विभाजित करना है। पहले एक .contentतत्व को परिभाषित करें flow-into:contentऔर फिर हेडर को धुंधला करने के लिए उपयुक्त संरचना का उपयोग करें।

लेआउट संरचना:

<div class="phone">
 <div class="phone__display">
  <div class="header">
    <div class="header__text">Header</div>
    <div class="header__background"></div>
  </div>
  <div class="phone__content">
  </div>
 </div>
</div>

इस लेआउट के दो महत्वपूर्ण भाग हैं .header__backgroundऔर .phone__content- ये ऐसे कंटेनर हैं जहां सामग्री को प्रवाहित होना चाहिए।

सीएसएस क्षेत्रों का उपयोग करना सरल है flow-from:content( .contentनामांकित क्षेत्र में बह रहा है content)

मुश्किल हिस्सा यहां से शुरू होता है। हम हमेशा सामग्री को प्रवाहित करना चाहते हैं .header__backgroundक्योंकि वह वह भाग है जहां सामग्री को ब्लर किया जाएगा। (उपयोग करके webkit-filter:blur(10px);)

यह द्वारा किया जाता है यह सुनिश्चित करें कि सामग्री हमेशा हालांकि प्रवाह होगा । यह परिवर्तन हमेशा हेडर के नीचे कुछ सामग्री को छुपाता है। इसे ठीक करना आसान जोड़ना हैtransfrom:translateY(-$HeightOfTheHeader).content.header__background

.header__background:before{
  display:inline-block;
  content:'';
  height:$HeightOfTheHEader
}

परिवर्तन के लिए समायोजित करने के लिए।

यह वर्तमान में काम कर रहा है:

  • Chrome 29+ ('प्रयोगात्मक-वेबकिट-सुविधाएँ सक्षम करें' / 'सक्षम-प्रायोगिक-वेब-प्लेटफ़ॉर्म-सुविधाएँ')
  • सफारी 6.1 बीज 6
  • iOS7 ( धीमा और कोई स्क्रॉल नहीं )

1
लाइव डेमो अब काम नहीं करता है। सामग्री फ़ोन के नीचे जाती है, और मुझे JS त्रुटि मिलती है "TypeError: sheet.addRule कोई फ़ंक्शन नहीं है"
BoffinBrain

मैक और आईओएस पर सफारी के साथ अच्छी तरह से काम करता है।
कार्लोस सिल्वा

16

यह तत्व शैली विशेषता के लिए फायरफॉक्स के साथ अब संभव है ।

यह प्रयोगात्मक विशेषता आपको पृष्ठभूमि छवि के रूप में किसी भी HTML सामग्री का उपयोग करने देती है। तो, पृष्ठभूमि बनाने के लिए आपको तीन ओवरले चाहिए:

  1. एक ठोस पृष्ठभूमि के साथ सरल ओवरले (वास्तविक ओवरले सामग्री को छिपाने के लिए)।
  2. -moz-elementसामग्री सेट करने वाली पृष्ठभूमि के साथ ओवरले करें । ध्यान दें कि FX filter: blur()विशेषता का समर्थन नहीं करता है , इसलिए हमें एक एसवीजी की आवश्यकता है।
  3. गैर धुंधली सामग्री के साथ ओवरले।

तो, एक साथ रखा:

एसवीजी कलंक फ़िल्टर (एफएक्स में काम करता है, अन्य ब्राउज़र उपयोग कर सकते हैं filter:blur()):

<svg>
  <defs>
    <filter id="svgBlur">
      <feGaussianBlur stdDeviation="10"/>
    </filter>
  </defs>
</svg>

सीएसएस कलंक शैली:

.behind-blur 
{
    filter         : url(#svgBlur); 
    opacity: .4;
    background: -moz-element(#content);
    background-repeat: no-repeat;
}

अंत में 3 परतें:

<div class="header" style="background-color: #fff">&nbsp;</div>
<div class="header behind-blur">&nbsp;</div>
<div class="header">
    Header Text, content blurs behind
</div>

फिर इसे बस सेट करने के लिए चारों ओर ले जाएं background-position(jQuery में नमूना लेकिन आप कुछ भी उपयोग कर सकते हैं):

$('.behind-blur').css({
    'background-position': '-' + left + 'px -' + top + 'px'
}); 

यहाँ यह केवल JS Fiddle, FX के रूप में है।


1
आपका समाधान मेरे मन में था। मैंने बैकग्राउंड के स्लाइस को बढ़ाकर ग्लिच ( jsfiddle.net/RgBzH/30 ) को ठीक किया, इसलिए ब्लर वास्तव में वास्तविक सामग्री पर होता है, न कि कटा हुआ। अच्छा निष्पादन, वैसे भी।
पियर पाओलो रेमन

@PierPaoloRamon अच्छा tweak - यह मैं का उपयोग करने के लिए जा रहा था मैं शायद वृद्धि की चमक / कम विपरीत है कि iOS7 भी करता है शामिल करने के लिए SVG फ़िल्टर का विस्तार करेंगे, लेकिन FX केवल इस बिंदु पर सख्ती से सैंडबॉक्स का मतलब है। मैंने वर्कअराउंड के बारे में एक और सवाल पूछा है ।
कीथ

BTW, आपका समाधान सिर्फ फ़ायरफ़ॉक्स ओएस में ios7 की तरह धुंधला लाता है, और यह साफ है (मुझे यह परीक्षण करना होगा)।
पियर पाओलो रेमन

14

इस डेमो पेज को देखें।
यह डेमो एक छवि के रूप में दस्तावेज़ को प्रस्तुत करने के लिए html2canvas का उपयोग करता है।

http://blurpopup.labs.daum.net/

  1. जब "शो पॉपअप" लिंक पर क्लिक किया जाता है, तो 'मेकपअप' फंक्शन कहा जाता है।
  2. 'makePopup' डॉक्यूमेंट को इमेज के रूप में प्रस्तुत करने के लिए html2canvas चलाता है ।
  3. छवि को डेटा-यूआरएल स्ट्रिंग में बदल दिया जाता है और इसे पॉपअप की पृष्ठभूमि-छवि के रूप में चित्रित किया जाता है।
  4. पॉपअप की बीजी धुंधली है -webkit-filter: ब्लर
  5. पॉपअप को दस्तावेज़ में जोड़ें।
  6. जब आप पॉपअप खींच रहे हों, तो यह अपनी पृष्ठभूमि-स्थिति को बदल देता है।

1
कृपया डेमो प्रदान करें कि एक बार नीचे जाने के बाद डेमो वास्तव में क्या करता है, यह किसी भी मदद का नहीं होगा।
जोनाथन ड्रेपो

यह वास्तव में एक अच्छा विचार है - दुर्भाग्य से html2canvas अभी तक जिस तरह से प्रयोगात्मक है उस पर भरोसा किया जा सकता है और शायद बहुत बड़ा है जब तक कि स्क्रीनशॉट आपके आवेदन के बारे में क्या है।
कीथ

5
इसके नीचे @JonathanDrapeau जैसा आपने भविष्यवाणी की थी।
मार्क

वू! मैं लिंक सड़ांध प्यार करता हूँ!
विकास

अभी भी छवियों पर धुंधला हो जाना का उपयोग करता है, मैं यह नहीं देखता कि यह एक चिपचिपा नावबार जैसी चीज पर कैसे काम कर सकता है।
मणिनक

10

इस कलम को मैंने दूसरे दिन पाया कि यह सुंदर तरीके से किया गया था, बस सीएसएस और जावास्क्रिप्ट की 21 लाइनें। जब तक मुझे यह नहीं मिला, मैंने क्लोनडॉन जेएस कमांड के बारे में नहीं सुना था, लेकिन यह पूरी तरह से काम के लिए काम करता था।

http://codepen.io/rikschennink/pen/zvcgx

डिटेल: A. मूल रूप से यह आपकी सामग्री div को देखता है और उस पर एक क्लोनकोड आमंत्रित करता है इसलिए यह एक डुप्लिकेट बनाता है जो इसे तब ओवरफ्लो के अंदर रखता है: पृष्ठ के शीर्ष पर छिपा हुआ हेडर ऑब्जेक्ट। ख। तो यह बस स्क्रॉल करने के लिए सुनता है ताकि दोनों चित्र हेडर छवि से मेल खाते हों और धुंधला हो जाएं ... एनएएनएम बीएएम। प्रभाव प्राप्त किया।

सीएसएस में वास्तव में पूरी तरह से सक्षम नहीं है जब तक कि उन्हें भाषा में निर्मित स्क्रिप्टबिलिटी का एकमुश्त हिस्सा नहीं मिल जाता है।


अच्छा लग रहा है! हालांकि यह स्पष्ट रूप से गतिशील सामग्री के साथ बहुत अच्छा काम नहीं करेगा, जब तक कि आप हर बार कुछ भी बदलाव के लिए डुप्लिकेट को अपडेट नहीं करते हैं - जो शायद एक बड़ा प्रदर्शन हिट होगा।
नास

मुझे लगता है, लेकिन वास्तव में निश्चित नहीं है कि आप छवियों को कहां बदल रहे हैं और इस आशय की कोशिश कर रहे हैं? यदि ठीक से किया जाता है, तो यह क्लोन को रीसायकल करने में बड़ा हिट नहीं होना चाहिए। शायद आप इस पर एक मामले का विस्तार कर सकते हैं? उदाहरण के लिए कहें कि आप एक छवि फ़ीड बनाते हैं और चाहते हैं कि प्रत्येक आइटम के लिए एक छवि मेनू के लिए कुछ मेनू विकल्प इस प्रभाव के साथ आए ... इसे तब तक चलाएं जब आप पैनल को प्रकट करते हैं और जो पैनल ओवरले करता है वह तब दिखता है जैसे पोस्टर चाहता था। हर बार जब आप मेनू खोलते हैं तो एक वीप रिसाइकलर को डोम को अंतहीन रूप से डुप्लिकेट नहीं बनाता है और इसे अच्छा प्रदर्शन करना चाहिए।
लक्स.कैप्टिटर

5
  • उस तत्व को क्लोन करें जिसे आप ब्लर करना चाहते हैं
  • इसे उस तत्व के साथ जोड़ें जिसे आप शीर्ष पर रखना चाहते हैं (पाले सेओढ़ लिया खिड़की)
  • वेबकिट-फिल्टर के साथ धमाकेदार तत्व
  • सुनिश्चित करें कि क्लोन किया गया तत्व निरपेक्ष है
  • मूल तत्व को स्क्रॉल करते समय, स्क्रॉलटॉप और स्क्रोल लाइट को पकड़ें
  • RequestAnimationFrame का उपयोग करते हुए, अब वेबकिट-ट्रांसफॉर्म को गतिशील रूप से x3 और y मानों के साथ स्क्रॉल करने और स्क्रॉल करने के लिए सेट करें।

उदाहरण यहाँ है:

  • वेबकिट-ब्राउज़र में खोलना सुनिश्चित करें
  • फ़ोन दृश्य के अंदर स्क्रॉल करें (ऐप्पल माउस के साथ सबसे अच्छा ...)
  • कार्रवाई में धुंधला पाद लेख देखें

http://versie1.com/TEST/ios7/


4

कल एक त्वरित डेमो किया जो वास्तव में आपकी बात कर रहा है। http://bit.ly/10clOM9 यह डेमो एक्सीलरोमीटर के आधार पर लंबन करता है इसलिए यह एक iPhone पर ही सबसे अच्छा काम करता है। मैं मूल रूप से केवल उस सामग्री की प्रतिलिपि बनाता हूं जिसे हम एक निश्चित स्थिति तत्व में ओवरलेइंग कर रहे हैं जो धुंधला हो जाता है।

नोट: पैनल को देखने के लिए ऊपर स्वाइप करें।

(मैं भयानक सीएसएस आईडी का उपयोग करता था लेकिन आपको यह विचार मिलता है)

#frost{
 position: fixed; 
 bottom: 0; 
 left:0; 
 width: 100%; 
 height: 100px; 
 overflow: hidden;
 -webkit-transition: all .5s;
}
#background2{
 -webkit-filter: blur(15px) brightness(.2);
}

#content2fixed{
 position: fixed;
 bottom: 9px;
 left: 9px;
 -webkit-filter: blur(10px);
}

3

उस बारे में बहुत निश्चित नहीं हूं, मेरा मानना ​​है कि सीएसएस फिलहाल ऐसा करने में सक्षम नहीं है

हालाँकि क्रिस कॉयर ने इस तरह के प्रभाव को प्राप्त करने के लिए कई चित्रों वाली एक पुरानी तकनीक के बारे में ब्लॉग किया है, http://css-tricks.com/blurry-background-effect/


कैनवास पर स्क्रीन का स्नैपशॉट काम कर सकता है और ऐसा करने से पहले आइकन और पृष्ठभूमि को एक साथ 'लॉक' कर सकता है, लेकिन मैं यह नहीं देख पा रहा था कि धुंधला होने पर पृष्ठभूमि के नीचे पृष्ठभूमि पर अभी भी लंबन का प्रभाव था ... अगर यह नहीं हुआ 't', फिर जिस मिनट आप कंट्रोल पैनल (ट्रांसपेरेंट ओवरले) को हिलाना शुरू करते हैं, वह डिवाइस स्क्रीन की एक इमेज बनाता है और इस ट्रिकरी टॉपटॉप को परफॉर्म करता है। ध्यान रहे, वे वेब-आधारित चीज़ों को कैनवास की तरह सीमित नहीं कर रहे हैं, जब यह ऐसा कर रहा है क्योंकि यह ओएस स्तर पर है, और वेबकिट सामान तक सीमित नहीं हो सकता है।
14

3

इसे बाहर की जाँच करें http://codepen.io/GianlucaGuarini/pen/Hzrhf ऐसा लगता है कि यह बिना किसी तत्व की पृष्ठभूमि छवि को दोहराए बिना प्रभाव करता है। देखें कि ग्रंथ उदाहरण में भी धुंधला हो रहा है।

Vague.js

var vague = $blurred.find('iframe').Vague({
  intensity:5 //blur intensity
});
vague.blur();

1
यह सामग्री को डुप्लिकेट करता है (आपके द्वारा लिंक किए गए कोडपेन उदाहरण में दो iframes हैं)। मेनू आइटम पर क्लिक करने का प्रयास करें, धुंधला iframe अपडेट नहीं करता है।
गुगली

यह वैसे भी एक समाधान है।
ओनूर अललिक

2

खुशखबरी

आज 11 अप्रैल 2020 तक , यह backdrop-filterसीएसएस संपत्ति के साथ आसानी से संभव है जो अब क्रोम, सफारी और एज में एक स्थिर विशेषता है।

मैं अपने हाइब्रिड मोबाइल ऐप में ऐसा चाहता था ताकि Android / Chrome Webview & Safari WebView में भी उपलब्ध हो।

  1. https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter
  2. https://caniuse.com/#search=backdrop-filter

कोड उदाहरण:

बस सीएसएस संपत्ति जोड़ें:

.my-class {
    backdrop-filter: blur(30px);
    background: transparent;     // Make sure there is not backgorund
}

यूआई उदाहरण 1

इसे इस कलम में काम करते हुए देखें या डेमो आज़माएँ:

#main-wrapper {
  width: 300px;
  height: 300px;
  background: url("https://i.picsum.photos/id/1001/500/500.jpg") no-repeat center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

.my-effect {
  position: absolute;
  top: 300px;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: black;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  transition: top 700ms;
}

#main-wrapper:hover .my-effect {
  top: 0;
}
<h4>Hover over the image to see the effect</h4>

<div id="main-wrapper">
  <div class="my-effect">
    Glossy effect worked!
  </div>
</div>

यूआई उदाहरण 2

चलो मैकडॉनल्ड्स ऐप का एक उदाहरण लेते हैं क्योंकि यह काफी रंगीन है। मैंने इसका स्क्रीनशॉट लिया और bodyअपने ऐप के बैकग्राउंड के रूप में जोड़ा ।

मैं चमकदार प्रभाव के साथ इसके ऊपर एक पाठ दिखाना चाहता था। backdrop-filter: blur(20px);इसके ऊपर के ओवरले का उपयोग करके , मैं यह देख पा रहा था: above

मुख्य स्क्रीनशॉट यहां छवि विवरण दर्ज करें


backdrop-filterहालांकि अभी भी फ़ायरफ़ॉक्स में स्वचालित रूप से काम नहीं करता है। मुझे संदेह है कि उपयोगकर्ता backdrop-filterइस प्रभाव को देखने के लिए जानबूझकर सक्रिय करने के विकल्पों को चालू करेंगे ।
रिचर्ड

0

मैं प्रेत के लिए समान प्रभाव प्राप्त करने के लिए svg फिल्टर का उपयोग कर रहा हूं

<svg id="gray_calendar" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 48 48 48">
  <filter id="greyscale">
    <feColorMatrix type="saturate" values="0"/>
  </filter>
  <image width="48" height="10224" xlink:href="tango48i.png" filter="url(#greyscale)"/>
</svg>
  • व्यूबॉक्स विशेषता आपकी सम्मिलित छवि के केवल उस हिस्से का चयन करेगी जो आप चाहते हैं।
  • फिल्टर को किसी भी चीज़ में बदलें, जिसे आप चाहते हैं, जैसे कि कीथ का <feGaussianBlur stdDeviation="10"/>उदाहरण।
  • <image ...>किसी भी छवि पर लागू करने के लिए टैग का उपयोग करें या यहां तक ​​कि कई छवियों का उपयोग करें।
  • आप इसे js के साथ बना सकते हैं और इसे छवि के रूप में उपयोग कर सकते हैं या अपने css में आईडी का उपयोग कर सकते हैं।

क्या आपके पास कहीं इसका एक काम करने वाला उदाहरण है? शायद एक jsFiddle या समान? धन्यवाद
Blaker

0

यह आपकी मदद कर सकता है !!

यह गतिशील रूप से IOS करता है पृष्ठभूमि बदल देता है

.myBox {
  width: 750px;
  height: 500px;
  border: rgba(0, 0, 0, 0.5) 1px solid;
  background-color: #ffffff;
}

.blurBg {
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.blurBg img {
  -webkit-filter: blur(50px);
  margin-top: -150px;
  margin-left: -150px;
  width: 150%;
  opacity: 0.6;
}

-1

यहाँ jQuery के साथ इस पर मेरा लेना है। समाधान सार्वभौमिक नहीं है, जिसका अर्थ है कि किसी को वास्तविक डिज़ाइन के आधार पर कुछ पदों और सामान को मोड़ना होगा।

मूल रूप से मैंने जो भी किया है: ट्रिगर क्लोन पर / पूरी पृष्ठभूमि (जो धुंधली होनी चाहिए) को अनब्लेटेड कंटेंट के साथ हटा दें (जो कि, वैकल्पिक रूप से, ओवरफ्लो को छिपा दिया है अगर यह पूरी चौड़ाई नहीं है) और इसे सही ढंग से रखें। कैविएट यह है कि खिड़की के आकार की धुंधली div स्थिति के संदर्भ में मूल को बेमेल कर देगी, लेकिन इसे विंडो रिसाइज फंक्शन पर कुछ के साथ हल किया जा सकता है (ईमानदारी से मैं अब इससे परेशान नहीं हो सकता)।

मैं वास्तव में इस समाधान पर आपकी राय की सराहना करूंगा!

धन्यवाद

यहाँ है बेला , IE में परीक्षण नहीं किया।

एचटीएमएल

<div class="slide-up">
<div class="slide-wrapper">
    <div class="slide-background"></div>
    <div class="blured"></div>
    <div class="slide-content">
         <h2>Pop up title</h2>

        <p>Pretty neat!</p>
    </div>
</div>
</div>
<div class="wrapper">
<div class="content">
     <h1>Some title</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque molestie magna elit, quis pulvinar lectus gravida sit amet. Phasellus lacinia massa et metus blandit fermentum. Cras euismod gravida scelerisque. Fusce molestie ligula diam, non porta ipsum faucibus sed. Nam interdum dui at fringilla laoreet. Donec sit amet est eu eros suscipit commodo eget vitae velit.</p>
</div> <a class="trigger" href="#">trigger slide</a>

</div>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<filter id="blur">
    <feGaussianBlur stdDeviation="3" />
</filter>
</svg>

सीएसएस

body {
margin: 0;
padding: 0;
font-family:'Verdana', sans-serif;
color: #fff;
}
.wrapper {
position: relative;
height: 100%;
overflow: hidden;
z-index: 100;
background: #CD535B;
}
img {
width: 100%;
height: auto;
}
.blured {
top: 0;
height: 0;
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-ms-filter: blur(3px);
filter: blur(3px);
filter: url(#blur);
filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='3');
position: absolute;
z-index: 1000;
}
.blured .wrapper {
position: absolute;
width: inherit;
}
.content {
width: 300px;
margin: 0 auto;
}
.slide-up {
top:10px;
position: absolute;
width: 100%;
z-index: 2000;
display: none;
height: auto;
overflow: hidden;
}
.slide-wrapper {
width: 200px;
margin: 0 auto;
position: relative;
border: 1px solid #fff;
overflow: hidden;
}
.slide-content {
z-index: 2222;
position: relative;
text-align: center;
color: #333333;
}
.slide-background {
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: #fff;
z-index: 1500;
opacity: 0.5;
}

jQuery

// first just grab some pixels we will use to correctly position the blured element
var height = $('.slide-up').outerHeight();
var slide_top = parseInt($('.slide-up').css('top'), 10);
$wrapper_width = $('body > .wrapper').css("width");
$('.blured').css("width", $wrapper_width);

$('.trigger').click(function () {
    if ($(this).hasClass('triggered')) { // sliding up
        $('.blured').animate({
            height: '0px',
            background: background
        }, 1000, function () {
            $('.blured .wrapper').remove();
        });
        $('.slide-up').slideUp(700);
        $(this).removeClass('triggered');
    } else { // sliding down
        $('.wrapper').clone().appendTo('.blured');
        $('.slide-up').slideDown(1000);
        $offset = $('.slide-wrapper').offset();
        $('.blured').animate({
            height: $offset.top + height + slide_top + 'px'
        }, 700);
        $('.blured .wrapper').animate({
            left: -$offset.left,
            top: -$offset.top
        }, 100);
        $(this).addClass('triggered');
    }
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.