我意识到有很多圆形按钮问题,但我的需求非常具体,而且其他地方都没有回答。
这是我的要求:
绝对定位+客户端只会使我认为大多数圆角技术无法使用。
图像或无图像无关紧要(两种方式都可以)。允许使用JavaScript。
编辑:改变问题以反映实际问题:我认为我需要的一个HTML元素并不是真正的要求。
答案 0 :(得分:3)
IE不可能。这就是为什么你无法在其他地方找到它。你唯一能做的就是使用一个静态的背景图像,但它会拉伸不同的宽度。
答案 1 :(得分:1)
我最终使用了多个背景按钮。
CSS3可以处理该浏览器的多个背景,在IE中我使用DXTransform过滤器添加第二个图像(参见here)。使用的实际技术是一个非常标准的滑动门样式设置,有一些更改,以解释您无法将第二个图像放在IE中而不是在左上角。
对于FF 3.5及更低版本,我使用了border-radius,因为多个背景只有3.6。
悬停/活动图像工作正常,而且全部都是CSS,这是一个奖励。
答案 2 :(得分:0)
由于允许使用javascript(基于您的一条评论),我不知道它会如何受到重大影响:
input
div
个元素
input
的定位属性并将其复制到div
包装input
position: static
的定位
的CSS:
div.inputWrap:before,
div.inputWrap:after {content: ' '; display: inline-block; height: 20px; width: 10px; background: url(/yourRoundedLeftEndImg.png) top left no-repeat;}
div.inputWrap:after {background: url(yourRoundedRightEndImg.png);}
假设你的javascript给你这个html:
<div class="inputWrap"><input /></div>
你需要设置输入样式以摆脱边界等等(我还发现我在Firefox中的测试要求我设置vertical-align: top
,但不确定是否有必要。对于IE6-7,你实际上必须在input
之前和之后添加额外的div,因为它们无法识别:before
和:after
伪类。