Simple way to show popup











up vote
0
down vote

favorite












After small research I found following informations: In this closed question I found some solution which not works good when pop-up has height bigger than screen (and some jquery solution). Here is question about show outside page in popup. And here are some theoretical and angularJS solutions. How ever above informations not satisfy me.



I wanna show pop-up to user which contains my content (not loaded from url) e.g. some editor. I am interested in only pure JS/HTML/CSS solutions (no jquery or other libs). Below there is code which I daily use and which was tested on chrome, safari, firefox and edge:






window.t = q => document.querySelector(q).classList.toggle('hide');

body {
margin: 0;
padding: 0;
}

.btn {
padding: 10px;
background: #BADA55;
border-radius: 5px;
cursor: pointer
}

.popupBg {
position: absolute;
top: 0;
left: 0;
display: flex;
min-height: 100vh;
width: 100vw;
justify-content: center;
align-items:center;
background: rgba(255,0,0,0.5)
}

.popup {
width: 100px;
min-height: 200px;
border: 1px solid black;
background: #88f;
margin: 40px;
}

.hide {
display: none;
}

<div class="example">Some content</div>

<div class="btn" onclick="t('.popupBg')">PopUP</div>

<div class="popupBg hide" onclick="t('.popupBg')" >
<div class="popup" onclick="event.stopPropagation()" >
My popup
</div>
</div>





Here is editable version.



Question1: Is there simpler way than above to show popup (similar to this in snipped and easy do modify) to user?



Question2: Does approach used in snipped have some drawbacks?









share







