2017-01-06 11 views
8

के अंदर एक अनुच्छेद कैसे फिट करें मैं वांछित बहुभुज आकार बनाने के लिए सफलतापूर्वक shape-outside: polygon(...) और clip-path: polygon(...) का उपयोग करने में सक्षम हूं।एक सीएसएस बहुभुज

मैंने shape-inside के उपयोग के संदर्भ में कई पेज देखे हैं, और फिर भी मैंने पढ़ा है कि shape-inside को हटा दिया गया है और इसमें कोई प्रतिस्थापन नहीं है। उन्हें 2014 में भी लिखा गया था, इसलिए मुझे आशा है कि तब से CSS3 बदल गया है।

वेब पर देखने के बाद, मैं लगभग कार्यों को एक साथ टुकड़ा करने में सक्षम था। मुझे आकार पसंद है, लेकिन अब मुझे ओवरफ्लो छिपा हुआ आकार के अंदर टेक्स्ट रैप की आवश्यकता है।

मैंने संकेतों को ::before पर देखा है, लेकिन मुझे अभी भी यह समझ में नहीं आता कि इससे कैसे मदद मिलेगी। इसका परीक्षण किसी भी परिणाम का प्रतीत नहीं होता था।

चाहे यह सरल या जटिल हो, मैं बहुभुज के भीतर पाठ को लपेटने के लिए सीएसएस का उपयोग कैसे कर सकता हूं? या समाधान सीएसएस के बाहर झूठ बोलता है? क्या मुझे jQuery की तरह एक और दृष्टिकोण का उपयोग करने की ज़रूरत है?

This is the polygon with text clipped off.

सीएसएस

/* 
For reference:  
@vertex1: 120px; 
@vertex2: @vertex1*2; 
*/ 

.diamondContainer { 
    display: block;  
    position: absolute; 
    text-align: center; 
    width: @vertex2; 
    height: @vertex2; 
    overflow: hidden; /* hide anything longer than allowed string length */ 

    /* This is a diamond shape */  
    shape-outside: polygon(@vertex1 0, @vertex2 @vertex1, @vertex1 @vertex2, 0 @vertex1);  
    clip-path: polygon(@vertex1 0, @vertex2 @vertex1, @vertex1 @vertex2, 0 @vertex1); 
} 

एचटीएमएल फिर

<div class="diamondOuter"> 
    <div class="diamondWrapper"> 
     <div class="diamondContainer diamondCell2"> 
      <span><strong>Title Text</strong><br />Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.</span> 
     </div> 
    </div> 
</div> 

उत्तर

5

देखो shape-outside पर।

आप इसे टेक्स्ट कंटेनर पर सेट नहीं करते हैं, लेकिन पाठ के चारों ओर अन्य तत्वों को सेट नहीं करते हैं।

आपके मामले में, आपको पाठ के लिए पाठ के लिए कम से कम 2 div की आवश्यकता हो सकती है।

इस पृष्ठ पर 2 polygon एस के बीच बहने वाले पाठ का एक उदाहरण है।

https://www.html5rocks.com/en/tutorials/shapes/getting-started/

आशा इस मदद करता है।

enter image description here

+0

इससे मदद मिली। मुझे मोल्ड जैसे बाएं और दाएं divs का उपयोग करके, मेरे प्रतिमान को फिर से सोचना पड़ा। – RandomHandle

+0

मदद करने में खुशी हुई। कृपया अपने प्रश्न का उत्तर देना न भूलें: डी –

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