[初配布!]Image sliderサイトを作ってみた
サイトのアドレス:Image slider (imageslidertanesia.netlify.app)初めてサイトを公開しました!イメージをスライドするというごく簡単なサイトです。コードを見やすくしてくれるサイトも見つけましたのでこれからはシートに直接説明を書いていきます!<HTML> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <!DOCTYPEhtml> <htmllang="ja"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metaname="description"content="Tanesiaのサイト。単にイメージをスライドするだけのサイトです。"> <title>Imageslider</title> <linkhref="style.css"rel="stylesheet"> </head> <body> <header> <h1>Imageslider</h1> </header> <main> <divid="album"> <ulclass="images"> <li><imgsrc="images/1.jpg"></li> <li><imgsrc="images/2.png"></li> <li><imgsrc="images/3.jpg"></li> <li><imgsrc="images/4.jpg"></li> </ul> <pclass="controller"> <spanid="prev">⟨</span> <spanid="next">⟩</span> </p> </div> </main> <footer> <p>イメージは全て著作権のないものを使っています。</p> <p><small>©2022Tanesia</small></p> </footer> <scriptsrc="script.js"></script> </body> </html> Colored by Color Scripter cs <CSS> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 @charset"UTF-8"; /*bodyのmarginをなくし、背景色にグラデーションを適用*/ body{ margin:0; background:linear-gradient(0deg,white,black); } h1{ text-align:center; color:white; padding:50px; margin:0; } /*イメージを囲むdivの大きさの調整及びこぼれる要素の隠し*/ #album{ position:relative; margin:0auto0auto; height:80vh; width:80vw; overflow:hidden; } /*ul内の大きさの調整、イメージを並べる*/ .images{ margin:0; position:relative; list-style-type:none; display:flex; height:80vh; padding:0; transition:left0.7sease-out; } /*親要素に合わせてイメージの大きさを調整*/ img{ width:80vw; height:80vh; } /*矢印の位置と色などを調整*/ .controller#prev{ position:absolute; color:black; text-align:center; border-radius:50%; padding:020px020px; top:calc(50%-25px);/*親要素のtopから50%(半分)の位置-自分の半分(25px)*/ font-size:50px; cursor:pointer; } .controller#next{ position:absolute; color:black; text-align:center; border-radius:50%; padding:020px020px; top:calc(50%-25px);/*親要素のtopから50%(半分)の位置-自分の半分(25px)*/ right:0; font-size:50px; cursor:pointer; } /*mediaqueryでモバイルではhover属性を解除*/ @media(hover:hover){ /*両方の矢印にhover属性を追加*/ .controllerspan:hover{ background-color:rgba(0,0,0,0.2); } /*左矢印にカーソルを合わせたとき、-10px移動するようにし、0.5s間のアニメーションを追加*/ #prev:hover{ transform:translateX(-10px); transition:transform0.5s; } /*左矢印にカーソルを合わせたとき、-10px移動するようにし、0.5s間のアニメーションを追加*/ #next:hover{ transform:translateX(10px); transition:transform0.5s; } /*footercss*/ footer{ display:flex; justify-content:end; } footerp{ margin-right:20px; } footerp:first-child{ margin:020px00; align-self:center; font-size:12px; } } Colored by Color Scripter cs <script> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 'usestrict' constslides=document.querySelector('.images');//ul constslideImg=document.querySelectorAll('.imagesli');//li letcurrent=0;//現在のスライダー constslideCount=slideImg.length;//slideの個数 constprev=document.getElementById('prev'); constnext=document.getElementById('next'); constslideWidth=80;//スライダーの幅 /*イメージが移動する関数*/ functionslider(num){ slides.style.left=-num*slideWidth+'vw'; current=num; } /*左矢印をクリックすると一番前のイメージではない場合のみ、slider関数にcurrent-1を渡す*/ prev.onclick=function(){ if(current!==0){ slider(current-1); } } /*上と逆*/ next.onclick=function(){ if(current!==slideCount-1){ slider(current+1); } } Colored by Color Scripter cs 本当に楽しかった~色々と学べる時間でした。