有什么方法可以删除活动表单中"提交"按钮周围的IE黑色边框?
我正在实现一个使用自定义样式的提交按钮的设计。它们是浅灰色的按钮,外部边框略深:
input.button { background: #eee; border: 1px solid #ccc; }
在Firefox,Safari和Opera中,这看起来恰到好处。问题出在Internet Explorer 6和7上。
由于表单是页面上的第一个表单,因此它被视为主要表单,因此一开始就处于活动状态。活动表单中的第一个提交按钮在IE中收到一个纯黑色边框,以将其标记为主要动作。
如果我关闭边框,则IE中的黑色多余边框也会消失。我正在寻找一种方法来保持我的正常边框,但删除轮廓。
解决方案
是的,这是一个丑陋的解决方法,我们可以权衡一下...将按钮放在<span>
中,在按钮的边框上核对,然后将边框赋予跨度。
IE对于表单元素页边距有些不满意,因此可能无法正常工作。在此方面,也许给跨度与按钮相同的背景可能会有所帮助。
span.button { background: #eee; border: 1px solid #ccc; } span.button input { background: #eee; border:0; }
和
<span class="button"><input type="button" name="..." value="Button"/></span>
一种骇人听闻的解决方案可能是使用像这样的标记:
<button><span>Go</span></button>
并将边框样式应用于span元素。
我发现最好的解决方案是将边框移动到包装元素,如下所示:
<div class='submit_button'><input type="submit" class="button"></div>
使用此CSS:
.submit_button { width: 150px; border: 1px solid #ccc; } .submit_button .button { width: 150px; border: none; }
该解决方案的主要问题是按钮现在是一个块元素,并且需要固定宽度。我们可以使用inline-block,但Firefox2不支持它。
任何更好的解决方案都欢迎。
好吧,这在这里工作:
<html> <head> <style type="text/css"> span.button { background: #eee; border: 1px solid #ccc; } span.button input { background:none; border:0; margin:0; padding:0; } </style> </head> <body> <span class="button"><input type="button" name="..." value="Button"/></span> </body> </html>
如果我们不想在输入/按钮上添加包装器,请尝试执行此操作。由于这是无效的CSS,因此只能将其用于IE。具有其他浏览器的边框,但对于IE使用filter:chroma ...
<!--[if IE]> <style type="text/css"> input { filter:chroma(color=#000000); border:none; } </style> <![endif]-->
为我工作。
我认为
滤镜:色度(颜色=#000000);因为在某些班级可以申请,所以这是最好的选择。否则,我们将不得不在每个按钮上加上一个额外的标签,这就是我们当然要使用的类。
.buttonStyle {
滤镜:色度(颜色=#000000);
背景颜色:#E5813C固体;
BORDER-BOTTOM:#cccccc 1px实心;
边界左:#cccccc 1像素实线;
右边界:#cccccc 1像素实线;
边界顶部:#cccccc 1像素实线;颜色:#FF9900;
字体家族:Verdana,Arial,Helvetica和sans-serif;
字体大小:10px;字体重量:粗体;
文字装饰:无;
}
为我做到了!
添加* border:none
这会删除IE6和IE7的边框,但保留其他浏览器的边框
通过滑动门技术,在"按钮"内部使用两个"跨度"。并消除IE覆盖中"按钮"上的所有格式。
<button><span class="open">Search<span class="close"></span></span></button>
我在另一个论坛上找到了适合我的答案。它删除了ie6和ie7中不需要的黑色边框。我们中的某些/很多人可能没有将input =" submit"放在表单标签中。不要忽视这一点。在尝试了所有其他方法之后,它对我有用。
如果我们使用的是提交按钮,请确保它在表单中,而不仅仅是字段集:
<form><fieldset><input type="submit"></fieldset></form>
我知道我已经晚了将近2年,但是我找到了另一个解决方案(至少对于IE7)。
如果我们在表单中添加其他" input type =" submit"`,然后再在表单中的其他任何"提交"按钮之前,问题将消失。现在,我们只需要隐藏这个新的黑色边框吸收按钮即可。
这对我有用(溢出需要为"自动"):
<input type="submit" value="" style="height:0;overflow:auto;position:absolute;left:-9999px;" />
注意:我使用的是HTML5文档类型(<!doctype html>
)。
我遇到了这个问题,并通过在按钮周围使用div解决了该问题,将其显示为一个块,然后手动对其进行了定位。 IE和FF中按钮的边距太难以预测,并且他们俩都无法高兴。我的提交按钮必须与输入完美对齐,因此如果不将项目定位为块,它将无法正常工作。