2017-01-06 3 views
8

shape-outside: polygon(...)clip-path: polygon(...)を使用して、目的のポリゴンシェイプを作成できました。CSSポリゴンの中に段落を入れる方法

私はshape-insideの使用を参照している多くのページを見てきましたが、まだshape-insideが廃止され、置き換えられていないと読んでいます。 2014年にも書かれているので、その後CSS3が変わったことを願っています。

ウェブで見ると、がほぼの作品をまとめてまとめることができました。私は形が好きですが、今はオーバーフローが隠された形の中にテキストラップが必要です。

私は::beforeについてのヒントを見てきましたが、それがどう役立つかはまだ分かりません。それをテストしても結果は出ていないようです。

単純か複雑かに関わらず、CSSを使用してポリゴン内のテキストをラップするにはどうすればよいですか?あるいは、ソリューションがCSSの外にあるのでしょうか? jQueryのような別のアプローチを使用する必要がありますか?

This is the polygon with text clipped off.

CSS

/* 
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); 
} 

HTML

<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

これは助けになりました。私は、金型のような左右のdivを使って、私のパラダイムを再考しなければなりませんでした。 – RandomHandle

+0

喜んで助けてください。 plsあなたの質問に答えてマークすることを忘れないでください:D –

関連する問題