HTMLとCSSの復習
HTMLの基本的なひな型を以下に示します
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ページタイトル</title>
<link rel="stylesheet" href="style.css"> <!-- スタイルシートのリンク -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<header>
<h1>サイトのタイトル</h1>
<!-- ナビゲーションやロゴなどを追加 -->
</header>
<main>
<section>
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</section>
</main>
<footer>
<p>© 2024 会社名</p>
</footer>
<script src="script.js"></script> <!-- JavaScriptファイルのリンク -->
</body>
</html>
各要素の説明
<!DOCTYPE html>:HTML5の文書であることを宣言するための宣言です。
<html lang="ja">:HTML文書の言語を日本語(ja)に指定しています。
<head>:ページのメタ情報を格納する場所です。
<meta charset="UTF-8">:文字コードをUTF-8に指定し、文字化けを防ぎます。
<meta name="viewport" content="width=device-width, initial-scale=1.0">:レスポンシブデザイン対応のために、ページの幅をデバイスの幅に合わせます。
<title>:ブラウザのタブに表示されるページのタイトルです。
<link rel="stylesheet" href="style.css">:外部スタイルシートをリンクします。
<body>:ページのメインコンテンツを格納する場所です。
/* ベーススタイル */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
すべての要素の余白や内側の余白をリセットし、
box-sizing: border-box;でボックスサイズの計算を標準化します。
画僧の表示のさせ方は?
<img src="画像のパス" alt="画像の説明" width="幅" height="高さ">
各属性の説明
src:
画像ファイルのパスを指定します。
例えば、画像ファイルが同じフォルダ内にある場合は、ファイル名(例: image.jpg)を記述します。
alt:
画像が表示されないときに表示されるテキストを設定します。
また、スクリーンリーダーでも読み上げられるため、アクセシビリティ向上にも役立ちます。
widthとheight:
画像の幅と高さを指定します。ピクセル単位で設定しますが、
%を使って割合で指定することもできます。
画像のパスは
このようなディレクトリ構成だと
<img src="img/sketch.jpg" alt="1" height="250px" width="300px" class = "portfolio-img1">
src="img/sketch.jpg" これになる
ヘッダーの基本的な作り方
<header>
<div class="hamburger">
<div class="logo">LOGO</div>
<p class="btn-gNav">
<span></span>
<span></span>
<span></span>
</p>
<nav class="gNav">
<ul class="gNav-menu">
<li><a href="#">要素1</a></li>
<li><a href="#">要素2</a></li>
<li><a href="#">要素3</a></li>
<li><a href="#">要素4</a></li>
<li><a href="#">要素5</a></li>
</ul>
</nav>
</div>
</header>
ハンバーガーメニューにさせるCSS
@charset "utf-8"; /* CSSファイルの文字エンコーディングをUTF-8に設定 */
header{
color: #525252;
background-color: black;
}
/* リストスタイルをリセット */
ol,
ul {
list-style: none; /* リストのデフォルトのマーカーを無効にする */
list-style-type: none; /* リストのタイプを指定しない(重複しているが、一応残す) */
}
/* リンクのスタイル */
a {
text-decoration: none; /* 下線を削除 */
color: #ffffff; /* リンクの文字色を白に設定 */
font-size: 20px; /* フォントサイズを20pxに設定 */
letter-spacing: 0.1em; /* 文字間隔を0.1emに設定 */
}
/* ハンバーガーメニューのスタイル */
.hamburger {
margin: 20px auto 0; /* 上部に20pxのマージンを、左右は自動で中央揃え */
width: 100%; /* 幅を100%に設定 */
max-width: 900px; /* 最大幅を900pxに設定 */
display: flex; /* フレックスボックスでレイアウト */
justify-content: space-between; /* 要素を左右に配置 */
}
/* ロゴのスタイル */
.logo {
font-size: 40px; /* フォントサイズを40pxに設定 */
font-weight: 700; /* フォントウェイトを700(太字)に設定 */
}
/* ナビゲーションボタンのスタイル */
.hamburger .btn-gNav {
position: fixed; /* 固定位置に設定 */
top: 20px; /* 上から20pxの位置 */
right: 20px; /* 右から20pxの位置 */
width: 30px; /* 幅を30pxに設定 */
height: 24px; /* 高さを24pxに設定 */
z-index: 12; /* スタッキング順序を12に設定 */
box-sizing: border-box; /* 幅と高さにパディングとボーダーを含める */
cursor: pointer; /* カーソルをポインタに変更 */
-webkit-transition: all 400ms; /* Webkitブラウザ用のトランジション設定 */
transition: all 400ms; /* トランジションを400msで設定 */
}
/* ナビゲーションボタン内のスパンのスタイル */
.hamburger .btn-gNav span {
position: absolute; /* 絶対位置で配置 */
width: 100%; /* 幅を100%に設定 */
height: 4px; /* 高さを4pxに設定 */
background: #ffffff; /* 背景色を白に設定 */
border-radius: 10px; /* ボーダーを丸くする */
-webkit-transition: all 400ms; /* Webkitブラウザ用のトランジション設定 */
transition: all 400ms; /* トランジションを400msで設定 */
}
/* ナビゲーションボタンの最初のスパンの位置 */
.hamburger .btn-gNav span:nth-child(1) {
top: 0; /* 上からの位置を0に設定 */
}
/* ナビゲーションボタンの2番目のスパンの位置 */
.hamburger .btn-gNav span:nth-child(2) {
top: 10px; /* 上から10pxの位置 */
}
/* ナビゲーションボタンの3番目のスパンの位置 */
.hamburger .btn-gNav span:nth-child(3) {
top: 20px; /* 上から20pxの位置 */
}
/* ハンバーガーメニューが開いているときのスタイル */
.hamburger .btn-gNav.open span:nth-child(1) {
background: #ffffff; /* 背景色を白に設定 */
top: 6px; /* 上から6pxの位置に移動 */
-webkit-transform: rotate(-45deg); /* 45度反時計回りに回転 */
-moz-transform: rotate(-45deg); /* Mozillaブラウザ用 */
transform: rotate(-45deg); /* 回転を適用 */
}
/* ハンバーガーメニューが開いているときの2番目と3番目のスパンのスタイル */
.hamburger .btn-gNav.open span:nth-child(2),
.hamburger .btn-gNav.open span:nth-child(3) {
top: 6px; /* 上から6pxの位置に移動 */
background: #ffffff; /* 背景色を白に設定 */
-webkit-transform: rotate(45deg); /* 45度時計回りに回転 */
-moz-transform: rotate(45deg); /* Mozillaブラウザ用 */
transform: rotate(45deg); /* 回転を適用 */
}
/* デフォルトではナビゲーションボタンは表示しない */
.btn-gNav {
display: none; /* 非表示 */
}
/* ナビゲーションメニューのスタイル */
.gNav .gNav-menu {
display: flex; /* フレックスボックスでレイアウト */
justify-content: space-between; /* 要素を左右に配置 */
}
/* ナビゲーションメニューのリストアイテムのスタイル */
.gNav .gNav-menu li {
margin: 0 auto; /* マージンを自動で中央揃え */
padding: 0 5px; /* 左右に5pxのパディングを設定 */
}
/* 画面幅が600px以下の場合のスタイル */
@media screen and (max-width: 600px) {
.btn-gNav {
display: block; /* ナビゲーションボタンを表示 */
}
.gNav {
position: fixed; /* 固定位置に設定 */
top: 0; /* 上から0の位置 */
right: -100%; /* 画面外から開始 */
width: 100%; /* 幅を100%に設定 */
height: 100%; /* 高さを100%に設定 */
background-color: rgba(0, 0, 0, 0.8); /* 半透明の黒い背景 */
font-size: 16px; /* フォントサイズを16pxに設定 */
box-sizing: border-box; /* 幅と高さにパディングとボーダーを含める */
z-index: 1; /* スタッキング順序を1に設定 */
padding-top: 50px; /* 上部に50pxのパディングを設定 */
transition: .3s; /* トランジションを0.3秒で設定 */
}
.gNav.open {
right: 0; /* メニューが開いたときの位置 */
}
.gNav .gNav-menu {
padding: 0; /* パディングを0に設定 */
width: 100%; /* 幅を100%に設定 */
height: 100%; /* 高さを100%に設定 */
display: block; /* ブロック要素として表示 */
flex-direction: column; /* 縦に並べる */
text-align: center; /* テキストを中央揃え */
/*justify-content: center;*/ /* コメントアウトされた要素 */
}
/* ナビゲーションメニューのリストアイテムのスタイル */
.gNav .gNav-menu li {
width: 86%; /* 幅を86%に設定 */
padding: 15px; /* 上下に15px、左右は自動でパディングを設定 */
border-bottom: #525252 1px solid; /* 下に1pxのグレーのボーダーを設定 */
}
}
main要素を中央に揃える
htmlのコード
<main>
<div class="main">
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
<section>
<div class = "box">
<h2>セクションタイトル</h2>
<p>ここにコンテンツを記載します。</p>
</div>
</section>
</div>
</main>
cssのコード
.main {
max-width: 800px; /* 任意の最大幅を設定 */
margin: 0 auto; /* 左右のマージンを自動にして中央揃え */
padding: 20px; /* 内部の余白を追加(任意) */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 影を追加(任意) */
}
.box {
margin-bottom: 20px; /* 各ボックスの下に余白を追加 */
padding: 20px; /* ボックス内のパディング */
border: 1px solid #ccc; /* ボックスの枠線 */
border-radius: 5px; /* ボックスの角を丸める */
background-color: #f9f9f9; /* ボックスの背景色 */
}