【ソースコード】入門編:フォトサイト2/1カラム
style.css
style.css
@charset "UTF-8";
html {
font-size: 100%;
}
body {
color: #333;
font-size: 0.875rem;
}
img {
max-width: 100%;
}
ul {
list-style: none;
}
/* サイト全体のコンテンツ幅を設定 */
.container {
max-width: 1000px;
margin: 0 auto;
}
/* 中のコンテンツ部分の最大幅を設定 */
.inner {
max-width: 800px;
margin: 0 auto;
}
.section-title {
font-size: 1.125rem;
font-weight: bold;
margin-bottom: 30px;
text-align: center;
}
/*-------------------------------------------
ヘッダー
-------------------------------------------*/
#header {
margin-top: 60px;
}
/*
h1タグ
line-height にh1タグの高さよりも小さい値「1px」を指定することで、
h1タグの上下の余白が消えるため、ロゴ画像の高さと揃う
「line-height: 0;」を指定してもOKです
*/
#header .site-title {
width: 180px;
line-height: 1px;
margin-bottom: 15px;
}
/* aタグのリンク範囲を親要素のサイズに広げる */
#header .site-title a {
display: block;
}
/*-------------------------------------------
Mainvisual
-------------------------------------------*/
#mainvisual {
margin-bottom: 60px;
}
/*-------------------------------------------
Index
-------------------------------------------*/
#index {
background-color: #f5f5f5;
padding: 60px;
margin-bottom: 60px;
}
#index .index-inner {
border: solid 1px #333;
padding: 30px;
}
/*
「display: table;」と「margin: 0 auto;」で中央に配置。
※この方法を使うとテキストの長さに応じて可変で中央配置できる
*/
#index .index-inner .index-list {
display: table;
margin: 0 auto;
}
#index .index-inner .index-list li {
margin-bottom: 20px;
}
/*
最後のliタグには margin-bottom を設定しない
*/
#index .index-inner .index-list li:last-child {
margin-bottom: 0;
}
/*-------------------------------------------
Image
-------------------------------------------*/
/*
flex-wrap: wrap;
→改行あり
justify-content: space-between;
→両端揃えで均等に配置
*/
.list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 45px;
}
.list li {
width: 49%;
margin-bottom: 15px;
}
/*
画像の下にできる隙間を消す
*/
.list li img {
vertical-align: bottom;
}
/*-------------------------------------------
Detail
-------------------------------------------*/
#detail {
background-color: #f5f5f5;
padding: 60px;
margin-bottom: 60px;
}
#detail .flex {
display: flex;
}
#detail dl {
width: 35%;
border-right: solid 1px #333;
padding-right: 40px;
}
#detail dt {
font-weight: bold;
}
#detail dd {
margin-bottom: 10px;
}
#detail dd:last-child {
margin-bottom: 0;
}
#detail .text {
width: 65%;
padding-left: 40px;
}
#detail .text p {
margin-bottom: 20px;
}
#detail .text .link {
color: #333;
}
#detail .text .link:hover {
opacity: 0.8;
}
/*-------------------------------------------
footer
-------------------------------------------*/
#footer {
font-size: 0.625rem;
padding: 15px 0;
text-align: center;
}
/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 1024px) {
.inner {
padding: 0 20px;
}
/*-------------------------------------------
ヘッダー
-------------------------------------------*/
#header {
padding: 0 10px;
}
/*-------------------------------------------
Index
-------------------------------------------*/
#index {
padding: 40px 20px;
}
/*-------------------------------------------
Image
-------------------------------------------*/
/*
画像を縦に並べる
*/
.list {
flex-direction: column;
}
.list li {
width: 100%;
text-align: center;
}
/*-------------------------------------------
Detail
-------------------------------------------*/
#detail {
padding: 40px 20px;
}
/*
要素を縦に並べる
*/
#detail .flex {
flex-direction: column;
}
#detail dl {
width: 100%;
border-right: none;
border-bottom: solid 1px #333;
padding: 0 0 40px 0;
}
#detail .text {
width: 100%;
padding: 40px 0 0 0;
}
}