WEBページというものは大きなブロックの中に小さなブロックが集まってできているもの。
HTML要素は、通常、次のようにブロックに分解することができます。
<html>
ブロック:これはHTMLページのルート要素であり、すべてのHTML要素はこのブロック内に配置されます。
<head>
ブロック:これはHTMLページのヘッダーを定義するための要素です。このブロックには、ページのタイトル、CSSスタイルシート、スクリプト、キーワードなどの要素が含まれます。
<body>
ブロック:これはHTMLページの本文を含む要素であり、ページ上に表示されるコンテンツを定義します。このブロックには、テキスト、画像、リンク、ボタン、テーブル、フォームなどの要素が含まれます。
<div>
ブロック:これはHTMLページの領域をグループ化するための要素であり、CSSスタイルシートを適用することができます。
<section>
ブロック:これはHTMLページの大きな範囲をグループ化するための要素であり、見出しを含むことができます。
<header>
ブロック:これはHTMLページのヘッダーを定義するための要素であり、見出し、画像、ロゴなどの要素を含むことができます。
<nav>
ブロック:これはHTMLページのナビゲーションを定義するための要素であり、リストやリンクなどの要素を含むことができます。
<article>
ブロック:これはHTMLページの記事を含む要素であり、ブログ投稿、ニュース記事、雑誌記事などの要素を含むことができます。
<footer>
ブロック:これはHTMLページのフッターを定義するための要素であり、著作権情報、連絡先情報などの要素を含むことができます。
これらのブロック要素は、ウェブページの構造を明確にするために使用されます。ウェブ開発者は、これらの要素を使用して、視覚的な階層構造を作成し、ユーザーがページ上で見たり相互作用したりするコンテンツを整理することができます。
不必要なスタイリングの上書きを防ぎ、別のページで意図せずレイアウトの崩れを引き起こさないようにするために、極力class属性をつけてスタイリングする。
<section class="main-hero"></section>
<section id="works" class="main-works"></section>
<section id="about" class="main-about"></section>
コンテンツのサイズを自動調整
*, *::before, *::after {
box-sizing: border-box;
}
内部リンクスクロールをスムーズに
html {
scroll-behavior: smooth;
}
<Body>にフォントの色と種類を設定
body {
color: #3a4454;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans",
"Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
<h1> ~ <h3>にタイトルのスタイルを設定
要素が抜けたときの影響を最小限に
h1, h2 {
font-family: "Piazzolla", "Times New Roman", "YuMincho",
"Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
line-height: 1.4;
}
h2, h3 {
margin-top: 0;
font-weight: 700;
}
h1 {
margin-top: 0;
font-weight: 500;
}
h2 {
text-align: center;
}
<ul>のデフォルトスタイルを打ち消す
ul {
margin: 0;
padding-left: 0;
list-style: none;
}
<p>の行間を設定
p {
line-height: 1.8;
}
<img>が柔軟にリサイズできるように
figure {
margin: 0;
}
img {
max-width: 100%;
}
<a>の下線を打ち消す
a {
text-decoration: none;
}
hover時にアニメーションが起きるように
a, input, textarea {
transition: all 0.15s ease-in-out;
}
送信ボタンにカーソルを合わせたときの効果を追加する
input[type="submit"]:hover {
cursor: pointer;
}
コンテイナーのスタイリングを追記する
.container {
max-width: 1280px;
margin: 0 auto;
}
containerは最大幅と中央揃えの設定だけに絞る
ボンタンはprimaryとsecondaryで色だけ変更する
button {
display: inline-block;
padding: 10px 15px;
border: none;
border-radius: 3px;
color: #FFF7F7;
font-size: 1rem;
font-weight: 600;
letter-spacing: 1px;
text-decoration: none;
}
ボタンの色を設定する
.button-primary {
background-color: #53687E;
}
.button-secondary {
background: #6B4E71;
}
.button-primary:hover,
.button-primary:focus {
background-color: #495B6F;
}
.button-secondary:hover,
.button-secondary:focus {
background: #5D4462;
}
social-linkはレイアウトの設定だけ
最初の<li>は左に<li>がないのでmarginがつかない
.social-links {
display: flex;
flex-wrap: wrap;
font-size: 2rem;
}
.social-links li + li {
margin-left: 20px;
}
headerで一貫している注目すべき点は「テキストのスタイル」「左右で分かれるレイアウト」「スクロールで追従してくること」
テキストのスタイリング
/* --------------------------------------
Header
-------------------------------------- */
.header {
display: flex;
align-items: center;
justify-content: space-between; #間に余白を入れる
position: fixed; #ヘッダーが追従
z-index: 2; #ヘッダーが追従
width: 100%;
background-color: #6B4E71; #背景色設定
color: #FFF7F7;
font-family: "Piazzolla", "Times New Roman", "YuMincho",
"Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
font-weight: 700;
}
.header-logo {
display: flex;
align-items: center;
}
.header-nav-menu {
display: flex;
}
.header-nav-menu-item > a {
color: #FFF7F7;
}
.header-nav-menu-item > a:hover,
.header-nav-menu-item > a:focus {
color: #FFC4C4;
}
/* --------------------------------------
Main - Hero
-------------------------------------- */
.main-hero {
background-color: #6B4E71;
}
.main-hero-highlight,
.main-hero-highlight-links a {
color: #FFF7F7;
}
.main-hero-highlight-links p {
font-size: 1.2rem;
}
.main-hero-highlight-links p > a {
text-decoration: underline;
}
.main-hero-highlight-links a:hover,
.main-hero-highlight-links a:focus {
color: #FFC4C4;
}
/* --------------------------------------
Main - Works
-------------------------------------- */
.main-works {
background-color: #FFF7F7;
}
.main-works-item:last-child {
margin-bottom: 0;
}
.main-works-item-img img {
border-radius: 5px;
}
.main-works-item-img.primary img {
box-shadow:
1px 1px 10px rgba(0, 0, 0, 15%),
10px 10px 0 #53687E;
}
.main-works-item-img.secondary img {
box-shadow:
1px 1px 10px rgba(0, 0, 0, 15%),
10px 10px 0 #6B4E71;
}
/* --------------------------------------
Main - About
-------------------------------------- */
.main-about {
background-color: #FFF;
}
.main-about-addition-skills ul {
padding-left: 20px;
list-style: disc;
}
.main-about-addition-follow a {
color: #C2B2B4;
}
.main-about-addition-follow a:hover,
.main-about-addition-follow a:focus {
color: #AB9698;
}
現在コメントはありません