Result
円の中にテキストが自動で収まるようになっています
円はradial-gradient
を、回り込みはshape-outside
を用いますので、まだ実用向けとは言えません
css
.quote-wrapper {/*親*/ width: 300px; height: 300px; position: relative; margin: 10vh auto 0; } .text { width: 100%; height: 100%; /*円形グラデーション*/ background: radial-gradient( ellipse at center, rgba(0, 128, 172, 1) 0%, rgba(0, 128, 172, 1) 70%, rgba(0, 128, 172, 0) 70.3% ); position: relative; margin: 0; color: white; } .text p {/*中のテキスト*/ height: 100%; line-height: 1.25; padding: 0; text-align: center; font-style: italic; text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.3); } /*疑似要素で回り込み指定*/ .text::before { content: ""; width: 50%; height: 100%; float: left; shape-outside: polygon( 0 0, 98% 0, 50% 6%, 23.4% 17.3%, 6% 32.6%, 0 50%, 6% 65.6%, 23.4% 82.7%, 50% 94%, 98% 100%, 0 100% ); shape-margin: 7%; } .text p::before { content: ""; width: 50%; height: 100%; float: right; shape-outside: polygon( 2% 0%, 100% 0%, 100% 100%, 2% 100%, 50% 94%, 76.6% 82.7%, 94% 65.6%, 100% 50%, 94% 32.6%, 76.6% 17.3%, 50% 6% ); shape-margin: 7%; } .quote-wrapper blockquote footer { width: 100%; position: absolute; bottom: 25px; font-size: 13px; text-align: center; font-style: italic; text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.3); } .quote-wrapper::before {/*引用符*/ content: "\201C"; font-size: 270px; height: 82px; line-height: 0.78; line-height: 1; position: absolute; top: -48px; left: 0; z-index: 1; font-family: sans-serif, serif; color: #ccc; opacity: 0.9; }
html
<div class="quote-wrapper"> <blockquote class="text" cite=""> <p>本文</p> <footer>– 引用元とか</footer> </blockquote> </div>
can i use
現段階でのブラウザ対応状況です。今後の動きにご注意ください