WEBサイト制作の勉強

WEBサイト制作の勉強の為の解説ブログです。

フェリカテクニカルアカデミー

8月22日の作業データ(カラムレイアウト)

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Masonry layout</title>
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js' integrity='sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==' crossorigin='anonymous'></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
<script src="js/script.js" defer></script>
</head>
<body>
<header>
<h1>Masonry layout</h1>
</header>
<main>
<div class="col-wrapper">

<div class="col-box">
<a href="https://www.youtube.com/watch?v=P1ByZwoHKwY" data-fancybox >
<p class="photo"><img src="img/01.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/02.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/02.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/03.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/03.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/04.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/04.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/05.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/05.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/06.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/06.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/07.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/07.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/08.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/08.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/09.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/09.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/10.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/10.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/11.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/11.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/12.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/12.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/13.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/13.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/14.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/14.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/15.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/15.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/16.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/16.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/17.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/17.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/18.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/18.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/19.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/19.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->

<div class="col-box">
<a href="img/20.jpg" data-fancybox="sea" data-type="image">
<p class="photo"><img src="img/20.jpg" alt=""></p>
<p class="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur, id?</p>
</a>
</div><!-- /.col-box -->
</div><!-- /.col-wrapper -->
<button id="more">もっと見る</button>
</main>
<footer>
<p><small>&copy; 2024 Felica</small></p>
</footer>
</body>
</html>

style.css

@charset "utf-8";

html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0;box-sizing:border-box;}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search][type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted}[type=reset],[type=submit],button,html [type=button]button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]img{border-style:none;vertical-align: bottom}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none;}a{text-decoration:none;}img{max-width: 100%;vertical-align: bottom;}

body{
background-color: #ecece6;
}
header{
padding: 60px 0;
text-align: center;
>h1{
font-size: 36px;
}
@media (max-width:640px){
padding: 30px 0;
>h1{
font-size: 26px;
}
}
}

/* カラムレイアウト */
.col-wrapper{
columns: 4;
width: 90%;
margin: 0 auto 60px;

/* 960px以下は3列 */
@media (max-width:960px){
columns: 3;
}
/* 640px以下は2列 */
@media (max-width:640px){
columns: 2;
width: 96%;
}
}
.col-box{
background-color: #FFF;
padding: 15px;
break-inside: avoid;/* box内で改行させない */
margin-bottom: 20px;
border-radius: 10px;
>a{
color: #111;
>.photo{
margin-bottom: 10px;
overflow: hidden;
border-radius: 10px;
}
}

@media (max-width:640px){
&:nth-of-type(n+11){
display: none;
}
.text{
font-size: 14px;
}
}
}

.col-box img{
transition: 0.2s;
}
.col-box>a:hover img{
scale: 1.1;
filter: brightness(1.1);
}

footer{
width: 100%;
padding: 30px 0;
text-align: center;
}

/* もっと見るボタン */
#more{
display: block;
width: 240px;
margin: 20px auto;
background-color: #2274c7;
color: #FFF;
text-align: center;
padding: 10px 0;
border-radius: 10px;
}


script.js

$(function(){
//#moreをon.clcikしたら
$('#more').on('click',function(){
$('.col-box:nth-of-type(n+11)').fadeIn(200);
$(this).hide();
});
});