我正在尝试使用三个背景图像制作一个按钮,以便我们可以提取按钮文本的翻译并很好地扩展。我们可能会为 IE8 添加一个基本样式,但我们的设计师希望我们使用这种样式,而我们无法使用纯 CSS3 很好地重新创建它。
Here are the images:
这是 HTML(只是一个简单的按钮,但我想我应该把它放在上面:
<button class="back clickable" aria-label="Back" onclick="javascript:history.back();">Back</button>
我已经尝试过一些事情;我将粘贴这两次尝试的 CSS。
尝试 1:使用伪选择器
http://jsfiddle.net/c2B6X/ http://jsfiddle.net/c2B6X/
.back {
background: url("images/back-middle.png") 14px 0 repeat-x;
color: $white;
height: 28px;
padding: 5px;
&:before {
background: url("images/back-front.png") 0 0 no-repeat;
width: 14px;
}
&:after {
background: url("images/back-end.png") 100% 0 no-repeat;
width: 8px;
}
}
尝试 2:三background-image
s
http://jsfiddle.net/nPUQN/ http://jsfiddle.net/nPUQN/
.back {
background: none;
background-image: url("images/back-middle.png"), url("images/back-end.png"), url("images/back-front.png");
background-position: 14px 0, 100% 0, 0 0;
background-repeat: repeat-x, no-repeat, no-repeat;
border-right: 8px transparent;
border-left: 14px transparent;
color: $white;
height: 28px;
padding: 5px;
}
如果它看起来像非典型 CSS,那是因为我们使用的是 SASS。
有什么明显的我遗漏或做错的事情吗?任何有关如何开展这项工作的建议将不胜感激。
EDIT
由于我得到了很多“有效”的答案,因此我将标记在 Chrome、FF 和 IE9 中最有效的正确答案。
EDIT 2
我已经尝试了所有答案,但在 IE9 中都不起作用。我们必须支持 IE9(和 IE8,但我现在不会去那里)。我要开始赏金了。任何能够提供适用于 IE9、Firefox 和 Chrome 的答案的人都会得到它。