Vlastimil Lisák
Vlastimil Lisák

Reputation: 146

How to hide elements while preserving animations?

On my app when opened on some mobile phones, due to the virtual keyboard, the screen of the window gets too small, so two elements are blocking the text input, so the user can't see what he is typing.

Is there a way, to delete these two elements while preserving the animation? I tried display: none, but that disabled the animated transition, and opacity: 0, which interact with the touch of the user, that worked with the second one though, but the first one is still a problem.

EDIT: Here is minimal reproducible code for it.

function preventDefault(e) {
  e = e || window.event;
  if (e.preventDefault) {
    e.preventDefault();
  } else {
    e.returnValue = false;
  }
}

const hamburger = document.querySelector(".hamburger"),
      mainMenu = document.querySelector(".main-menu"),
      options = mainMenu.querySelector(".options").querySelectorAll("p");

hamburger.addEventListener("click", function() {
  mainMenu.classList.toggle("active");
  let text = mainMenu.querySelector("p");
  if(text.textContent == "MENU"){
    text.textContent = "ZAVŘÍT";
  } else {
    text.textContent = "MENU";
  }
});

options.forEach(link => {
  link.addEventListener("click", function() {
    mainMenu.classList.remove("active");
    mainMenu.querySelector("p").textContent = "MENU";
  });
});

fulfillSetButton.addEventListener("click", function() {
  document.getElementsByClassName("completion-date")[0].classList.add("active");
})

document.getElementsByClassName("completion-date")[0].lastElementChild.addEventListener(
  "click", function () {
    preventDefault();
    document.getElementsByClassName("completion-date")[0].classList.remove("active");
  }
)
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

