1

我在基本表单上的提交按钮有问题。单击时,该按钮会在 Firefox 中移动。该按钮略微向上移动几个像素。该页面可以在http://www.jmtalbott.com/contact.html查看。有人知道如何解决这个问题吗?

HTML

<form id="form" method="post" action="http://example.com/processform/">
<p>Name</p>
    <input type="text" name="name"/>
<p>Email Address</p>
    <input type="text" name="email"/>
<p>Message</p>
    <textarea name="comments" rows="15" cols="38"></textarea></p>
<p></p>
<input class="button" value="Send" type="submit"/>
</form> 

CSS

#form {
font-size: .8em;
margin: 0 auto;
padding: 10px 0px 40px 25px;
width: 385px;
height: 400px;
position: absolute;
top: 190px;
left: 290px;
box-shadow: -4px -6px 8px 2px rgba(225,229,232,.5),
            8px 6px 12px rgba(225,229,232,.5);
}
#form p {
padding: 15px 0 5px 0;
}
.button {
-moz-box-shadow:inset 0px 1px 0px 0px #bbdaf7;
-webkit-box-shadow:inset 0px 1px 0px 0px #bbdaf7;
box-shadow:inset 0px 1px 0px 0px #bbdaf7;
background:-webkit-gradient( linear, left top, left bottom, 
    color-stop(0.05,    #79bbff) color-stop(1, #378de5) );
background:-moz-linear-gradient( center top, #79bbff 5%, #378de5 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#79bbff',    endColorstr='#378de5');
background-color:#79bbff;
-moz-border-radius:6px;
-webkit-border-radius:6px; 
border:1px solid #84bbf3;
display:inline-block;
color:#ffffff;
font-family:Arial;
font-size:15px;
font-weight:bold;
padding:6px 24px;
text-decoration:none;
text-shadow:1px 1px 0px #528ecc;
position: absolute;
top: 470px;
left: 2px;
}
.button:hover {
background:-webkit-gradient( linear, left top, left bottom, 
    color-stop(0.05,  #378de5), color-stop(1, #79bbff) );
background:-moz-linear-gradient( center top, #378de5 5%, #79bbff 100% );
filter:progid:DXImageTransform.Microsoft.gradient
   (startColorstr='#378de5', endColorstr='#79bbff');
background-color:#378de5;
}
.button:active {
position:relative;
top:1px;
}
4

1 回答 1

2

问题是.button绝对定位在非悬停状态。

在 上button:hover,定位更改为相对,这完全改变了它的位置。

快速修复是删除以下内容:

.button:active {
   position:relative;
   top:1px;
 }

ps

写这篇文章比解决问题花了更长的时间......

于 2013-06-14T02:56:50.063 回答