New contributor




Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    0
    down vote

    favorite












    After small research I found following informations: In this closed question I found some solution which not works good when pop-up has height bigger than screen (and some jquery solution). Here is question about show outside page in popup. And here are some theoretical and angularJS solutions. How ever above informations not satisfy me.



    I wanna show pop-up to user which contains my content (not loaded from url) e.g. some editor. I am interested in only pure JS/HTML/CSS solutions (no jquery or other libs). Below there is code which I daily use and which was tested on chrome, safari, firefox and edge:






    window.t = q => document.querySelector(q).classList.toggle('hide');

    body {
    margin: 0;
    padding: 0;
    }

    .btn {
    padding: 10px;
    background: #BADA55;
    border-radius: 5px;
    cursor: pointer
    }

    .popupBg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    min-height: 100vh;
    width: 100vw;
    justify-content: center;
    align-items:center;
    background: rgba(255,0,0,0.5)
    }

    .popup {
    width: 100px;
    min-height: 200px;
    border: 1px solid black;
    background: #88f;
    margin: 40px;
    }

    .hide {
    display: none;
    }

    <div class="example">Some content</div>

    <div class="btn" onclick="t('.popupBg')">PopUP</div>

    <div class="popupBg hide" onclick="t('.popupBg')" >
    <div class="popup" onclick="event.stopPropagation()" >
    My popup
    </div>
    </div>





    Here is editable version.



    Question1: Is there simpler way than above to show popup (similar to this in snipped and easy do modify) to user?



    Question2: Does approach used in snipped have some drawbacks?









    share







    New contributor




    Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      After small research I found following informations: In this closed question I found some solution which not works good when pop-up has height bigger than screen (and some jquery solution). Here is question about show outside page in popup. And here are some theoretical and angularJS solutions. How ever above informations not satisfy me.



      I wanna show pop-up to user which contains my content (not loaded from url) e.g. some editor. I am interested in only pure JS/HTML/CSS solutions (no jquery or other libs). Below there is code which I daily use and which was tested on chrome, safari, firefox and edge:






      window.t = q => document.querySelector(q).classList.toggle('hide');

      body {
      margin: 0;
      padding: 0;
      }

      .btn {
      padding: 10px;
      background: #BADA55;
      border-radius: 5px;
      cursor: pointer
      }

      .popupBg {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      min-height: 100vh;
      width: 100vw;
      justify-content: center;
      align-items:center;
      background: rgba(255,0,0,0.5)
      }

      .popup {
      width: 100px;
      min-height: 200px;
      border: 1px solid black;
      background: #88f;
      margin: 40px;
      }

      .hide {
      display: none;
      }

      <div class="example">Some content</div>

      <div class="btn" onclick="t('.popupBg')">PopUP</div>

      <div class="popupBg hide" onclick="t('.popupBg')" >
      <div class="popup" onclick="event.stopPropagation()" >
      My popup
      </div>
      </div>





      Here is editable version.



      Question1: Is there simpler way than above to show popup (similar to this in snipped and easy do modify) to user?



      Question2: Does approach used in snipped have some drawbacks?









      share







      New contributor




      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      After small research I found following informations: In this closed question I found some solution which not works good when pop-up has height bigger than screen (and some jquery solution). Here is question about show outside page in popup. And here are some theoretical and angularJS solutions. How ever above informations not satisfy me.



      I wanna show pop-up to user which contains my content (not loaded from url) e.g. some editor. I am interested in only pure JS/HTML/CSS solutions (no jquery or other libs). Below there is code which I daily use and which was tested on chrome, safari, firefox and edge:






      window.t = q => document.querySelector(q).classList.toggle('hide');

      body {
      margin: 0;
      padding: 0;
      }

      .btn {
      padding: 10px;
      background: #BADA55;
      border-radius: 5px;
      cursor: pointer
      }

      .popupBg {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      min-height: 100vh;
      width: 100vw;
      justify-content: center;
      align-items:center;
      background: rgba(255,0,0,0.5)
      }

      .popup {
      width: 100px;
      min-height: 200px;
      border: 1px solid black;
      background: #88f;
      margin: 40px;
      }

      .hide {
      display: none;
      }

      <div class="example">Some content</div>

      <div class="btn" onclick="t('.popupBg')">PopUP</div>

      <div class="popupBg hide" onclick="t('.popupBg')" >
      <div class="popup" onclick="event.stopPropagation()" >
      My popup
      </div>
      </div>





      Here is editable version.



      Question1: Is there simpler way than above to show popup (similar to this in snipped and easy do modify) to user?



      Question2: Does approach used in snipped have some drawbacks?






      window.t = q => document.querySelector(q).classList.toggle('hide');

      body {
      margin: 0;
      padding: 0;
      }

      .btn {
      padding: 10px;
      background: #BADA55;
      border-radius: 5px;
      cursor: pointer
      }

      .popupBg {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      min-height: 100vh;
      width: 100vw;
      justify-content: center;
      align-items:center;
      background: rgba(255,0,0,0.5)
      }

      .popup {
      width: 100px;
      min-height: 200px;
      border: 1px solid black;
      background: #88f;
      margin: 40px;
      }

      .hide {
      display: none;
      }

      <div class="example">Some content</div>

      <div class="btn" onclick="t('.popupBg')">PopUP</div>

      <div class="popupBg hide" onclick="t('.popupBg')" >
      <div class="popup" onclick="event.stopPropagation()" >
      My popup
      </div>
      </div>





      window.t = q => document.querySelector(q).classList.toggle('hide');

      body {
      margin: 0;
      padding: 0;
      }

      .btn {
      padding: 10px;
      background: #BADA55;
      border-radius: 5px;
      cursor: pointer
      }

      .popupBg {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      min-height: 100vh;
      width: 100vw;
      justify-content: center;
      align-items:center;
      background: rgba(255,0,0,0.5)
      }

      .popup {
      width: 100px;
      min-height: 200px;
      border: 1px solid black;
      background: #88f;
      margin: 40px;
      }

      .hide {
      display: none;
      }

      <div class="example">Some content</div>

      <div class="btn" onclick="t('.popupBg')">PopUP</div>

      <div class="popupBg hide" onclick="t('.popupBg')" >
      <div class="popup" onclick="event.stopPropagation()" >
      My popup
      </div>
      </div>






      javascript css html5





      share







      New contributor




      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 5 mins ago









      Kamil Kiełczewski

      1011




      1011




      New contributor




      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Kamil Kiełczewski is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.



























          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Kamil Kiełczewski is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209804%2fsimple-way-to-show-popup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Kamil Kiełczewski is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Kamil Kiełczewski is a new contributor. Be nice, and check out our Code of Conduct.













          Kamil Kiełczewski is a new contributor. Be nice, and check out our Code of Conduct.












          Kamil Kiełczewski is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209804%2fsimple-way-to-show-popup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Ellipse (mathématiques)

          Quarter-circle Tiles

          Mont Emei