body {
  margin: 0;
  overflow-x: hidden;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

button,
input { /* 1 */
  overflow: visible;
}

button,
select { /* 1 */
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

* {

-webkit-tap-highlight-color: transparent;
}

button {

  cursor: pointer;
}

input {

  max-width: 100%;
}

ul {


}
/*-----------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');

html {

  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
}

h1 {

  font-size: 2.75rem;
}
/*----------------------------------------------------------------------*/

:root {
  --trans-left:#84fab0;
  --trans-right:#8fd3f4;
  --background: #fff;
  --color: #222;
}

body, button, input {
  color: var(--color);
  background: var(--background);
  transition: all 1s;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #000;
    --color: #fff;
  }
}

/* Stránka */

.page {
  display: none;
  margin-bottom: 5rem;
}

/* šablona na úkoly
      NEMAZAT */

.template {

  display: none;
}

section {

  width: 100vw;
}

input {

  box-shadow: inset 0 3px 7px -3px black;
  border: none;
  line-height: 2rem;
}

button {

  padding: 9px;
  border: none;
  box-shadow: 7px 7px 9px -10px var(--color), inset 0 0 15px -12px var(--color);
  border-radius: 6px;
}

.entry {

  display: flex;
  align-items: flex-end;
  height: 30vh;

  background-image: linear-gradient(120deg, var(--trans-left) 0%, var(--trans-right) 100%);
}

@media screen and (max-height: 660px) {

    .entry {

      height: 38vh;
    }
}

form {

  display: flex;
  flex-wrap: wrap;

  max-width: 36rem;

  justify-content: center;
  margin: 0 auto;
}

form > * {

  max-height: 100%;
}

form > div {

  display: flex;
}

form > input {

  margin: 0.5rem;
  box-shadow: inset 0px 3px 9px -4px #000000;
  border-radius: 6px;
}

.second-item {

  flex-wrap: wrap;
  justify-content: center;
}

.second-item > * {

  margin: 0.5rem;
  box-shadow: 4px 4px 8px -6px #000000, -4px -4px 10px -3px #FFFFFF;
  border-radius: 6px;
}

.dropdown-wrap > *:first-child {
  box-shadow: 4px 4px 8px -6px #000000, -4px -4px 10px -3px #FFFFFF;
border-radius: 6px;
}

.btn.dropdown {

  transition: 0.3s ease;
}

.btn.dropdown.low {

  background-color: #84fab0;
}

.btn.dropdown.high {

  background-color: #ffa0a0;
}

.dropdown-menu {

  z-index: 2;
  position: absolute;

  margin-top: 9px;

  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;

  background: #fff;
  box-shadow: 1px 1px 20px -9px black;
  border-radius: 9px;

  pointer-events: none;
  opacity: 0;

  transition: 0.3s ease;
}

.dropdown-menu > li {

  padding: 0.4rem;
  cursor: pointer;
}

.dropdown-menu.show {

  pointer-events: all;
  opacity: 1;
}

.completion-date {

  display: block;
    z-index: 10;
    position: fixed;
    top: -100%;
    left: calc(50% - 121px);
    min-width: max-content;
    padding: 1rem;
    border-radius: 0.5rem;
    background: var(--background);
    text-align: center;
    box-shadow: 0 0 18px -6px var(--color);
    transition: 0.3s;
}

.completion-date.active {

  top: calc(50% - 264px);
}

.completion-date div {

    margin: 0.5rem;
}

.completion-date input,
.completion-date button {

    margin: auto 0;
}

.completion-date input {

  width: 2rem;
  text-align: center;
}

.completion-date div > button {

  width: 1.5rem;
  margin: auto 3px;
  box-shadow: none;
  font-weight: bold;
}

/* Hlavní menu */
.main-menu{
  z-index: 10;
  position: fixed;
  top: calc(100% - 4rem);
  width: 100%;
  height: 100vh;
  text-align: center;
  transition: 0.3s ease;
}

.main-menu.active {
  top: 0;
}

.main-menu > .hamburger {
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0.5rem 0;
  border-radius: 1rem 1rem 0 0;
  box-shadow: 0 0 8px -4px var(--color);
  background: var(--background);
  transition: 0.3s ease;
}

.main-menu > .hamburger > p {
  margin-block-start: 0;
  margin-block-end: 0;
}

.main-menu > .options {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: calc(100vh - 4rem);
  background: var(--background);
  box-sizing: border-box;
  padding: 1rem;
}

.main-menu > .options .item {
  display: flex;
  justify-content: center;
  flex-direction: row;
}

.main-menu > .options .item > p{
  font-size: 1.2rem;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.main-menu > .options .item > img{
  margin: 0 1rem;
  width: 1rem;
  height: 1rem;
  align-self: center;
}

.main-menu > .hamburger > .line {
  position: relative;
  background: var(--color);
  height: 3px;
  width: 2rem;
  margin: 9px auto;
  border-radius: 3px;
  top: inherit;
  bottom: inherit;
  opacity: 1;
  transition: 1s;
}

.main-menu.active >.hamburger {
  width: 100%;
}

.main-menu.active >.hamburger > .line {
  background: red;
}

.main-menu.active >.hamburger > .line.\31 {
  transform: rotate(45deg);
  top: 20%;
}

.main-menu.active >.hamburger > .line.\32 {
  opacity: 0;
}

.main-menu.active >.hamburger > .line.\33 {
  transform: rotate(-45deg);
  bottom: 20%;
}
<div class="main-menu">
      <div class="hamburger">
        <p style="padding-left: 6px">MENU</p>
        <div class="line 1"></div>
        <div class="line 2"></div>
        <div class="line 3"></div>
      </div>
      <div class="options">
        <div class="item">
          <p>Cíle</p>
          <img src="data:image/png;base64,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">
        </div>
        <div class="item">
          <p onclick="selectPage('tasks')">Úkoly</p>
          <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAAsCAYAAADfAxCtAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMISURBVHgB7ZrdjdpAFIWvvcCzO1iXQCqI6QAqCDzyp10qgK3AIEC8IMFWwKaCkAqWdOASeEA88JtziY28ZmwPUbQeR/4ky8ZcW3N2dubeM4NGf8FwOOxpmtbFZb/VanVIcbR7gmezmbHZbPoQ+O36Ak172+12tU6nsyZFyckGssDtdvsDoor+++fzuVwoFPiyQooiJXIymZgsEILMkJBVMP50OtmINyhhHh4eaheR3Kjj8TjDpYGblXq97nhBboNDBaJne81m88V/z32XRQqAtnd1TwT9aVQRDXwfj8eXf0k+8+cwgbquV4MCVYPbrgt6ycBnFjrDmcUbggfXEGg1Go1XSgE6GuyIvsD9KokFOofDoQSBPykl6Pv9vsJpQCbYE4h0sYoJjfv+M3GueXI0Gtk4PUcEr/gPAoEOxWDbtoG08oRLk5LFQQ4ffCgGMA676K2eIHjpClQ24UdxU/EIhM5RutUoxQjLOtSmZa5NccyRIgaUkZFuuFKilHCX1fLAmJ2z3eIxiym6o/qse7efdN2I326tgkW9auiyga7deg8IZIpsq0hhpP1klN0igZ9kuxUR/ylgODlSfpLtFgQuIvzkczCXen4S31HCmKF+kosBjsDZYrslEujararqxQK3PSfyk+iBBXrwjddvQh5csxtpt9squY1QovxkmEC2W18k7JYy6Ci+S2i4lMP3+UknJlRNPxlhszzYT5ZkEj/7SUxgZRxfKUEwFFfolFdZPzmHQOUrmzBu5nisEPDqgD+5p2IrIIooP/nEaz+Zn8zIyPjXhE08llfqcSWP8m1JKSaYJ4sQx+nD+hAEobx7lZa9jyD+iqcYtsHjwa5DRqiSftJlQRECGZRJfZRs3+MqH8X8pH1Z/vCPwRiMfD6faD16L7zbLb3G4yPxLfJ7uYjM5XKO9AO6Lh2rCheR7prOMi6Y/aTk5qtSfvI68cBK1dCj/BMWUxTpGWaSAO96waz2C8cjJQgmnfWNn8TMaWJiYU9peWJ5PYdXytHwgcwGbKqYTqePfNB/wG+AcgVeobDa0QAAAABJRU5ErkJggg==">
        </div>
        <div class="item">
          <p>Návyky</p>
          <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOySURBVHgBzVlbUuJAFL3E+PibzAoGd4ArMK5gmBUMfPqWFYgrAMvXZ5wV4A7EFcisQHYwmSrL8u2cQzVUzBD7kYCcqhACN53Tt2/37XtSkpw4OTmp4LSKo/L29sYjKJVK5YRJjKOH33ju4rja3NzsSQ6UxAFnZ2fl5+fnGojs4jIQS+C+Pk5dz/MO1tfX+2IJK9Ik+/LyEuFrKAUBHTg3JR9FUXB7e9s0Iq2M9/CAfZkQEFYH29vbzaz/j46OQnQugl1ZS5refX19vaSxTBgMGxBbS3sdhJtJh31Imr2DcUcc4jYHYjioDq9fZIVjJmmsCjXcHMkngbGO51dljMPGkj49Pa0iJDoyo/iPtBqSa5luSFjBT//ASSduhLsYzgtOpqWlpUHyeHh4+IrrL3BCBWcOdSgF4J2n07NUB5CMMdvbj4+Ph41GI9bZt1qt8vz8PNuvSQ6MSKuwuBFzdJ+enuog2xdLkLzv+5epdG+MUXggLGwSR3tra6shjgiCIL67u+u5rv0DT1t6ORfhZGYTR3j8MPUyHtTPSbiNkMidXYfhEZoYY2e3Jg5QW4EOt65SADzuhw17fu4y6QhM2BDPkKLA8Fg1McSDD8QROzs75wirFbSxDPJ7+ClfEQBPd1SO/whdPNQpNLKglr3viPEaLq3Cxmd5pDNCwxdSMFSoHfKw7YBvYoTGcg2nDrYdIGmtpzEaf2VKMOmAb9LQ4uLiH/kEZHXAiPQsINkBj1lOd8P9/X0hSaEoeEpE+RCuu7FJwTNZGQzW8amCGdFkOQsxEWam/CLpKxPDhYWFXZkRDPbTx8fHXNJ0nozn5uZWXLQ3HdQucN9UHhvspxHXbdEjUMJJ4VAKVo1nOHBPZz8gjcL0l5ghRKMtKRAsDIZbY3VuYRN3A+3lZ9Y9o8IWZCgdhGKGXCXXEKqSyZwrWYrqiLQq742r8Syx0AS2lQzJQ4ivD6+94RemSfzZFENwKFkMYygjkjC5h5IxtRUqWJalVz958U6s4VqMTcm1Ywbsct8ND/7GCFDEGWRa1JUVfP+mElQoluA2AwrqsmSRVsQZJjOh5VHBQqdX0rWplzakAYx/yGxgrILljbPEcHCo6/KJQEjVKKyP+0/3JqAK8kwoUwsVhgQyb3VjYyNze6F955JXLLQBJx0FIZ2+YvxKDkvbPhptyoTA5dZUMrZ6j1iUvpyCtWTs9MZ2SB6eD13CxlaMT8OJdBLUApFQVkGCel3ATIeOBAmCzLQxKyTY9WCX+934P6kqF5J/EORQAAAAAElFTkSuQmCC">
        </div>
        <div class="item">
          <p>Koncepty</p>
          <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJkSURBVHgB7VhbjtowFL0J4fGDmh00rKB0B+kK6Kxg+sEPD6mTFZRZQZB4/SDRJbQrgK5gWEJmB6mEkBCvnps6kRsh81FnJoxypOjasWMOtu/xvTboCsbj8dIwDAfFu16vtyaNmM1mzvF4fEIx6Pf7H1V9zWsDwbjn85ltizTjdDrdw9h4mvP5/L2qryFXFouFvdlsmBh/TKZpsvWjjobxA//+J2lEqVRq4bc+i/EfMP5vUQ4ty1p3Op3gH6KC4AAdvlK+MNzv94+e54UW17bbLe/DJuUPD+VymXl9MiaTyRdM/4LyDc8Eybwt9yW02OvzuORpuCbdCG6GqCWV16yVlCMIjY22ZkIUJNc4Ih8pR4AiOSAbES32qG7cpDNpg4gdEn1GgBHIAca19kvIZEYROzzBOZfxwzGn7/tRRMY23Y5wbxm3vyhREb/KsKvV6gcu1Go1O93O9Xq9/k41ZuFMupEV0aFcwdIGu93umcvCadK516rdbj8rxsvG65GoeTCeol2ZyF3C29FRnLdNyEuieUgNVrLmjUYjV/bidLsuKImytoHEUmSjEUA6xPsGJ1wiL2ctTL6BJgYwDdIM5dKz5tHfvFuGHWve4XBw0t9c0FAtKHRUN5REhVMMWQfjB/XvseZh6aOsQG5HfUAZ4KrXqzSRHQrmjl4AxR7VjYKobhREdeOmiLIWZnZG/w8kTiETjaNtdzqd3lNOwBfMMC6XcdqtDI4nOWWV+qxQD+gVIWbSjeu4x29EgSTYf0PjgHIIjh348i6JeBEMO5VKxUfgyzNs0ysCkxby7SIC9kG32/3F7/4AWEQfwl7E0RcAAAAASUVORK5CYII=">
        </div>
        <div class="item">
          <p>Kalendář</p>
          <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJkSURBVHgB7VhbjtowFL0J4fGDmh00rKB0B+kK6Kxg+sEPD6mTFZRZQZB4/SDRJbQrgK5gWEJmB6mEkBCvnps6kRsh81FnJoxypOjasWMOtu/xvTboCsbj8dIwDAfFu16vtyaNmM1mzvF4fEIx6Pf7H1V9zWsDwbjn85ltizTjdDrdw9h4mvP5/L2qryFXFouFvdlsmBh/TKZpsvWjjobxA//+J2lEqVRq4bc+i/EfMP5vUQ4ty1p3Op3gH6KC4AAdvlK+MNzv94+e54UW17bbLe/DJuUPD+VymXl9MiaTyRdM/4LyDc8Eybwt9yW02OvzuORpuCbdCG6GqCWV16yVlCMIjY22ZkIUJNc4Ih8pR4AiOSAbES32qG7cpDNpg4gdEn1GgBHIAca19kvIZEYROzzBOZfxwzGn7/tRRMY23Y5wbxm3vyhREb/KsKvV6gcu1Go1O93O9Xq9/k41ZuFMupEV0aFcwdIGu93umcvCadK516rdbj8rxsvG65GoeTCeol2ZyF3C29FRnLdNyEuieUgNVrLmjUYjV/bidLsuKImytoHEUmSjEUA6xPsGJ1wiL2ctTL6BJgYwDdIM5dKz5tHfvFuGHWve4XBw0t9c0FAtKHRUN5REhVMMWQfjB/XvseZh6aOsQG5HfUAZ4KrXqzSRHQrmjl4AxR7VjYKobhREdeOmiLIWZnZG/w8kTiETjaNtdzqd3lNOwBfMMC6XcdqtDI4nOWWV+qxQD+gVIWbSjeu4x29EgSTYf0PjgHIIjh348i6JeBEMO5VKxUfgyzNs0ysCkxby7SIC9kG32/3F7/4AWEQfwl7E0RcAAAAASUVORK5CYII=">
        </div>
        <div class="item">
          <p onclick="selectPage('settings')">Nastavení</p>
          <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKwSURBVHgBvVdLctpAEG0pQLEkJwg+QcgN8C7Fxs4JQqrY8KtYJwBOIFz8NlRBThCv2CKfAG4Q5QTBVSzCP6+VEZlgazRju3gbjTQ93W96pj+yyACDwSC72+1mGGaemrcsy8fjU7VanZMmbDLAfr93o4wzDodDFo+vZAAjAkAuTgAk82QAbQLsfrFDJXAM2eFw+I40Yckvo9Eos1wuc4lEwi+Xy75sHDtrgECRNAASd7ZtO6c6ttttrl6v30US6PV6MxgJ3TyHEg+XDvoso3OV0Ia+B6y/on/H59VqtctHBGC8COERnQcOSLSPBISLpzpn/EpYbDabC8dxFsElFOebpfMhk0wmGzywRHL5QebwROIJ4z9PhsD6DwkYNz33NtzXYvfJH13XzYpdFXUVgbhrdbvdX6TIbjIQFcVKpfJNJWN6mW24oa0jCLlmnHEG6sCYZUkDLGdjQQtjRyWIHflCTgvr9foWj4VKhr3JOoMo4JiEkUuKZuqRAcT9GCtErkNv2hKjhYKAdnmV1vhRc+l0+qhPiwC8o3SnKVar1dtHBLhQKNbElmGTNUh8mf8IcOjAZd8pGkXEuVaoSshHTcDWFOF/w+M3nU6niadLaqRRon9PJpN70oDQeR0j9rFQKDxwHmiQBnAPmv1+/3OcnPCmlk6gwZlwSgZ5HMrHuLAtudlgiGamadg7eBYY57C7GZnjxcWIS3LQD8ALfAdu6LwYIwF+sQUTTrOvGusqcGoXNv+GoUid2rn+peAiBJt+MJYnTi7knLtbsOX4f+7xhJU2TyIx8e7RGV8cyZyuAIkrztWlUuln+I2bjVQq5WJxXGyHGIumxZd1oGF5j+/3cjNjaSokk9ZNNJy+jqz2nxHHPbsvTo5ldI0bEQiE8aOiIWNUuk1/Tm9VXuCyjW7IIQP8AbNTVZ5S3ezyAAAAAElFTkSuQmCC">
        </div>
      </div>
    </div>
<div class="page" id="tasks" style="display: block;">
      <section class="entry">
        <form autocomplete="off">
          <input type="text" id="taskText">
          <div class="second-item">
            <button type="button" id="fulfillSetButton">Čas dokončení</button>
            <div class="dropdown-wrap">
              <button class="btn dropdown" type="button" id="dropdownToggle">Priorita</button>
              <ul class="dropdown-menu" id="taskPriority" style="background: linear-gradient(0deg, rgba(132,250,176,1) 0%, rgba(132,250,176,1) 33%, rgba(255,255,255,1) 33%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 66%, rgba(255,160,160,1) 66%, rgba(255,160,160,1) 100%); color: #000">
                <li>Vysoká</li>
                <li>Střední</li>
                <li>Nízká</li>
              </ul>
            </div>
            <button type="submit">Přidat</button>
          </div>
        </form>
        <form class="completion-date">
        <h2>Dokončit za:</h2>
        <div>
          <button onclick="increaseValue(months)">+</button>
          <input id="months" type="number" value="0" min="0" max="12">
          <button onclick="decreaseValue(months)">-</button>
          <p>měsíců</p>
        </div>
        <div>
          <button onclick="increaseValue(weeks)">+</button>
          <input id="weeks" type="number" value="0" min="0" max="5">
          <button onclick="decreaseValue(weeks)">-</button>
          <p>týdnů</p>
        </div>
        <div>
          <button onclick="increaseValue(days)">+</button>
          <input id="days" type="number" value="0" min="0" max="31">
          <button onclick="decreaseValue(days)">-</button>
          <p>dní</p>
        </div>
        <div>
          <button onclick="increaseValue(hours)">+</button>
          <input id="hours" type="number" value="0" min="0" max="23">
          <button onclick="decreaseValue(hours)">-</button>
          <p>hodin</p>
        </div>
        <div>
          <button onclick="increaseValue(minutes)">+</button>
          <input id="minutes" type="number" value="0" min="0" max="59">
          <button onclick="decreaseValue(minutes)">-</button>
          <p>minut</p>
        </div>
        <button>Nastavit</button>
      </form>
      </section>
      <section class="list"></section>
      <div class="template">
        <div data-index="" class="task">
          <div class="priority"></div>
          <div class="text-items">
            <p class="text"></p>
            <p class="time">Zbývá vám <span></span> na dokončení</p>
          </div>
          <div class="button-list">
            <button type="button" class="fulfill">Dokončit</button>
            <button type="button" class="delete">Smazat</button>
          </div>
        </div>
      </div>
    </div>

There is a screen for visualization:

visualisation

Upvotes: 1

Views: 100

Answers (1)

Ondřej Plicka
Ondřej Plicka

Reputation: 46

The solution is

.completion-date {
    /* your code */
    visibility: hidden;
}

.completion-date.active {
    /* your code */
    visibility: visible;
}

The visibility: hidden; hides the element and disables interaction with it and visibility: visible; will display it, while keeping the animations.

Keep in mind that the visibility property when the elements position isn't absolute or fixed then it will leave a blank space where the element would be normally seen.

Upvotes: 3

Related Questions