Search code examples
htmlcssipad

CSS3 - How to "restore" ::-webkit-scrollbar property to the default scroll bar


Hi I'm using the next css code to style scroll bars in Safari and Chrome. And works really great but I´m facing the next issue, I would like te restore the default value, when I view the site on my ipad. I'm using @media css for achived this but, I don't know how to restore the defaults values.

@media screen and (min-width: 768px) and (max-width: 1024px) {  }



/*Scroll bar nav*/
::-webkit-scrollbar {
    width: 12px;
}

/* Track */
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background:#FFF;    
}

/* Handle */
::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: rgba(204,204,204,0.8); 
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}
::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(204,204,204,0.4); 
}

Solution

  • UPDATE 2022

    I answered this almost 10 years ago and seems like after 2021 this solution stop working, read the solution from @Volomike, it might get you where you want to.


    I just realized you can set all the properties in auto; and will do the trick. This is a self answer but I guess someday someone can have the same question.

    /*Scroll bar nav*/
    ::-webkit-scrollbar {
        width: auto;
    }
    
    /* Track */
    ::-webkit-scrollbar-track {
        -webkit-box-shadow: auto; 
        -webkit-border-radius: auto;
        border-radius: auto;
        background:auto;    
    }
    
    /* Handle */
    ::-webkit-scrollbar-thumb {
        -webkit-border-radius:auto;
        border-radius:auto;
        background:auto; 
        -webkit-box-shadow:auto; 
    }
    ::-webkit-scrollbar-thumb:window-inactive {
        background: auto; 
    }
    

    I don't know if exist another method.

    -- UPDATE -- Look like you can also use the initial and unset value //reverting all the values

    ::-webkit-scrollbar {
        all:unset;
    }
    

    or apply to an specific one {width : unset} || {width : initial}

    NOTE: Using unset will not work on IE11