Html 右下角倾斜的CSS按钮

Html 右下角倾斜的CSS按钮,html,css,Html,Css,我试图实现一个矩形按钮,右下角有一个透明的遮罩,如下图所示: 正如你所看到的,我是用一种非常简单的方法实现的。我还没有测试过这个跨浏览器,我怀疑IE在没有为:after等添加垫片的情况下会把它搞砸 如何实现这种跨浏览器的现代化?当我将其叠加到图像上时,如何使其有效透明?(见下图) 从PSD: 我的小提琴在图像上: 逻辑上我知道IE6/7需要一个图像,我对此很好 字长。有时按钮没有“阅读更多”,因此需要100%宽度的解决方案 编辑 我正在考虑用雪碧。()利用它。。。。。我想这会对你有帮助。。

我试图实现一个矩形按钮,右下角有一个透明的遮罩,如下图所示:

正如你所看到的,我是用一种非常简单的方法实现的。我还没有测试过这个跨浏览器,我怀疑IE在没有为:after等添加垫片的情况下会把它搞砸

如何实现这种跨浏览器的现代化?当我将其叠加到图像上时,如何使其有效透明?(见下图)

从PSD:

我的小提琴在图像上:

逻辑上我知道IE6/7需要一个图像,我对此很好

字长。有时按钮没有“阅读更多”,因此需要100%宽度的解决方案

编辑


我正在考虑用雪碧。()

利用它。。。。。我想这会对你有帮助。。与你的形象一起使用。。这将解决跨浏览器问题


利用它。。。。。我想这会对你有帮助。。与你的形象一起使用。。这将解决跨浏览器问题


这是一个棘手的问题,特别是当你把渐变和斜角结合起来的时候。我能得到的最接近的是,它利用CSS渐变来实现你想要的效果,基于LeaVerou的

相关的CSS是:

.button {    
    background: #ffa13e; /* fallback */
    background: -webkit-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -moz-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -o-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: linear-gradient(315deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
}
这是让背景图像显示出来的唯一方法(据我所知)。缺点是渐变不是从上到下的线性渐变,而是一个角度。我认为不可能结合多个渐变来精确匹配您的视觉效果。但这非常接近:

我认为这是渐进式增强的完美候选——旧版IE会有纯色背景,但这是完全可以接受的(即,我个人不会费心尝试图像回退)

注意:工作草案和候选建议之间对渐变语法进行了大量更改,其中之一是渐变角度:


从。因此,非固定版本需要不同的
deg
值。

这是一个棘手的问题,尤其是在渐变与斜角的组合中。我能得到的最接近的是,它利用CSS渐变来实现你想要的效果,基于LeaVerou的

相关的CSS是:

.button {    
    background: #ffa13e; /* fallback */
    background: -webkit-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -moz-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -o-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: linear-gradient(315deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
}
这是让背景图像显示出来的唯一方法(据我所知)。缺点是渐变不是从上到下的线性渐变,而是一个角度。我认为不可能结合多个渐变来精确匹配您的视觉效果。但这非常接近:

我认为这是渐进式增强的完美候选——旧版IE会有纯色背景,但这是完全可以接受的(即,我个人不会费心尝试图像回退)

注意:工作草案和候选建议之间对渐变语法进行了大量更改,其中之一是渐变角度:


从。因此,非固定版本需要不同的
deg
值。

如果要在旧浏览器中使用图像,为什么不在现代浏览器中使用相同的解决方案呢?我同意。如果在旧浏览器中使用图像,那么在标准浏览器中也会使用相同的图像。否则,我不确定IE6-7是否喜欢CSS3图像覆盖。文字的长度并不总是相同的。我很高兴我不是唯一一个认为这很难的人。如果你想在旧浏览器上使用图像,为什么不在现代浏览器上使用相同的解决方案呢?我同意。如果在旧浏览器中使用图像,那么在标准浏览器中也会使用相同的图像。否则,我不确定IE6-7是否喜欢CSS3图像覆盖。文字的长度并不总是相同的。我很高兴我不是唯一一个认为这很难的人。嗨,小提琴不错。但请看我对灵活宽度的需求:)也许是我的雪碧?我找不到你。。你想让我用你这样的形象来做吗。。。如果我们发送png图像。。。你贴在上面的是这样的:-如果我使用精灵,它不会水平重复。(小的1px的东西)。这根本没有解决透明度/背景图像的问题。嗨,好小提琴。但请看我对灵活宽度的需求:)也许是我的雪碧?我找不到你。。你想让我用你这样的形象来做吗。。。如果我们发送png图像。。。你贴在上面的是这样的:-如果我使用精灵,它不会水平重复。(小1px的东西)。这根本没有解决透明度/背景图像的问题。好吧,我刚刚学到了很多:)谢谢,伙计,回答得好+身体背景10点小猫点数。没问题——这是一个有趣的尝试。如果可以的话,我总是会用一只小猫来说明一点:)好吧,我刚刚学到了很多:)谢谢,老兄,回答得好+身体背景10点小猫点数。没问题——这是一个有趣的尝试。如果可以的话,我会用一只小猫来说明一点:)
.button {    
    background: #ffa13e; /* fallback */
    background: -webkit-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -moz-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: -o-linear-gradient(135deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
    background: linear-gradient(315deg, transparent 10px, #ff7805 10px, #ffa13e 100%);
}