2013-05-29 5 views
9

मैं एक सामग्री अनुभाग के ऊपर बैठने के लिए कोणीय टैब बनाने की कोशिश कर रहा हूँ, और इस महान उदाहरण भर में आया था:सीएसएस में सीमा के साथ मोटे टैब कैसे बनाएं?

HTML:

<div class="tab"> 
    <div class="arrow"></div> 
</div> 

सीएसएस:

body 
{ 
    background-color: #666;  
} 
.tab 
{ 
    height: 50px; 
    width: 150px; 
    border-radius: 10px 10px 0px 0px; 
    background-color: #FFF; 
    position: relative; 
} 

.arrow 
{ 
    border-color: transparent transparent #FFF #FFF; 
    border-style: solid; 
    border-width: 23px 23px 23px 23px; 
    height:0; 
    width:0; 
    position:absolute; 
    bottom:0px; 
    right:-43px; 
} 

http://jsfiddle.net/P3P3Z/2/

हालांकि, मैं इस आकार में एक अलग 2 पीएक्स सीमा रंग सेट करना चाहता हूं, और दुर्भाग्य से यह विधि काम नहीं करती है क्योंकि यह सीमा टी का उपयोग करती है ओ आकार के दाहिने हाथ की ओर बनाएँ।

इस पर कोई विचार है कि मैं इसे कैसे संशोधित कर सकता हूं?

+0

तो तुम सफेद क्षेत्र के चारों ओर एक सीमा चाहते हैं? –

उत्तर

15

आप इस तरीके का प्रयास कर सकते हैं: jsFiddle

इसके बजाय तिरछी प्रभाव पैदा करने के लिए सीमाओं का उपयोग करने का, मैं इसे बनाने के लिए एक :after छद्म तत्व का उपयोग कर रहा हूँ। यह मुझे इसके चारों ओर सीमाओं को सेट करने की अनुमति देता है। फिर मैं उन सीमाओं को छिपाने के लिए :before छद्म तत्व का उपयोग कर रहा हूं जिन्हें मैं देखना नहीं चाहता हूं। सीएसएस में पुनरावर्ती 2px सीमा चौड़ाई मान से लिया गया है।

सीएसएस

.tab:before { 
    height: 50px; 
    width: 10px; 
    display: block; 
    content:" "; 
    background-color: #FFF; 
    position: absolute; 
    right: -2px; 
    top: -2px; 
    border-top: 2px solid blue; 
    border-bottom: 2px solid blue; 
} 
.tab { 
    height: 50px; 
    width: 150px; 
    border-radius: 10px 10px 0px 0px; 
    background-color: #FFF; 
    position: relative; 
    border: 2px solid blue; 
} 
.tab:after { 
    display: block; 
    content:" "; 
    width: 100px; 
    height: 50px; 
    top: -2px; 
    background-color: #FFF; 
    position: absolute; 
    right: -29px; 
    transform:skewX(45deg); 
    -ms-transform:skewX(45deg); 
    -webkit-transform:skewX(45deg); 
    border: 2px solid blue; 
    z-index: -1; 
} 
+0

+1। यह मेरी तकनीक के समान है: http://stackoverflow.com/a/13273672/1654265 जहां मैं दो त्रिकोणों के ओवरलैप के बाद और पहले उपयोग करता हूं और थोड़ा सा एक दूसरे से स्थानांतरित होता है ... –

+0

धन्यवाद, मैंने संशोधित किया है कुछ उन्नत स्टाइल के लिए आपका दृष्टिकोण, यहां: http://jsfiddle.net/robmc/ZvEyx/4/ मैं टैब पर स्टाइल टॉप दाएं वक्र कोने को आजमाने और प्राप्त करना चाहता हूं; मुझे नहीं लगता कि आपको टैब की आवश्यकता है: इसके लिए पहले, लेकिन मैं माता-पिता पर नीले वक्र से छुटकारा पाने का कोई तरीका नहीं देख सकता। कोई विचार? – alias51

+0

बस टैब के ऊपरी दाएं कोने पर 'सीमा-त्रिज्या' को बंद करें और ': बाद के छद्म तत्व को दाईं ओर थोड़ा और आगे बढ़ाएं (इसके नकारात्मक दाएं मार्जिन को बढ़ाएं): http://jsfiddle.net/ZvEyx/6 / –

संबंधित मुद्दे