CSS: lighten an element on hover

后端 未结 7 1921
刺人心
刺人心 2021-01-30 12:41

Assuming an element is at 100% saturation, opacity, etc... how can I have its background become slightly lighter when it is hovered?

The use case is tha

7条回答
  •  滥情空心
    2021-01-30 13:25

    I would use a :after pseudo-element instead of a conventional background. It's supported in IE8, where rgba() isn't.

    HTML:

    Lorem ipsem gimme a dollar!

    CSS:

    .hoverme {
        position: relative;
    }
    .hoverme:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        background-color: #fff;
        z-index: -1;
    }
    
    .hoverme:hover:after {
        background-color: #ffffd;
    }
    

    or something like that.

    http://caniuse.com/#search=%3Aafter

    For a smoother result, add a CSS3 transition:

    .hoverme:after {
      -webkit-transition: all 0.3s ease-out;  /* Chrome 1-25, Safari 3.2+ */
         -moz-transition: all 0.3s ease-out;  /* Firefox 4-15 */
           -o-transition: all 0.3s ease-out;  /* Opera 10.50–12.00 */
              transition: all 0.3s ease-out;  /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */
    }
    

    The previous snippet was copied and pasted from http://css3please.com

    http://jsfiddle.net/ghodmode/6sE9E/

提交回复
热议问题