非矩形形状(五边形或六边形)内的文字

Mar*_*son 5 html css css3 css-shapes

我想要实现的效果:

五角大楼中的文字

非常相似的问题:

潜在解决方案


与2015年Novemeber一样 - 我们能做得更好吗?

我设法找到关于CSS形状的这篇文章 - http://www.chenhuijing.com/blog/why-you-should-be-excited-about-css-shapes/ - 但他们尚未准备好黄金时间 - http ://caniuse.com/#feat=css-shapes - 没有IE,没有Edge,没有Firefox ......

web*_*iki 5

考虑到您要实现的形状shape-in​​side属性将提供一种解决方案,但不幸的是,我所知没有浏览器支持该解决方案。

另一种方法是使用shape-outside属性,当前仅现代Webkit浏览器支持该属性

p{
    width:400px; height:400px;
    text-align:justify;
    overflow:hidden;
}

span:before, span:after {
  content:'';
}
span:before{
    float:left;
    width:200px; height:400px;
    -webkit-shape-outside: polygon(100% 0%, 0% 40%, 50% 100%, 0 100%, 0 0%);
    shape-outside: polygon(100% 0%, 0% 40%, 50% 100%, 0 100%, 0 0%);
}
span:after{
    float:right;
    width:200px; height:400px;
    -webkit-shape-outside: polygon(0 0%, 100% 0%, 100% 100%, 50% 100%, 100% 40%);
    shape-outside: polygon(0 0%, 100% 0%, 100% 100%, 50% 100%, 100% 40%);
}
Run Code Online (Sandbox Code Playgroud)
<p><span></span>Lorem ipsum dolor sit amet. Vestibulum commodo volutpat a, convallis ac, laoreet enim. Phasellus fermentum in, dolor. Pellentesque facilisis. Nulla imperdiet sit amet magna. Vestibulum dapibus, mauris nec malesuada fames ac turpis velit, rhoncus eu, luctus et interdum adipiscing wisi. Aliquam erat ac ipsum. Integer aliquam purus. Quisque lorem tortor fringilla sed, vestibulum id, eleifend justo vel bibendum sapien massa ac turpis faucibus orci luctus non, consectetuer lobortis quis, varius in,sapien massa ac turpis faucibus orci luctus non, consectetuer lobortis quis, varius in, lobortis quis, varius in,sapien massa ac turpis faucibus orci luctus non, consectetuer lobortis quis, varius in, lobortis quis, varius in,sapien massa ac turpis faucibus orci luctus non, consectetuer lobortis quis, varius in, lobortis quis, varius in,sapien massa ac turpis faucibus orci luctus non, consectetuer lobortis quis, varius in</p>
Run Code Online (Sandbox Code Playgroud)

有关浏览器的支持,请参见canIuse