Der richtigste Weg, den ich finden könnte, dies zu tun Wenn Sie nur reines CSS verwenden, verwenden Sie die Eigenschaft shape-inside
mit Polygonen oder eine URL für eine transparente PNG-Maske als Wert. Gegenwärtig scheint shape-outside
jedoch mehr unterstützt zu werden, was Ihren spezifischen Bedürfnissen nicht helfen wird (möglicherweise könnten Sie mit diesem Ansatz negative Leerzeichen machen). Dies ist aufgrund shape-outside
Chaos mit dem gesamten HTML-Layout weniger als Shape-Inside-- Nun zumindest auf dem Chrom-Projekt im Jahr 2014 (https://bugs.chromium.org/p/chromium/issues/detail?id=356778). Auschecken caniuse.com zeigt Unterstützung für Shape-Inside zeigt einige Unterstützung (meist Chrome, Safari und Opera-- mit einigen erfordern Präfix: http://caniuse.com/#search=shape-inside), aber ich konnte es nicht funktioniert sowohl in meiner Chrome und Chromium-Installationen, aktuelle Versionen Unter Windows ist es schwierig, eine Demo zu erstellen - es scheint, als hätte es 2014 funktioniert, da es eine Menge Demos aus diesem Zeitraum gibt.
Theoretisch könnten Sie die shape-inside
Eigenschaft mit einem Wert von verwenden: 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*/
und es auf Blockebene Elementselektoreinrichtung. Wenn Sie es vorziehen, die t-Form oben mit festen Einheiten arbeiten könnte stattdessen sein 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)
mit den verschiedenen Buchstabenformen Coming up wird sehr mühsam, wenn Sie ein Tool verwenden, um Polygone zu zeichnen, wie zum Beispiel: http://betravis.github.io/shape-tools/polygon-drawing/ und tun Innere Regionen Buchstaben wie die negativen Leerzeichen in Buchstaben wie A und B können auch die Verwendung eines anderen shape-inside
oder shape-outside
im Tandem erfordern. Wenn du faul sein wolltest, könntest du den inneren Leerraum in den Buchstaben ignorieren und es wäre wahrscheinlich immer noch lesbar. Sie benötigen mindestens 52 (26 * 2) Klassen, um Groß- und Kleinbuchstaben ohne Interpunktion zu unterstützen. Ich kann diese Antwort alle Polygonformen für Briefe später abhängig von meinen Zeitbeschränkungen aktualisieren.
SVG hat keine automatische Textpositionierung, Sie müssen dies mit Javascript oder einer Javascript-Bibliothek tun. Teilen Sie den Text in die benötigten Längen auf und positionieren Sie sie nach Bedarf. Zu breit, da Sie keine Details zu Ihrem spezifischen Problem angegeben haben. Alternativ können Sie es in HTML verwenden, das Textumbruch eingebaut hat. –
Nicht sicher, ob das funktionieren würde, aber was ist, wenn Sie einen Clip-Pfad in einem Pfad des Buchstabens definieren und eine ganze Menge Text darin einfügen? –
@BramVanroy müssen Sie sicherstellen, dass der Text entsprechend passend verpackt. Ein Clip-Pfad würde einfach Sachen abschneiden. –