跨浏览器输入按钮的高度和宽度

3
body #wrapper .button {
  background: #00b1ff; /* Old browsers */
  background: -moz-linear-gradient(top,  #00b1ff 0%, #006aff 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00b1ff), color-stop(100%,#006aff)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #00b1ff 0%,#006aff 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #00b1ff 0%,#006aff 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #00b1ff 0%,#006aff 100%); /* IE10+ */
  background: linear-gradient(top,  #00b1ff 0%,#006aff 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b1ff', endColorstr='#006aff',GradientType=0 ); /* IE6-9 */
  height: 45px;
  width: 118px;
  color: white;
  font-size: 20px;
  font-weight: bold;
  margin-left: 10px;
  text-align: center;
  text-shadow: 0px -1px 0px #223847;
  cursor: pointer;
}

这似乎会导致在不同浏览器中高度/宽度存在一些差异。有没有什么建议可以在不同浏览器中获得像素完美的高度/宽度?渐变似乎没问题,如果在旧浏览器中退化为纯色,那也无妨。


你是否在使用重置CSS(reset CSS)?如果没有的话,建议使用一个。 - Oded
是的,我正在使用重置CSS,非常类似于meyerweb上的那个。我也尝试过那个,但没有成功。 - Lukasz
我可以确认大多数重置都不能解决这个问题。我希望在建议使用reset.css之前测试它的人能够对此有答案。 - Frug
3个回答

0

浏览器厂商经常添加特定的样式。像边框、轮廓、填充和边距在不同的浏览器之间是不同的。您可以使用“重置CSS”将所有内容恢复为默认值,或者至少是已知的某些内容。

另请参阅。


0

尝试添加填充、边框宽度、盒模型和字体系列。所有这些都可能影响整体宽度和高度,而浏览器可能具有不同的默认值。


0

首先,我建议使用Eric Meyer的CSS重置http://meyerweb.com/eric/tools/css/reset/

其次,如果您计划使您的按钮可再分发,请首先删除无意义的父选择器(将.button保留为独立的,以便稍后可以使用它)。为了进一步开发和良好实践,尝试创建一个默认按钮,具有核心属性和一些基本颜色,这样您可以稍后添加仅具有不同颜色变体的新类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接