2013-04-24 6 views
8

मैं चयनित साइडबार आइटम में "बाहरी" गोलाकार कोनों को जोड़ना चाहता हूं ताकि यह प्रभाव दिया जा सके कि यह आइटम अच्छी तरह से सामग्री में "डालना" है।मैं बाहरी गोलाकार कोनों को एक div में कैसे जोड़ सकता हूं?

नीचे मेरी उदाहरण में, मैं .top चाहते हैं, एक ग्रे पृष्ठभूमि के साथ एक गोल नीचे दाईं ओर के लिए .bottom के लिए एक समान ऊपरी-दाएं कोने के साथ। तुम क्या सोचते हो?

मैं ट्विटर बूटस्ट्रैप और कम से कम उपयोग कर रहा हूं, अगर इससे यह आसान हो जाता है।

jsFiddle: http://jsfiddle.net/3YXb2/

बारी इस:

rendered

इस में

:

enter image description here

मार्कअप:

<div class="wrapper"> 
    <div class="sidebar"> 
     <div class="top"> 
      <p>Top</p> 
     </div> 
     <div class="middle"> 
      <p>Middle</p> 
     </div> 
     <div class="bottom"> 
      <p>Bottom</p> 
     </div> 
    </div> 
    <div class="container"> 
     <p>Content</p> 
    </div> 
</div> 

सीएसएस:

body { 
    margin:10px; 
} 
div { 
    margin:0; 
    margin-right:-4px; 
    padding:0; 
    display:inline-block; 
    vertical-align:middle; 
} 
.wrapper { 
    width:100%; 
    display:block; 
    border:1px solid; 
} 
.container { 
    background-color:gray; 
    width:70%; 
    height:300px; 
} 
.sidebar { 
    background-color:white; 
    width:30%; 
    height:300px; 
} 
.middle { 
    background-color:gray; 
} 
.top,.middle,.bottom { 
    width:100%; 
    height:100px; 
    display:block; 
} 
p { 
    padding:40px 0 0; 
    margin:0; 
    text-align:center; 
} 

उत्तर

14

सीएसएस 3 border-radius संपत्ति प्रदान करता है। हालांकि, कृपया ध्यान दें कि यह IE8 या किसी भी संस्करण के लिए उपलब्ध नहीं है। हैक्स उपलब्ध हैं; लेकिन वे सिर्फ यही हैं: हैक्स।

प्रयोग इस तरह दिखता है:

.sidebar { 
     background-color:gray; 
     width:30%; 
     height:300px; 
    } 
    .middle { 
     background-color:gray; 
    } 
    .top,.middle,.bottom { 
     width:100%; 
     height:100px; 
     display:block; 
    } 
    .top{ 
     background: white; 
     border-bottom-right-radius:10px; 
    } 
    .bottom{   
     background: white; 
     border-top-right-radius: 10px; 
    } 

jsFiddle example

+0

हां, मैं '.border-top-right-त्रिज्या (10px) के साथ खेल रहा हूं; 'बूटस्ट्रैप में मिलाएं लेकिन मैं यह नहीं समझ सकता कि" खाली "कोने की पृष्ठभूमि को' मध्य 'मेरे उदाहरण में। – Ryan

+0

@ रयान आप सब कुछ के पीछे बैठे एक रैपर होगा - मुझे आपको अपने कोड का उपयोग करके एक उदाहरण बनाने की कोशिश करें। –

+0

इसे स्पष्ट बनाने के लिए छवि के साथ पोस्ट अपडेट करें। – Ryan

3

आप सीएसएस के बॉर्डर-त्रिज्या का उपयोग कर सकते हैं। आप यहां एक ऑनलाइन राउंड सीमा जनरेटर देख सकते हैं: http://border-radius.com/

+0

समारोह- एक jQuery हॉवर पर सेट अप लेकिन मैं कोने की पृष्ठभूमि का रंग कैसे चुनें? – Ryan

+0

