Tym*_*mek 17 css css3 css-shapes
将文本在斜线上对齐是否可行?它的对齐应遵循倾斜的倾斜图像以及IE9 +所需的支持?
我的示例代码:
img {
display: block;
float: left;
transform: rotate(-5deg);
margin: 0 15px;
}
Run Code Online (Sandbox Code Playgroud)
<div>
<img src="http://placehold.it/150x250&text=img" alt="image" />
<p>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, paragraph.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
Tym*_*mek 18
你们让我想到了更多的东西,所以我出来了我自己丑陋的解决方案.我的想法是添加一堆额外的方形元素并计算它的大小:
.loop(@i) when (@i > 0){
.loop((@i - 1));
.space@{i}{
width: floor(@i*@hSize/(1/tan(5deg)));
}
}
@hSize: 15px;
.space {
float: left;
clear: left;
width: @hSize;
height: @hSize;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<p>
<span class="space space1"></span>
<span class="space space2"></span>
<!-- (...) -->
<span class="space space11"></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, paragraph.
</p>
Run Code Online (Sandbox Code Playgroud)
@ chipChocolate.py,对我来说,原则问题是不要使用JavaScript.如果有人想根据我的解决方案编写JS/jQuery代码,那么欢迎你.之后请在这里分享.
web*_*iki 15
警告: 不应在实时项目中使用形状外部属性1.这个答案仅用于说明如何使用此属性实现所需的输出.
以下是使用shape-outside属性的示例(仅限现代webkit浏览器):
img {
display: block;
float: left;
transform: rotate(-5deg);
margin: 0 20px;
-webkit-shape-outside: polygon(0 3%, 85% -3%, 100% 97%, 15% 103%);
shape-outside: polygon(0 3%, 85% -3%, 100% 97%, 15% 103%);
}
Run Code Online (Sandbox Code Playgroud)
<div>
<img src="http://placehold.it/150x250&text=img" alt="image" />
<p>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,
paragraph.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
1 的CSS形状模块等级1实际上(MAI 2016)具有"候选推荐"的状态.因为这意味着它正在进行中,它可能随时发生变化,因此不应用于测试之外.
可以使用shape-inside
属性实现相同的布局,并为文本指定一个包含框,但我知道今天没有支持此属性的浏览器.
有关跨浏览器的方法,请参阅Tymek的答案.
img {
display: block;
float: left;
transform: rotate(-5deg);
margin: 0 15px;
}
p {
transform: skew(6deg);
font-style: italic;
}
Run Code Online (Sandbox Code Playgroud)
<div>
<img src="http://placehold.it/150x250&text=img" alt="image" />
<p>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,
paragraph.</p>
</div>
Run Code Online (Sandbox Code Playgroud)