[CSS]水平に配置したセクションを分けるスタイルのさまざまな素敵なテクニック

1ページに複数のセクションを水平に配置した際に、それらの区切りとなるさまざまなスタイルを紹介します。

縦長の1ページで構成されたプロモーションサイトやポートフォリオなどで見かけるものだけでなく、こんなこともできるのかとアイデアが素晴らしいものもたくさん!

サイトのキャプチャ

A collection of separator styles

デモページではざっと30種類の素敵なラインがスタイルされています。

デモのキャプチャ

デモページ

各デモと共にそのスタイルを紹介します。
まずはHTMLから。基本となるのは、2パターンです。
1つ目は、section要素にclassをつけるだけ。

<section class="ss-style-hogehoge">
  コンテンツ
</section>

2つ目は、svg要素を使用します。

<section>
  コンテンツ
</section>
<svg id="hoge">
  SVGの中身
</svg>

sctionだけの場合はclass、svgを使用するものはidになっています。
以下、各デモとそのスタイルです。
HTML/CSSは元ページで一式をダウンロードできます。

デモのキャプチャ
デモのキャプチャ

天地に三角形を添えます。

.ss-style-triangles::before,
.ss-style-triangles::after {
	left: 50%;
	width: 100px;
	height: 100px;
	-webkit-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}

.ss-style-triangles::before {
	top: -50px;
	background: #2980b9;
}

.ss-style-triangles::after {
	bottom: -50px;
	z-index: 10;
	background: inherit;
}
デモのキャプチャ

二重のラインを斜めにスタイルします。

.ss-style-doublediagonal {
	z-index: 1;
	padding-top: 6em;
	background: #2072a7;
}

.ss-style-doublediagonal::before,
.ss-style-doublediagonal::after {
	top: 0;
	left: -25%;
	z-index: -1;
	width: 150%;
	height: 75%;
	background: inherit;
	-webkit-transform: rotate(-2deg);
	transform: rotate(-2deg);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
}

.ss-style-doublediagonal::before {
	height: 50%;
	background: #116094;
	-webkit-transform: rotate(-3deg);
	transform: rotate(-3deg);
	-webkit-transform-origin: 3% 0;
	transform-origin: 3% 0;
}
デモのキャプチャ
デモのキャプチャ

天地に半円を添えます。

.ss-style-halfcircle::before,
.ss-style-halfcircle::after {
	left: 50%;
	z-index: 10;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: inherit;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.ss-style-halfcircle::before {
	top: -50px;
}

.ss-style-halfcircle::after {
	bottom: -50px;
}
デモのキャプチャ

大きい三角形をスタイルします。

svg#bigTriangleColor {
	pointer-events: none;
}

#bigTriangleColor path {
	fill: #3498db;
	stroke: #3498db;
	stroke-width: 2;
}
デモのキャプチャ
デモのキャプチャ

天地にカーブを描きます。

#curveUpColor path,
#curveDownColor path {
	fill: #3498db;
	stroke: #3498db;
}
デモのキャプチャ
デモのキャプチャ

天地に三角形を三つ添えます。

.ss-style-multitriangles::before,
.ss-style-multitriangles::after {
	left: 50%;
	width: 50px;
	height: 50px;
	-webkit-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}

.ss-style-multitriangles::before {
	top: -25px;
	background: inherit;
	box-shadow: -50px 50px 0 #3498db, 50px -50px 0 #3498db;
}

.ss-style-multitriangles::after {
	bottom: -25px;
	z-index: 10;
	background: inherit;
	box-shadow: -50px 50px 0 #3498db, 50px -50px 0 #3498db;
}
デモのキャプチャ

中央に角丸状のラインをスタイルします。

.ss-style-roundedsplit {
	padding-top: 7em;
	border-radius: 0 0 80px 80px;
}

.ss-style-roundedsplit::before,
.ss-style-roundedsplit::after {
	top: -70px;
	left: 0;
	z-index: 10;
	width: 50%;
	height: 70px;
	background: inherit;
}

.ss-style-roundedsplit::before {
	border-radius: 0 80px 0 0;
}

.ss-style-roundedsplit::after {
	left: 50%;
	border-radius: 80px 0 0 0;
}
デモのキャプチャ
デモのキャプチャ

両端に角丸状のラインをスタイルします。

.ss-style-invertedrounded {
	margin-bottom: 90px;
	padding: 13em 10% 10em;
	border-radius: 0 0 0 90px;
}

.ss-style-invertedrounded::before,
.ss-style-invertedrounded::after {
	left: 0;
	z-index: -1;
	height: 90px;
	background: #3498db;
}

.ss-style-invertedrounded::before {
	top: 100%;
	width: 100%;
	border-radius: 0 90px 0 0;
} 

.ss-style-invertedrounded::after {
	bottom: 0;
	z-index: -1;
	width: 50%;
}
デモのキャプチャ

ラインをボックス状にスタイルします。

.ss-style-boxes {
	padding-top: 4em;
	padding-bottom: 13em;
}

