इसे पूरा करने का एक और तरीका है, विशेष रूप से किसी ऐसे व्यक्ति के लिए जिसे मुझे समान या समान स्केल त्रिकोण के साथ काम करने की आवश्यकता है, इसका उपयोग filter: drop-shadow(...)
कई मानों और धब्बा त्रिज्या के साथ करना है। इसके कई तत्वों की आवश्यकता नहीं होने का अतिरिक्त लाभ है, या दोनों तक पहुंच : पहले और: बाद में (मैं इस के साथ इसे पूरा करने की कोशिश कर रहा था: सामग्री के बाद जो इनलाइन था, इसलिए पूर्ण स्थिति से भी बचना चाहता था)।
उपरोक्त मामले के लिए: सीएसएस के बाद इस तरह दिख सकता है ( फिडल ):
.container {
margin-left: 15px;
width: 200px;
background: #FFFFFF;
border: 1px solid #CAD5E0;
padding: 4px;
position: relative;
min-height: 200px;
}
.container:after {
content: '';
display: block;
position: absolute;
top: 10px;
left: 100%;
width: 0;
height: 0;
border-style: solid;
border-width: 20px 0 40px 15px; /* skewed to show support for non-right-angle triangles */
border-color: transparent transparent transparent #fff;
filter: drop-shadow(1px 0 0 #CAD5E0) drop-shadow(0 .5px 0 #CAD5E0);
}
<div class="container">
Test Container
</div>
मुझे लगता है कि कुछ सीमाएँ या विचित्रताएँ हैं, हालाँकि:
- IE11 में कोई समर्थन नहीं (हालांकि एफएफ, क्रोम और एज में ठीक लगता है)
- मुझे यकीन नहीं है कि .5px
<offset-y>
दूसरे ड्रॉप- शैड में मान के लिए क्यों है (ऊपर) 1px से अधिक 1px की तरह प्रतीत होता है, हालांकि मुझे लगता है कि यह त्रिकोणमिति से संबंधित है (हालांकि कम से कम मेरे मॉनिटर पर मुझे इसके बीच कोई अंतर नहीं दिखता है) वास्तविक ट्रिगर-आधारित मान या .5px या सम। 1px उस बात के लिए)।
- 1px से अधिक सीमाएँ (ठीक है, उनकी उपस्थिति इस तरह) अच्छी तरह से काम नहीं करती है। या कम से कम मुझे समाधान नहीं मिला है, हालांकि थोड़ा बड़ा होने के लिए कम-से-इष्टतम तरीके के लिए नीचे देखें। (मुझे लगता है कि दस्तावेज़-पर-असमर्थित 4th पैरामीटर (
<spread-radius>
) ऑफ़ ड्रॉप-शैडो) वह हो सकता है जो मैं वास्तव में एकाधिक फ़िल्टर मानों के बजाय देख रहा हूं, लेकिन इसे पूरी तरह से तोड़ दी गई चीजों में जोड़ना।) यहां आप देख सकते हैं कि क्या है। 1px ( बेला ) से आगे जाने पर होने लगती है :
.container {
background-color: #eee;
padding: 1em;
}
.container:after {
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 20.4px 10px 0 10px;
border-color: yellow transparent transparent transparent;
margin-left: .25em;
display: inline-block;
filter: drop-shadow(-6px -4px 0 green) drop-shadow(6px -4px 0 red) drop-shadow(0 6px 0 blue);
}
<div class="container">
Test Container
</div>
फ़ननेस पर ध्यान दें कि पहले वाला (हरा) एक बार लगाया जाता है, लेकिन दूसरा वाला (लाल) दोनों को बॉर्डर के साथ-साथ ग्रीन ड्रॉप-शैडो (), और आखिरी वाले (नीले) के साथ बनाए गए पीले त्रिकोण पर लागू किया जा रहा है उपरोक्त सभी के लिए लागू हो जाता है। (शायद यह भी .5px उपस्थिति बात से संबंधित है)।
लेकिन मुझे लगता है कि आप एक-दूसरे पर इन ड्रॉप-शैडो बिल्डिंग का लाभ उठा सकते हैं, अगर आपको 1px की तुलना में कुछ व्यापक दिखने की ज़रूरत है, तो उन्हें निम्न ( फ़ेडल ) जैसी चीज़ में बदलकर :
filter: drop-shadow(0 0 2.5px red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red) drop-shadow(0 0 0 red);
जहां पहले वाले के पास एक धब्बा-त्रिज्या सेट है (इस मामले में 2.5px, हालांकि परिणाम कई गुना दिखाई देता है), और बाकी सभी में 0. पर धब्बा है, लेकिन यह केवल सभी पक्षों पर एक ही रंग के लिए काम करेगा, और यह परिणाम देता है कुछ गोल-गोल कोनों में और साथ ही साथ जितने बड़े किनारों पर आप जाते हैं।