css如何把图片设置成梯形,如何用css创建流体梯形图像?

更新答案(纯CSS3)

极端的需求有时需要极端的解决方案我已经建立在我的原始答案(下面),使一个纯粹的CSS解决方案(并可以做得更好,如果你想投入时间). current example在渲染中有点“笨拙”,对你来说可能还是可以的,但如果没有,你需要延长the already obscene number of @media queries的速度(这可能会比LESS或SASS更容易实现;我把它放在一起公式驱动excel电子表格,以帮助快速生成数字).它使用这个代码:

HTML

yourImage.jpg

CSS

.Box{

height:300px;

min-width: 100px; /*could be different,but you ought to have some min*/

overflow:hidden;

}

.Box img {

height: 100%;

width: 100%;

-ms-transform-origin: 100% 100%; /* IE 9 */

-webkit-transform-origin: 100% 100%; /* Safari and Chrome */

-moz-transform-origin: 100% 100%; /* Firefox */

-o-transform-origin: 100% 100%; /* Opera */

transform-origin: 100% 100%;

}

/*Sample... you need alot of these--my fiddle example has 51*/

@media screen and (min-width: 100px) {

.Box {

-ms-transform:skewY(45deg);

-moz-transform:skewY(45deg);

-webkit-transform:skewY(45deg);

-o-transform:skewY(45deg);

transform:skewY(45deg);

}

.Box img {

-ms-transform:skewY(-90deg);

-moz-transform:skewY(-90deg);

-webkit-transform:skewY(-90deg);

-o-transform:skewY(-90deg);

transform:skewY(-90deg);

}

}

以下是计算度数的方法

假设高度:300px,窄边大约100px高,梯形上的角度相等.这意味着上下偏移量为(300px – 100px)/ 2 = 100px.然后根据以下公式将.Box角度设置为@media查询最小宽度量:

Angle = arctan(100/min-width) /*100 is the upper/lower offset as above*/

对于.Box img角度取角度乘以-2.所以这将产生您的.Box和.Box img媒体查询和转换为这个伪代码:

@media screen and (min-width: [your target min-width]) {

.Box {transform: skewY(Angle)}

.Box img {transform: skewY(-2*Angle)}

}

它的功能如何顺利完全取决于微尺度如何使您的最小宽度更改以获得新的角度设置.正如我在上面的CSS代码的评论中所说,我的例子使用51个媒体查询调用,并且仍然有一些困难.

使用某些JavaScript解决方案可能会更好吗?可能,但这完全取决于设计师,所以我在这里提供纯粹的概念证明,可以使用纯css.

原始答案

This seems to be achieving a fluid width.我不知道你想要显示多少或部分图像有多少控制,所以它可能不完全符合你的需要,但它确实使用变换形成灵活的宽度图像来给它一个假的透视看.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值