sit in a circle and chat happily

CSS 4日目

投稿日:2021-10-27
更新日:2022-03-24
HTML・CSS

第12章・続:ボックスのスタイルを定義(幅・高さ・余白・線)

ボックスサイズの計算方法

box
ボックス
ボックスの幅 = width + 左右padding + 左右border + 左右margin 

※widthでボックスの幅を指定していても、そこにpaddingやborder分の幅が追加されてしまうので注意

ボックスサイズの計算方法を定義:box-sizing

box-sizing: 計算方法の値;
代表的な値解説・記述例
content-box(初期値)widthの値にパディングとボーダーを含まない
border-boxwidthの値にパディングとボーダーを含む
box-sizing

※色が着くところまで

レイアウト時に幅計算しやすいように
全要素「*」に対して「box-sizing: border-box;」を指定することが多い

* {
  box-sizing: border-box;
}

 ※CSSファイルの冒頭部分に記述

第13章:画像のスタイルを定義

ブロックレベルの「figure要素」と「img」はセット

classセレクタ

●HTMLファイル

<要素名 class="クラス名">コンテンツ</要素名>

●CSSファイル 「.(ドット)」の後にクラス名
        「.(ドット)」はclassセレクタを意味する接頭辞

.クラス名 {
  プロパティ名: 値;
}

画像の幅・高さを定義

width: 幅の値;
height: 高さの値;
代表的な値解説・記述例
auto(初期値)状況に応じた幅を指定
単位付き数値単位に応じた数値で幅を指定
マイナス値は指定できない
width, height

表示領域の幅でよく使われる値・・・720px、960px

width、heightは片方を設定すると、もう一方を書かない場合「auto」になる
縦横比を変えないために両方記述することはしない方がいい

画像の最小幅・最小高さを定義:min-width,min-height

指定した最小値より小さくなることはない
画像に限らず、レイアウト時(要素)にも使用する

小さい画像は最小幅まで拡大
大きい画像はそのまま

min-width: 最小幅の値;
min-height: 最小高さの値;
代表的な値解説・記述例
0(初期値)最小値なし
単位付き数値単位に応じた数値で最小値を指定
マイナス値は指定できない
min-width, min-height

画像の最大幅・最大高さを定義:max-width,max-height

指定した最大値より大きくなることはない
画像に限らず、レイアウト時(要素)にも使用する

大きい画像は最大幅まで縮小
小さい画像はそのまま

max-width: 最大幅の値;
max-height: 最大高さの値;
代表的な値解説・記述例
0(初期値)最大値なし
単位付き数値単位に応じた数値で最小値を指定
マイナス値は指定できない
max-width, max-height

はみ出た画像を縮小する

※よく使う

img要素にmax-widthプロパティ「100%」を指定する
記述が完了したら上書き保存してブラウザで表示を確認

img {
  max-width: 100%;
  height: auto;
}

親要素の幅100%を超えた画像が縮小される
最大幅より小さい画像はそのままのサイズで表示される

可変することが前提なので、heightプロパティに「auto」も指定する

表示位置を定義 ― 文章の回り込み:float

float: 表示位置の値

要素を浮かせて配置するにはfloatプロパティを使用する
floatプロパティで浮かせた要素の後に続くコンテンツが空いたスペースに回り込む

◆使いどころ
 画像(figure)に指定して後続の文章を回り込ませる

◆注意
 ・幅が中の要素に合わせて可変になる
 ・上下マージンが加算になる

可変することが前提なので、heightプロパティに「auto」も指定する

代表的な値解説・記述例
none(初期値)通常位置(浮かせて配置しない)
left対象要素を浮かせて左に配置
続く要素のコンテンツが右の空きスペースに回り込む
right対象要素を浮かせて右に配置
続く要素のコンテンツが左の空きスペースに回り込む
float

●画像と文章の間に余白を入れたい場合

figure要素にmarginを付与する
(文章はfigureをくぐっている状態なので、文章側にmarginを入れるのは非効率)

.alignleft {
  float: left;
  margin-right: 10px;
}

.alignright {
  float: right;
  margin-left: 10px;
}

回り込みの解除を定義:clear

floatプロパティの指定により回り込んでしまった要素の周り込みを解除する
値はどんなfloat値でも回り込み解除する「both」を主に使う

clear: both;
代表的な値解説・記述例
none(初期値)回り込み解除しない
leftfloat: left;により回り込んだ要素の回り込み解除
rightfloat: right;により回り込んだ要素の回り込み解除
both左右両方の回り込みを解除
clear
回り込んじゃった「h1要素」
h1 {
  clear: both;
}
回り込みが解除されたので元に戻る

行内複数画像の縦方向位置調整

vertical-align: 縦方向揃え位置の値;

行・セル内での縦方向位置表示を「上揃え」「中央揃え」「下揃え」等にすることができる

※vertical-alignプロパティはテーブルセルと画像などのインライン要素に適用できる
 ブロックレベル要素に定義しても無効になる

代表的な値解説・記述例
baseline(初期値)ベースライン
top上揃え
middle中央揃え
bottom下揃え
vertical-align
vertical-align: top;
vertical-align: middle;

画像下の隙間をなくす

ベースライン(初期値)の下に隙間が空いてしまう
img {
  vertical-align: bottom;
}
img要素の行内縦方向位置「bottom」になり
画像下の隙間がなくなった

img要素の定番定義

「はみ出た画像を縮小する」「画像下の隙間をなくす」は定番の定義
 ※「vertical-align: top;」を指定して隙間をなくす方法もある

img {
  max-width: 100%
  height: auto;
  vertical-align: bottom;
}

画像を角丸表示

border-radius: 四隅の値;
border-radius: 左上と右下 左下と右上;
border-radius: 左上 左下と右上 右下;
border-radius: 左上 右上 右下 左下;
代表的な値解説・記述例
単位付きの数値単位に応じた数値で角丸を指定
マイナス値は指定できない
border-radius

画像:object-fitを使ってみる

教科書にない事項

.test {
  width: 300px;
  height: 200px;
}
.test {
  width: 300px;
  height: 200px;
  object-fit: cover;
}

上下幅を固定、画像はその枠に合わせてトリミング

カテゴリー