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.08.22

HTML・CSS

box-shadowで作る縁取りの枠線

box-shadowプロパティの重なりを利用して、縁取りの枠線を作ります。デモページはこちら box-shadow: 水平方向の距離 垂直方向の距離 ぼかしの距…

2021.10.04

HTML・CSS

複数行のテキストの左側を縦のボーダーで装飾

デモページはこちら 複数行のテキストの左側を縦のボーダーで装飾します。CSSはborder-leftの場合とheightを設定した疑似要素beforeをabso…

2024.08.28

HTML・CSS

text-shadowで作る縁取りの文字

text-shadowプロパティを複数指定して、縁取りの文字を作ります。デモページはこちら text-shadowはbox-shadowと違い、広がりの距離とi…

2025.08.05

HTML・CSS

border-imageを利用したグラデーションのボーダー

CSSのborder-imageプロパティを利用して、グラデーションのボーダーを作成します。デモページはこちら border-imageはborder-imag…

2021.09.12

HTML・CSS

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

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

上に戻る