Question: are buttons inline or block?
Answer: Most browsers display button elements as inline-block by default, according to the (not normative) Appendix D. Default style sheet for HTML 4. Therefore, you could expect the width property to work, as described in Calculating widths and margins - Inline-block, non-replaced.