Change header background color of modal of twitter bootstrap

153,854

Solution 1

You can use the css below, put this in your custom css to override the bootstrap css.

.modal-header {
    padding:9px 15px;
    border-bottom:1px solid #eee;
    background-color: #0480be;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
     border-top-left-radius: 5px;
     border-top-right-radius: 5px;
 }

Solution 2

So, I tried these other ways, but there was a VERY slight irritant and that was if you keep the modal-content border radius, in FF and Chrome, there is a slight bit of white trim showing along the borders, even if you use 5px on the modal-header border radius. (standard modal-content border radius is 6px, so 5px on the modal-header border top radius covers some white).

My solution:

.modal-body
{
    background-color: #FFFFFF;
}

.modal-content
{
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    background-color: transparent;
}

.modal-footer
{
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    -webkit-border-bottom-left-radius: 6px;
    -webkit-border-bottom-right-radius: 6px;
    -moz-border-radius-bottomleft: 6px;
    -moz-border-radius-bottomright: 6px;
}

.modal-header
{
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    -webkit-border-top-left-radius: 6px;
    -webkit-border-top-right-radius: 6px;
    -moz-border-radius-topleft: 6px;
    -moz-border-radius-topright: 6px;
}

!! CAVEAT !!

You must then set the background colors of the modal-header, modal-content, and modal-footer. This is not bad trade-off, because it allows you to do this:

<div class="modal-header bg-primary">

<div class="modal-body bgColorWhite">

<div class="modal-footer bg-info">

EDIT

Or even better:

<div class="modal-header alert-primary">

Solution 3

The corners are actually in .modal-content

So you may try this:

.modal-content {
  background-color: #0480be;
}
.modal-body {
  background-color: #fff;
}

If you change the color of the header or footer, the rounded corners will be drawn over.

Solution 4

All i needed was:

.modal-header{
     background-color:#0f0;
}
.modal-content {
    overflow:hidden;
}

overflow: hidden to keep the color inside the border-radius

Solution 5

I myself wondered how I could change the color of the modal-header.

In my solution to the problem I attempted to follow in the path of how my interpretation of the Bootstrap vision was. I added marker classes to tell what the modal dialog box does.

modal-success, modal-info, modal-warning and modal-error tells what they do and you don't trap your self by suddenly having a color you can't use in every situation if you change some of the modal classes in bootstrap. Of course if you make your own theme you should change them.

.modal-success {
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#dff0d8), to(#c8e5bc));
  background-image: -webkit-linear-gradient(#dff0d8 0%, #c8e5bc 100%);
  background-image: -moz-linear-gradient(#dff0d8 0%, #c8e5bc 100%);
  background-image: -o-linear-gradient(#dff0d8 0%, #c8e5bc 100%);
  background-image: linear-gradient(#dff0d8 0%, #c8e5bc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',     endColorstr='#ffc8e5bc', GradientType=0);
  border-color: #b2dba1;
  border-radius: 6px 6px 0 0;
}

In my solution I actually just copied the styling from alert-success in bootstrap and added the border-radius to keep the rounded corners.

A plunk demonstration of my solution to this problem

Share:
153,854
Foysal Vai
Author by

Foysal Vai

Updated on July 09, 2022

Comments

  • Foysal Vai
    Foysal Vai almost 2 years

    I am trying to change the background color of modal header of twitter bootstrap using following css code.

    .modal-header
     {
         padding:9px 15px;
         border-bottom:1px solid #eee;
         background-color: #0480be;
     }
     .modal-header .close{margin-top:2px}
     .modal-header h3{margin:0;line-height:30px}
    

    But this code makes the corner of the modal header angular. Before using above code corners were round shaped. How can I get round shaped corner of modal header with the above background color ?? Thanks

  • new name
    new name over 9 years
    As noted below: (i) the bottom corners are 6px and the top corners are 5px because using 6px corners shows the modal-content background color, and (ii) even using 5px corners the modal-content background color still shows a little. Would be great to have a better solution.
  • new name
    new name over 9 years
    This only works if you want the header and footer backgrounds to have the same color.
  • Alvaro
    Alvaro about 9 years
    Yeah, I agree with @Kekito, not an ideal solution. I found it works better with 4px radius.
  • Oleg
    Oleg over 7 years
    Brilliant! What side effects have you discovered? :)
  • Iberê
    Iberê over 7 years
    @Oleg none that i can remember now. Have you noticed any for this solution?
  • Karl-Henry Martinsson
    Karl-Henry Martinsson almost 7 years
    Never edit the bootstrap CSS, you should override it with your own in a separate file.
  • hubert17
    hubert17 over 6 years
    Flawless! Thanks.
  • Herbert Yeo
    Herbert Yeo almost 4 years
    you can try gradient colors too, bg-gradient-primary, bg-gradient-succes, bg-gradient-info, etc.