--- title: scroll-snap-coordinate slug: Web/CSS/scroll-snap-coordinate tags: - CSS - CSS スクロールスナップ - CSS プロパティ - Deprecated - Reference - scroll-snap-coordinate translation_of: Web/CSS/scroll-snap-coordinate ---
CSS の scroll-snap-coordinate プロパティは、このプロパティは、最も近い祖先のスクロールコンテナーの {{cssxref("scroll-snap-destination")}} に配置される要素内の X 座標と Y 座標の位置をそれぞれの軸で定義します。
/* キーワード値 */ scroll-snap-coordinate: none; /* <position> 値 */ scroll-snap-coordinate: 50px 50px; /* 単一の座標 */ scroll-snap-coordinate: 100px 100px, 100px bottom; /* 複数の座標 */ /* グローバル値 */ scroll-snap-coordinate: inherit; scroll-snap-coordinate: initial; scroll-snap-coordinate: unset;
要素が変形されていた場合は、スナップ座標はそのように変換されるので、スナップ点の配置は要素が表示された時に行われます。
none<div id="container"> <div> <p>At coordinate (0, 0)</p> <div class="scrollContainer coordinate0"> <div>1</div> <div>2</div> <div>3</div> </div> </div> <div> <p>At coordinate (25, 0)</p> <div class="scrollContainer coordinate25"> <div>1</div> <div>2</div> <div>3</div> </div> </div> <div> <p>At coordinate (50, 0)</p> <div class="scrollContainer coordinate50"> <div>1</div> <div>2</div> <div>3</div> </div> </div> </div>
#container {
display: flex;
}
#container > div:nth-child(-n+2) {
margin-right: 20px;
}
.scrollContainer {
width: 100px;
overflow: auto;
white-space: nowrap;
scroll-snap-type: mandatory;
font-size: 0;
}
.scrollContainer > div {
width: 100px;
height: 100px;
display: inline-block;
line-height: 100px;
text-align: center;
font-size: 50px;
}
.coordinate0 > div {
scroll-snap-coordinate: 0 0;
}
.coordinate25 > div {
scroll-snap-coordinate: 25px 0;
}
.coordinate50 > div {
scroll-snap-coordinate: 50px 0;
}
.scrollContainer > div:nth-child(even) {
background-color: #87ea87;
}
.scrollContainer > div:nth-child(odd) {
background-color: #87ccea;
}
{{EmbedLiveSample("Example", "100%", "170")}}
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName("CSS Scroll Snap Points", "#propdef-scroll-snap-coordinate", "scroll-snap-coordinate")}} | {{Spec2("CSS Scroll Snap Points")}} | 初回定義 |
{{Compat("css.properties.scroll-snap-coordinate")}}