CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何用css创建流体梯形图像?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在一个使用视差效应的网站上工作.因为有一些三角形的图像,像这样

&安培;图像是透明的,因为它与上面的DIV重叠.我正在尝试这么多东西与css.但没有得到预期的结果.我实现了固定宽度的期望结果.检查这个http://jsfiddle.net/eJ7Sf/2/,但不能使用流体宽度.检查我仍然尝试,但没有工作

http://jsfiddle.net/ceGGN/3/

http://jsfiddle.net/eJ7Sf/1/

注意:我知道css3 MASK属性,但它在Firefox Firefox以前的浏览器中不起作用.我想要的功能,直到firefox 3.6.13

解决方法

更新答案(纯CSS3)

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

HTML

<div class="box">
   <img src="yourImage.jpg" />
</div>@H_874_19@ 
 

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);
  }
}@H_874_19@ 
 

以下是计算度数的方法

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

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

对于.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)}
}@H_874_19@ 
 

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

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

原始答案

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

大佬总结

以上是大佬教程为你收集整理的如何用css创建流体梯形图像?全部内容,希望文章能够帮你解决如何用css创建流体梯形图像?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。