खैर, यह शुद्ध पागलपन है, लेकिन निश्चित रूप से वहाँ इस लक्ष्य को हासिल करने के लिए तरीके हैं :-) नहीं पार browserly, लेकिन चलो देखते हैं:
हमारी मार्क-अप:
<div id="bubble">
<p>This is madness!</p>
</div>
हमारे सीएसएस:
#bubble {
width:200px;
height:100px;
border:1px solid #000;
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;
}
#bubble p {
margin: 1em;
font-family:Comic Sans MS;/* well, madness it is! */
}
#bubble:before {
content:'';
border:20px solid;
border-color:#fff transparent transparent;
position:absolute;
top:110px;
left:25px;
z-index:2;
}
#bubble:after {
content:'';
border:20px solid;
border-color:#000 transparent transparent;
position:absolute;
top:111px;
left:25px;
z-index:1;
}
परिणाम: http://jsfiddle.net/MrLWY/
मैं केवल फ़ायरफ़ॉक्स 3.6.3 में यह परीक्षण किया है, लेकिन यह विचार स्पष्ट :-)
है यहाँ दो ले:
#bubble {
width:200px;
height:100px;
border:1px solid #000;
position:relative;
-webkit-border-radius:20px 20px 20px 0;
-moz-border-radius:20px 20px 20px 0;
border-radius:20px 20px 20px 0;
}
#bubble p {
margin: 1em;
font-family:Comic Sans MS;
}
#bubble:before {
content:'';
width:20px;
height:20px;
background:#fff;
border-left:1px solid #000;
position:absolute;
top:100px;
left:-1px;
}
#bubble:after {
content:'';
-webkit-border-radius:20px 0 0 0;
-moz-border-radius:20px 0 0 0;
border-radius:20px 0 0 0;
border:solid #000;
border-width:1px 0 0 1px;
width:20px;
height:19px;
position:absolute;
top:100px;
left:0;
}
और परिणाम: http://jsfiddle.net/ajeN7/
शायद यह कई मायनों में बढ़ाया जा सकता है:
- इसे क्रॉस-ब्राउजर (+ वेबकिट और ओपेरा, कम से कम)
- यह आईईएस में बिना किसी गोल के काम कर सकता है, हालांकि http://code.google.com/p/ie7-js/ (काम करने के लिए जेनरेट की गई सामग्री के लिए) की मदद से।
- यह पता लगाने के लिए कि यह लचीला ऊंचाई के साथ कैसे काम कर सकता है।
- :-)
स्रोत
2010-05-29 19:30:37
मैं इस ट्यूटोरियल की भी सिफारिश कर सकता हूं, जो उलटा सीमाओं को दिखाता है क्योंकि उनका उपयोग टैब के लिए किया जाता है: http://css-tricks.com/better-tabs-with-round-out-borders/ –