コピペで頑張るカスタマイズ

お世話になっております。m(_ _)m

cssだけで、画像拡大モーダル表示

 

  1. <a href="#modal-01">

この数字を変えれば、同じページでも複数表示が可能です。

ちょこちょこ数字を変えて、画像に拡大アイコンを重ねて、開いたときの余白を消して、閉じるアイコンをつけました。 スマホ用のサイズです。

 



でも、謎の線がでてしまいました...。

f:id:talk_away:20191209155354p:plain



無理に消すと、モーダルウィンドウが消えて、画像が重なっただけになってしまいます…。


まぁ、いっか。

拡大アイコンを重ねたのは、こちらを参考にしました。

public-constructor.com

 

今度、重ねたいと思ったときは、こちらも勉強したいと思います。

techacademy.jp

 

今回の備忘録

◎HTML

  1. <div class="box">
  2. <div class="gazou"><img src="画像url"></div>
  3. <div class="icon"><a href="#modal-name"><img style="vertical-align: top;" src="拡大アイコンurl"></a></div>
  4. <div id="modal-name" class="modal-wrapper"><a href="#!" class="modal-overlay">?</a>
  5. <div class="modal-window">
  6. <div class="modal-content">
  7. <img src="画像url" width="100%">
  8. </div>
  9. <a href="#!" class="modal-close"><img src="閉じるアイコンurl"></a></div>
  10. </div></div>



css

  1. .box {
  2. max-width: 40%;
  3. height: auto;
  4. margin: 0 auto;
  5. padding: 0;
  6. position:relative;
  7. }
  8. .gazou img {
  9. max-width: 100%;
  10. height: auto;
  11. }
  12. .icon img {
  13.     position: absolute;
  14.     top: 0;
  15.     right: 0;
  16.   }
  17.  /*-----ここから、ネットショップ語りさんからのコピペ。数カ所、変更してます。-----*/
  18. .modal-wrapper {
  19.   z-index: 999;
  20.   position: fixed;
  21.   top: 0;
  22.   right: 0;
  23.   bottom: 0;
  24.   left: 0;
  25.   padding: 20px 10px;
  26.   text-align: center
  27. }
  28. .modal-wrapper:not(:target) {
  29.   opacity: 0;
  30.   visibility: hidden;
  31.   transition: opacity .3s, visibility .3s;
  32. }
  33. .modal-wrapper:target {
  34.   opacity: 1;
  35.   visibility: visible;
  36.   transition: opacity .4s, visibility .4s;
  37. }
  38. .modal-wrapper::after {
  39.   display: inline-block;
  40.   height: 100%;
  41.   margin-left: -.05em;
  42.   vertical-align: middle;
  43.   content: ""
  44. }
  45. .modal-wrapper .modal-window {
  46.   box-sizing: border-box;
  47.   display: inline-block;
  48.   z-index: 20;
  49.   position: relative;
  50.   width: 85%;
  51.   max-width: 400px;
  52.   padding: 0;
  53.   vertical-align: middle
  54. }
  55. .modal-wrapper .modal-window .modal-content {
  56.   max-height: 80vh;
  57.   overflow-y: auto;
  58. }
  59. .modal-overlay {
  60.   z-index: 10;
  61.   position: absolute;
  62.   top: 0;
  63.   right: 0;
  64.   bottom: 0;
  65.   left: 0;
  66.   background: rgba(0, 0, 0, .8)
  67. }
  68. .modal-wrapper .modal-close {
  69.   z-index: 20;
  70.   position: absolute;
  71.   top: 2px;
  72.   right: 2px;
  73. }
  74. .modal-wrapper .modal-close:hover {
  75.   color: #2b2e38 !important
  76. }