21

I have created a CSS style class:

.btn { 
  color:#050; 
  font: bold 84% 'trebuchet ms',helvetica,sans-serif; 
  background-color:#fed; 
  border:1px solid; 
  border-color: #696 #363 #363 #696; 
} 

How can I apply this CSS style class to all buttons which are present in the page without adding class="btn" to every button?

BalusC
  • 1,040,783
  • 362
  • 3,548
  • 3,513
ashu
  • 211
  • 1
  • 2
  • 3

5 Answers5

39

If your buttons are <input type="button"> or submit, then this should do it:

input[type="button"], input[type="submit"] { 
    color:#050; 
    font: bold 84% 'trebuchet ms',helvetica,sans-serif; 
    background-color:#fed; 
    border:1px solid; 
    border-color: #696 #363 #363 #696; 
} 

Otherwise, if your buttons are <button>:

button { 
    color:#050; 
    font: old 84% 'trebuchet ms',helvetica,sans-serif; 
    background-color:#fed; 
    border:1px solid; 
    border-color: #696 #363 #363 #696; 
}

To grab all three kinds of buttons:

button, input[type="button"], input[type="submit"] { 
    color:#050; 
    font: bold 84% 'trebuchet ms',helvetica,sans-serif; 
    background-color:#fed; 
    border:1px solid; 
    border-color: #696 #363 #363 #696; 
} 
Delan Azabani
  • 76,631
  • 25
  • 162
  • 208
8
button{ 
  color:#050; 
  font: bold 84% 'trebuchet ms',helvetica,sans-serif; 
  background-color:#fed; 
  border:1px solid; 
  border-color: #696 #363 #363 #696; 
} 

OR

input[type="button"]{ 
  color:#050; 
  font: bold 84% 'trebuchet ms',helvetica,sans-serif; 
  background-color:#fed; 
  border:1px solid; 
  border-color: #696 #363 #363 #696; 
} 
Aman
  • 4,526
  • 1
  • 15
  • 16
  • 2
    The second example is **not** CSS3. The attribute selector already exists in CSS2.1. It was only expanded in CSS3. http://www.w3.org/TR/CSS2/selector.html#attribute-selectors – Yi Jiang Aug 22 '10 at 06:04
  • IMO, this item deserves to be marked as the answer; IOW, I think it deserves a green check mark. – David A. Gray Jan 28 '16 at 02:19
3
input[type=submit], input[type=button], button {
   ...
}
Marc B
  • 348,685
  • 41
  • 398
  • 480
2

If you don't want to explicitly set all the styles, but want to use the styles already defined in some pre-existing class (for example the bootstrap btn-default class), you could do something like this:

<script>
$("button").addClass("btn-default");
</script>

In my case this was what I was looking for, although I'm sure there is some sort of caveat about doing it this way, or you'd expect it was something doable directly from CSS.

Josh Sutterfield
  • 1,872
  • 2
  • 15
  • 24
1

just a note

input[type="button"]

isn't going to work on old browsers like IE6. If that's a problem you will unfortunately need to add your class to each item.

Stuart Burrows
  • 10,814
  • 2
  • 32
  • 33