js-*_*der 9 css rendering padding width
我正在用<button>
一个表格发帖子.我的样式也a.button
完全像<button>
(我需要a.button
制作一些JS的东西).
按钮有一些填充,固定高度.当我指定按钮/ a的宽度时,它们看起来都一样.但是当我向<button>
它添加宽度时忽略了填充.
我在Chrome,Firefox和Opera中遇到此问题,所以我猜这不是渲染错误.也是同样的问题<input type="submit" />
这是基本的CSS:
.button, button {
margin: 0;
display: inline-block;
border: 0;
text-decoration: none;
cursor: pointer;
color: black;
background: #ddd;
font: 12px Verdana;
padding: 40px; /* 40px, so you can see that it won't be rendered with width */
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<a href="#" class="button">Some text</a>
<button>Some text</button>
<!-- Works fine till here -->
<br /><br />
<a href="#" class="button" style="width:200px">Some text</a>
<button style="width:200px">Some text</button>
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/9dtnz/
有什么建议浏览器忽略填充?(使用高度时的顶部和底部/使用宽度时的左右).
Mat*_*Cat 21
非常奇怪,我已经看到我的Chrome有一个box-sizing: border-box;
输入元素的规则,所以填充包含在宽度...
所以要避免那只是指定box-sizing: content-box;
(可能需要一些前缀).