我正在尝试使用以下html标记创建css按钮:
<a href="access.php" class="css_button_red">Forgot password</a>
但它最终并不比中间的文字大。尽管我已经设定了班级的高度和宽度。
你可以在这里预览问题顺便提一下,www.matkalenderen.no 注意第一个按钮,它是一个表单按钮,它正在使用它自己的类。起初我也尝试在css按钮上使用相同的类,并且出现了同样的问题,所以我尝试将它们分成自己的类。万一发生了某种崩溃。但无论如何它并不重要。
我在这里缺少什么?
答案 0 :(得分:45)
正如其他人所说,默认情况下<a>
是内联元素,内联元素不能指定宽度或高度。您可以将其更改为块元素,如下所示:
a {
display: block;
}
虽然它会显示(不出所料)作为一个块,坐在它自己的周围文本流之外。更好的解决方案是使用display: inline-block
,这可能是两全其美的解决方案,具体取决于您的情况。
请参阅PPK's writeup。
当您想要为内联元素指定宽度时,实际使用此值。在某些情况下,某些浏览器不允许实际内联元素的宽度,但如果切换到display:inline-block,则允许设置宽度。
答案 1 :(得分:8)
因为&lt; a&gt;是默认的内联元素。在CSS中定义a { display:block; }
,将应用高度和宽度设置。
当然,您可能不希望将所有锚标记声明为块级元素,因此根据需要按类或ID进行过滤。
答案 2 :(得分:5)
我认为最合适的解决方案是display: inline-block;
,它允许您为仍将被视为height
元素的元素设置inline
。