我有一个按钮,我想给出被按下的外观,除了视觉方面,我想将按钮一直缩小 1px,并保持其位置。
我对此进行了多次尝试,但似乎无法理解。
有人帮忙吗?
在这里,我制作了一个按钮,它可以提供Press效果,并且它会在不移动的情况下缩小一个像素。
HTML:
<input type="button" class="demo" value="Press Me" />
CSS:
.demo {
background: #f5f5f5; /* Old browsers */
background: -moz-linear-gradient(top, #f5f5f5 0%, #dddddd 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#dddddd)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #f5f5f5 0%,#dddddd 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #f5f5f5 0%,#dddddd 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #f5f5f5 0%,#dddddd 100%); /* IE10+ */
background: linear-gradient(to bottom, #f5f5f5 0%,#dddddd 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#dddddd',GradientType=0 ); /* IE6-9 */
border: 1px solid #dddddd;
padding: 5px;
font-size: 18px;
margin: 20px;
cursor: pointer;
}
.demo:active {
background: #dddddd; /* Old browsers */
background: -moz-linear-gradient(top, #dddddd 0%, #f5f5f5 99%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dddddd), color-stop(99%,#f5f5f5)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #dddddd 0%,#f5f5f5 99%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #dddddd 0%,#f5f5f5 99%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #dddddd 0%,#f5f5f5 99%); /* IE10+ */
background: linear-gradient(to bottom, #dddddd 0%,#f5f5f5 99%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#f5f5f5',GradientType=0 ); /* IE6-9 */
border: 1px solid transparent;
}
</p>
我认为对于“按下”效果,您可能想要更改填充而不是大小!
像这样:
.MyButton {
margin:10px 10px;
line-height:14px;
font-size:14px;
text-align:center;
padding:3px 5px;
}
.MyButton:active {
padding:3px 4px 3px 6px;
}
这里有一个jsfiddle。我认为更改填充看起来比调整按钮大小更好,更不用说如果您调整按钮大小,您还可能会更改其周围元素的位置,这在页面上看起来很奇怪。