4

I have following code

HTML

<div></div>

css

div {
    background: tomato;
    width: 100px;
    height: 100px;
    -webkit-animation: animateThis 0.3s ease-in;
    -webkit-animation-fill-mode: forwards;
}

@-webkit-keyframes animateThis {
    0% {
        width: 100px;
        height: 100px;
    }
    100% {
        width: 100%;
        height: 100%;

    }
}

DEMO

What i am trying to do is i want to scale up div's with and height to 100% to cover the whole browser. i dont know how to animate 100% height. I did a search on google. No luck found

It worked yesterday.
  • 4,507
  • 11
  • 46
  • 81

3 Answers3

4

You need to specifiy 100% of something..in this case, the html/body

* {
  margin: 0;
  padding: 0;
}
html,
body {
  height: 100%;
}
div {
  background: tomato;
  width: 100px;
  height: 100px;
  -webkit-animation: animateThis 1s ease-in;
  -webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes animateThis {
  0% {
    width: 100px;
    height: 100px;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
<div></div>
Paulie_D
  • 107,962
  • 13
  • 142
  • 161
1

You need to set the html and body tags to be 100% as well to trick the browser.

* {
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

div {
  background: tomato;
  width: 100px;
  height: 100px;
  -webkit-animation: animateThis 0.3s ease-in;
  -webkit-animation-fill-mode: forwards;
}

@-webkit-keyframes animateThis {
  0% {
    width: 100px;
    height: 100px;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
<div></div>
Stewartside
  • 20,378
  • 12
  • 60
  • 81
1
.mydiv {
    animation-name: test-animation;
    animation-duration: 1s;
}

@keyframes test-animation {
    from {
        width:0px;
    }

    to {
        width:calc( 100% - 1px );
    }
}

this is a good alternative, animating from 0px to almost 100% by using the calc() function that's gonna return almost the 100% width.

Mo Meski
  • 11
  • 2