.ss-style-boxes::before {
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-image: -webkit-gradient(linear, 100% 0, 0 100%, color-stop(0.5, #3498db), color-stop(0.5, #2980b9));
	background-image: linear-gradient(to right, #3498db 50%, #2980b9 50%);
	-webkit-background-size: 130px 100%;
	background-size: 130px 100%;
}
デモのキャプチャ
デモのキャプチャ

ジグザグのラインにします。

.ss-style-zigzag::before,
.ss-style-zigzag::after {
    right: 0;
    left: 0;
    z-index: 10;
    display: block;
    height: 90px;
    background-size: 50px 100%;
  }

.ss-style-zigzag::before {
	top: -90px;
	background-image: -webkit-gradient(linear, 0 0, 300% 100%, color-stop(0.25, transparent), color-stop(0.25, #3498db));
	background-image:
		linear-gradient(315deg, #3093d5 25%, transparent 25%),
		linear-gradient( 45deg, #3498db 25%, transparent 25%);
	background-position: 50%;
}

.ss-style-zigzag::after {
	top: 100%;
	background-image: -webkit-gradient(linear, 0 0, 300% 100%, color-stop(0.25, #3498db), color-stop(0.25, #2980b9));
	background-image: 
		linear-gradient(135deg, #3498db 25%, transparent 25%),
		linear-gradient(225deg, #3498db 25%, transparent 25%);
	background-position: 50%;
}
デモのキャプチャ

角を内向きの角丸にします。

.ss-style-roundedges {
	padding-bottom: 16em;
}

.ss-style-roundedges::before,
.ss-style-roundedges::after {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: #2980b9;
	top: -100px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.ss-style-roundedges::before {
	left: -100px;
}

.ss-style-roundedges::after {
	right: -100px;
}
デモのキャプチャ

スリットを入れます。

.ss-style-slit {
	padding-top: 5em;
}

.ss-style-slit::before, 
.ss-style-slit::after {
	width: 50.5%;
	width: -webkit-calc(50% + 10px);
	width: -moz-calc(50% + 10px);
	width: calc(50% + 10px);
	height: 160px;
	background: #2980b9;
	top: -160px;
}

.ss-style-slit::before {
	left: -20px;
	-webkit-transform: skewX(10deg);
	transform: skewX(10deg);
	box-shadow: -10px -20px #3192d3;
}

.ss-style-slit::after {
	right: -20px;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
	box-shadow: 10px -20px #3192d3;
}
デモのキャプチャ

大きい円の一部をラインにします。

#bigHalfCircle path {
	fill: #3498db;
	stroke: #3498db;
}
デモのキャプチャ

シャドウ付きの大きい三角の一部をラインにします。

#trianglePath1 {
	fill: #3498db;
	stroke: #3498db;
} 

#trianglePath2 {
	fill: #2072a7;
	stroke: #2072a7;
}
デモのキャプチャ
デモのキャプチャ

ジグザグのラインをスタイルします。

.ss-style-inczigzag::before,
.ss-style-inczigzag::after {
	left: 0;
	width: 100%;
	height: 50px;
	background-size: 100px 100%;
}

.ss-style-inczigzag::before {
	top: 0;
	background-image: -webkit-gradient(linear, 0 0, 10% 100%, color-stop(0.5, #2980b9), color-stop(0.5, #3498db));
	background-image: linear-gradient(15deg, #3498db 50%, #2980b9 50%);
}

.ss-style-inczigzag::after {
	bottom: 0;
	background-image: -webkit-gradient(linear, 0 0, 10% 100%, color-stop(0.5, #3498db), color-stop(0.5, #2980b9));
	background-image: linear-gradient(15deg, #2980b9 50%, #3498db 50%);
}
デモのキャプチャ

城壁の上部のようなラインにします。

.ss-style-castle::before {
	left: 0;
	width: 100%;
	height: 50px;
	background-size: 200px 100%;
	top: 0;
	background-image: -webkit-linear-gradient(40deg, #3498db 50%, #2980b9 50%);
	background-image: linear-gradient(40deg, #3498db 50%, #2980b9 50%);
}
デモのキャプチャ

シャドウ付きのスリットをいれます。

#slitPath1 {
	fill: #3498db;
	stroke: red;
	stroke-width: 0;
}

#slitPath2, #slitPath3 {
	fill: #2072a7;
}
デモのキャプチャ

端を折り返します。

.ss-style-foldedcorner::before,
.ss-style-foldedcorner::after {
	bottom: 0;
	width: 100px;
	height: 100px;
}

.ss-style-foldedcorner::before {
	right: 0;
	background-image: -webkit-linear-gradient(top left, #37a2ea 50%, #3498db 50%);
	background-image: linear-gradient(315deg, #3498db 50%, #37a2ea 50%);
}

.ss-style-foldedcorner::after {
	right: 100px;
	background-image: -webkit-linear-gradient(top left, transparent 50%, #236fa1 50%);
	background-image: linear-gradient(315deg, #236fa1 50%, transparent 50%);
}
デモのキャプチャ

中央にドットを配置します。

.ss-style-dots::before {
	bottom: 20px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #2072a7;
	box-shadow: 30px 0 #2072a7, -30px 0 #2072a7;
}
デモのキャプチャ

中央に二重線を配置します。

.ss-style-doubleline::before {
	bottom: 30px;
	width: 140px;
	height: 2px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #2072a7;
	box-shadow: 0 30px 0 #2072a7;
}
デモのキャプチャ

中央にクロスを配置します。

.ss-style-cross {
	padding-bottom: 15em;
}

.ss-style-cross::before,
.ss-style-cross::after {
	background: #2072a7;
	bottom: 70px;
	width: 200px;
	height: 2px;
	left: 50%;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}

.ss-style-cross::before {
	-webkit-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}

.ss-style-cross::after {
	-webkit-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}
デモのキャプチャ

切手の縁のようなラインにします。

#stamp path {
	fill: #3498db;
	stroke: #3498db; /* avoid gap in FF */
}
デモのキャプチャ

雲のようにモコモコのラインにします。

#clouds path {
	fill: #ecf0f1;
	stroke: #ecf0f1;
}

top of page

©2017 coliss