2024.09.22

HTML・CSS

linear-gradientで作る格子模様と市松模様

background-imageプロパティのlinear-gradientで、1pxの線のみの格子模様と塗りと塗り無しの市松模様を作成します。
デモページはこちら

共通のCSSは以下になります。模様はdivタグの疑似要素で作成します。

.div-parent {
  position: relative;
  width: 100%;
  height: 148px;
  margin: 0 0 1em;
  background-color: #fff;
}
.div-parent::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-size: 40px 40px;
}

まず、1pxの線のみの格子模様です。background-imageに角度の異なるlinear-gradientを2つ指定します。最初が横線、2つ目が縦線です。

.style01::before {
  background-image: linear-gradient(90deg, #e1e2ed 1px, transparent 1px), linear-gradient(#e1e2ed 1px, transparent 1px);
}

次に、塗りと塗り無しの市松模様です。同じlinear-gradientを2つ指定し、2つ目はbackground-positionで位置をずらします。ずらす距離はbackground-sizeの半分です。

.style02::before {
  background-image: linear-gradient(45deg, #e1e2ed 25%, transparent 25%, transparent 75%, #e1e2ed 75%), linear-gradient(45deg, #e1e2ed 25%, transparent 25%, transparent 75%, #e1e2ed 75%);
  background-position: 0 0, 20px 20px;
}

background-sizeとbackground-positionを調整すれば、市松模様を大きくできます。

.style03::before {
  background-image: linear-gradient(45deg, #e1e2ed 25%, transparent 25%, transparent 75%, #e1e2ed 75%), linear-gradient(45deg, #e1e2ed 25%, transparent 25%, transparent 75%, #e1e2ed 75%);
  background-size: 80px 80px;
  background-position: 0 0, 40px 40px;
}

関連記事

2024.09.25

HTML・CSS

marginの相殺について

兄弟要素と親子要素で発生するmarginの相殺について確認します。また相殺が発生しない例外についても確認します。デモページはこちら 共通のCSSは以下になります…

2020.07.18

HTML・CSS

CSSアニメーションで画像を横スクロール無限ループ

CSSアニメーションで画像を横スクロール無限ループさせます。まずhtmlのコードです。同じ画像を2つ配置して、クラス名loop_wrapのdivタグで囲います。…

2024.06.14

HTML・CSS

90°回転させた要素をブロック要素内右側に収めるtransform-originの設定

右上に配置した長方形の要素を90°回転させた時に、親のブロック要素内に収めるtransform-originの設定です。デモページはこちら htmlは以下のよう…

2020.09.14

HTML・CSS

metaタグのformat-detectionで自動リンクを無効化

デモページはこちら metaタグのformat-detectionを設定して、スマホのブラウザで電話番号、メールアドレス、住所の表記がリンクに自動変換されるのを…

2022.07.17

HTML・CSS

Google Fontsの読み込みをDNSプリフェッチで最適化

DNSプリフェッチを利用すると、外部ドメイン名(ホスト名)の名前解決(DNSルックアップ)を事前に強制できます。 WEBページ表示時ブラウザが外部ドメインにアク…

上に戻る