これを実行する最も正しい方法純粋なCSSだけを使用することは、ポリゴンを持つshape-inside
プロパティを使用するか、値として透過PNGマスクへのURLを使用することです。しかし、現在のところ、shape-outside
がよりサポートされているようで、あなたの特定のニーズには役立ちません(おそらくその方法では負のスペース文字を使用できます)。これは、shape-outside
が、少なくとも2014年のクロムプロジェクト(https://bugs.chromium.org/p/chromium/issues/detail?id=356778)ではshape-inside-wellよりも全体的なHTMLレイアウトが邪魔になっているためです。 caniuse.comのチェックアウトでは、一部のサポート(主にChrome、Safari、Operaなど - いくつかのプレフィックスが必要:http://caniuse.com/#search=shape-inside)が表示されていましたが、ChromeとChromiumの両方のインストール、現在のバージョンWindowsではデモを作るのが難しいので、2014年にはその時間枠からデモがたくさんあるので、これはうまくいっているようだ。
理論上、shape-inside
プロパティの値は polygon(40.42% 28.25%,42.33% 99.37%,62.17% 99.37%,61.83% 27.50%,99.10% 26.72%,99.63% 0.69%,99.40% 0.41%,61.92% 0.88%,40.83% 1.13%,1.04% 1.47%,1.25% 28.32%); /*a t-shape letter mask-- defined in percentage values*/
で、ブロックレベルの要素セレクタに適用できます。固定されたユニットで作業することを好む場合は、上記のt字形は代わりにpolygon(161.67px 113.00px,169.33px 397.47px,248.67px 397.47px,247.33px 110.00px,396.42px 106.88px,398.50px 2.76px,397.58px 1.65px,247.67px 3.53px,163.33px 4.53px,4.17px 5.90px,5.00px 113.26px)
などの多角形を描画するツールを使用しない限り、さまざまな文字の形が非常に退屈です。http://betravis.github.io/shape-tools/polygon-drawing/ AやBなどの文字の負のスペースのような文字は、別のshape-inside
またはshape-outside
を縦に並べて使用する必要があります。あなたが怠け者になりたければ、手紙の中の空白を無視することができ、おそらくまだ読むことができます。句読点なしで大文字と小文字をサポートするには、最低52(26 * 2)クラスが必要です。私は後で私の時間の制約に応じて、文字のためのすべての多角形の形状がこの答えを更新することがあります。
出典
2016-04-20 13:30:28
Tom
SVGにはテキストが自動的に配置されていないので、javascriptまたはjavascriptライブラリでこれを行う必要があります。テキストを必要な長さに分割し、必要に応じて配置します。特定の問題が何であるかについて詳しく説明していないため、広すぎます。あるいは、テキストラッピングを組み込んだHTMLでこれを行います。 –
これがうまくいくかどうかはわかりませんが、文字のパスにクリップパスを定義してその中にたくさんのテキストを入れたらどうでしょうか? –
@BramVanroyあなたは、おそらくテキストが適切にラップされるようにする必要があります。クリップパスはものをカットするだけです。 –