मुझे यकीन नहीं है कि कोने की पृष्ठभूमि से आपका क्या मतलब है। यदि आप चाहते हैं कि आप बॉक्स-छाया संपत्ति द्वारा छाया छोड़ सकते हैं तो यह "पृष्ठभूमि-रंग" जैसा ही रंग होगा। – beebee

+0

तो यदि मैं उपरोक्त '.top' div में सीमा त्रिज्या जोड़ता हूं, तो यह पहले से ही सफेद div के कोने के चारों ओर घूमता है। लेकिन मुझे भूरे होने के लिए कोने की जरूरत है। और बाकी सफेद। जहां ग्रे 'मिडल' का हिस्सा दिखता है। – Ryan

1

आप बॉर्डर-त्रिज्या का उपयोग करना चाहते हैं और यह वेरिएंट है।

ईजी

border-radius: 5px 5px 0px 0px; 
-moz-border-radius: 5px 5px 0px 0px; 
-webkit-border-radius: 5px 5px 0px 0px; 

यह यहाँ के लिए अच्छा उपकरण: http://www.cssportal.com/css3-rounded-corner/

+0

हां, मैं '.border-top के साथ खेल रहा हूं राइट-त्रिज्या (10 पीएक्स); 'बूटस्ट्रैप में मिलाएं लेकिन मैं यह नहीं समझ सकता कि "खाली" कोने की पृष्ठभूमि को मेरे उदाहरण में' .middle' जैसा ही बनाया जाए। – Ryan

+0

कैनब आप एक छवि को पोस्ट कर सकते हैं जिसे आप अंत में दिखाना चाहते हैं? –

+0

छवि के साथ अद्यतन पोस्ट। धन्यवाद। – Ryan

1

उपयोग CSS3 के बॉर्डर-त्रिज्या

.top 
    { 
     border-bottom-right-radius: 3px; 
     -moz-border-radius-bottomright: 3px; 
     -webkit-border-bottom-right-radius: 3px; 
    } 

.bottom 
    { 
     border-top-right-radius: 3px; 
     -moz-border-radius-topright: 3px 
     -webkit-border-top-right-radius: 3px; 
    } 
2

यदि मैं आपको सही ढंग से समझता हूं तो आप एक उल्टा सीमा त्रिज्या की तलाश में हैं। क्या यह आपके मन में है?

http://jsfiddle.net/3pW2M/

यह अगर सफेद क्षेत्र उदाहरण के लिए एक पृष्ठभूमि छवि दिखाने के लिए पारदर्शी होने की जरूरत है काम नहीं करेगा।

.top { 
    position: relative; 
} 

.topcorner { 
    position: absolute; 
    margin: 0; 
    bottom: 0; 
    right: 0; 
    height: 50px; 
    width: 50px; 
    background: gray; 
} 

.topcorner:after { 
    content: ''; 
    position: absolute; 
    height: 50px; 
    width: 50px; 
    background: white; 
    border-radius: 0 0 50px 0; 
} 
+0

हां! यही वह है जिसे मैं ढूंढ रहा हूं। मैं यह सुनिश्चित करने के लिए इसके साथ खेलूँगा, लेकिन यह सिर्फ काम कर सकता है! धन्यवाद। – Ryan

2

मुझे लगता है कि यह किसी प्रकार की उपयोगकर्ता बातचीत, नेविगेशन, टैब, एक्सटी के लिए आवश्यक होगा।इसलिए मैं यह jsFiddle

$(document).ready(function() { 
    $('.top').hover(function() { 
    $('.middle').toggleClass('notSelect2'); 
    $('.bottom').toggleClass('notSelect3'); 
    }); 

    $('.middle').hover(function() { 
    $('.top').toggleClass('notSelect'); 
    $('.bottom').toggleClass('notSelect2'); 
    }); 

    $('.bottom').hover(function() { 
    $('.middle').toggleClass('notSelect'); 
    $('.top').toggleClass('notSelect3'); 
    }); 
}); 
संबंधित मुद्दे