2012-09-19 25 views
5

क्या यह सीएसएस (छवियों के बिना) में सीमा त्रिज्या और त्रिभुज पक्ष के साथ आइटम बना सकता है? एक सवाल ही नहीं है, http://jonrohan.me/guide/css/creating-triangles-in-css/सीमा त्रिज्या और त्रिकोण पक्ष के साथ सीएसएस आइटम

गतिशील ऊंचाई के लिए

और यहाँ का जवाब: http://css-tricks.com/snippets/css/css-triangle/ या इस:

li items

+0

हाँ, पर यह IE के पुराने संस्करणों में समर्थित नहीं है। क्या यह कोई समस्या है? – zzzzBov

+0

प्रति दो तत्वों (एक बेहतर अवधि की कमी के लिए) के साथ संभवतः करना आसान है। गोलाकार किनारों के साथ बड़े बाएं हाथ के हिस्से के लिए और दूसरे त्रिकोण के लिए। – j08691

+0

यह जरूरी नहीं है आईई समर्थन :) और यह ठीक है अगर कोई अन्य तत्व, लेकिन मैं निर्दिष्ट ऊंचाई के बिना त्रिकोण कैसे बना सकता हूं? –

उत्तर

4

आप एक एसवीजी छवि है कि किसी भी आकार में तेजी से प्रस्तुत करना होगा और तत्व के आकार के लिए अनुकूल होगा उपयोग कर सकते हैं, यह इस प्रकार दिखाई देगा ...

.button { 
    background: #000; 
    float: left; 
    position: relative; 
    color: #999; 
    font: 15px/130% Arial, sans-serif; 
    padding: 10px 20px; 
    clear: both; 
    margin: 10px; 
    border-radius: 5px 0 0 5px; 
} 

.button:after { 
    content: ''; 
    display: block; 
    width: 10px; 
    position: absolute; 
    right: -10px; 
    height: 100%; 
    top: 0; 
    background: transparent url('triangle.svg') 0 0 no-repeat; 
} 

http://jsfiddle.net/Ch7aA/

यह jsfiddle केवल होगा वेबकिट में काम करें क्योंकि मैंने svg को रेखांकित किया है ताकि आप समझ सकें कि यह कैसे काम करता है, लेकिन यदि आप इसे बाहरी फ़ाइल से लोड करते हैं तो इसे ठीक काम करना चाहिए। यहाँ संदर्भ के लिए प्रतिपादन है:

enter image description here

2

इस पर एक नजर है CSS triangle with dynamic height

+0

यह गेटेट समाधान है, लेकिन मुझे एक समस्या है: मैं निर्दिष्ट ऊंचाई के बिना त्रिकोण कैसे बना सकता हूं? एक ली आइटम एक पंक्ति में हो सकता है, दूसरा दो में ... –

1

HTML:

<div><span>fubar</span></div> 

सीएसएस:

span{ 
    display:block; 
    width:100px; 
    float:left; 
    background-color:green; 
    text-align:center; 
    border-top-left-radius: 5px; 
    border-bottom-left-radius: 5px; 
    padding:5px 0; 
} 
div:after { 
    content: ""; 
    display:block; 
    float:left; 
    border-top: 15px solid transparent; 
    border-bottom:15px solid transparent; 
    border-left: 10px solid green; 
} 

jsFiddle Demo


अद्यतन:

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

+0

परिवर्तनीय तत्व ऊंचाई के लिए काम नहीं करता है, जैसे ओपी ने संकेत दिया कि उसे चाहिए। [JSFiddle देखें] (http://jsfiddle.net/hJfgw/4/)। –

+0

धन्यवाद, लेकिन हाँ, - दो लाइनों के साथ समस्याएं :) –

+0

आप या तो जावास्क्रिप्ट का उपयोग कर सकते हैं या आप सीएसएस के साथ पाठ को छोटा कर सकते हैं - http://jsfiddle.net/hJfgw/7/ - हालांकि यह सब आपकी विशेष आवश्यकताओं पर निर्भर करता है। – xandercoded