< 戻る

コンビネーター(結合子)

コンビネーター(結合子)は、要素と要素の位置関係によって指定するセレクターである。

目次
  1. 子孫結合子
    • ソースコードの例
    • 説明
  2. 子結合子
    • ソースコードの例
    • 説明
  3. 一般兄弟結合子
    • ソースコードの例
    • 説明
  4. 隣接兄弟結合子
    • ソースコードの例
    • 説明
  5. KnotTextでのCSSの分類

1. 子孫結合子(Descendant combinator) selector1 selector2

子孫結合子(Descendant combinator)は、selector1に含まれる全てのselector2を指定する。

1-1. ソースコードの例

selector1 selector2 {
   property: value;
}

ul li {
   property: value;
}

1-2. 説明

特になし。

2. 子結合子(Child combinator) selector1 > selector2

子結合子(Child combinator)は、selector1に含まれる直下のみのselector2を指定する。

2-1. ソースコードの例

selector1 > selector2 {
   property: value;
}

ul > li {
   property: value;
}

2-2. 説明

特になし。

3. 一般兄弟結合子(General sibling combinator) selector1 ~ selector2

一般兄弟結合子(General sibling combinator)は、selector1とselector2が同じ親要素を持っている状態で、selector1に並ぶ全てのselector2を指定する。?曖昧

3-1. ソースコードの例

selector1 ~ selector2 {
   property: value;
}

ul ~ li {
   property: value;
}

3-2. 説明

特になし。

4. 隣接兄弟結合子(Adjacent sibling combinator) selector1 + selector2

兄弟

隣接兄弟結合子(Adjacent sibling combinator)は、selector1とselector2が同じ親要素を持っている状態で、selector1の直後に並ぶselector2を指定する。?曖昧

4-1. ソースコードの例

selector1 + selector2 {
   property: value;
}

ul + li {
   property: value;
}

4-2. 説明

特になし。

備考 Column combinator 列結合子と呼ばれる実験的なやつは対応なしなので扱わない

ul || li {
   property: value;
}

名前を"subsequent-sibling combinator"に変更

隣接兄弟(Adjacent sibling)結合子 p + a (仕様ではNext-sibling combinator)

一般兄弟(General sibling)結合子 p ~ a (仕様ではSubsequent-sibling combinator)

5. KnotTextでのCSSの分類

参考:CSS reference - CSS | MDN

2-1. CSSセレクター

2-1-1. ベーシックセレクター

ユニバーサルセレクタ―* { }
タイプセレクタ―element { }
クラスセレクタ―.classname { }
IDセレクター#idname { }
属性セレクタ―selector[attribute] { }

2-1-2. グルーピングセレクター

セレクターリストdiv, p { }

2-1-3. コンビネーター(結合子)

子孫結合子div a
子結合子div > a
一般兄弟結合子p ~ a
隣接兄弟結合子p + a

2-1-4. 疑似クラスと疑似要素

疑似クラスdiv:hover { }
疑似要素div::before { }

2-2. CSSプロパティ

3Dperspective, backface-visibilityなど
animationanimation, transform, transitionなど
boxmodeloutline, margin, border, padding, background, overflow, z-index, height, width, positionなど
countercounter-increment, counter-reset, counter-setなど
custom--*
elementbox-shadow, box-sizing, object-fit, object-position, opacity, mix-blend-mode, visibility, content, display, text-overflow, float, clear, empty-cells, caption-side, list-styleなど
graphicsbackdrop-filter, filter, shape-image-threashold, shape-margin, scale, image-rendering, aspect-ratio, mask, clip, clip-path, inset, outsetなど
internationalizationline-break, writing-mode, text-orientation, text-combine-upright, direction, unicode-bidi, block-size, inline-sizeなど
layoutcolumn-rule, flex, grid, align-content, align-items, align-self, align-tracks, justify-content, justify-items, justify-self, order, column-count, column-fill, column-gap, columns, column-span, column-width, gap, row-gap, place-content, place-items, place-self, vertical-alignなど
performanceforced-color-adjust, text-rendering, content-visibility, will-change, color-scheme, contain, color-adjustなど
textword-spacing, text-shadow, text-transform, text-underline-offset, text-underline-position, white-space, shape-outside, text-align, text-align-last, text-indent, text-justify, letter-spacing, line-height, line-height-step, widows, word-break, word-wrap, color, hanging-punctuation, hyphens, initial-letter, orphans, quotes, font, text-decoration, text-emphasis, break-after, break-before, break-insideなど
user-interfacescroll-margin, scroll-padding, overscroll-behavior, user-select, touch-action, caret-color, cursor, resize, pointer-events, scrollbar-color, scrollbar-gutter, scrollbar-width, scroll-behavior, scroll-snap-align, scroll-snap-typeなど
その他のCSSプロパティ

2-3. CSSプロパティの値

Lengthpx pt vh...
inherit, unset...
!important
Functionsattr(), calc(), clamp(), max(), min()...
Angledeg, grad, rad, turn...
Resolutiondpi, dpcm, dppx, x...
Times, ms...
FrequencyHz, kHz...
その他の値

2-4. @ルール

@font-faceWebフォント
@namespace
@media@media(min-width: 540px) { }
@supports
@charset@charset 'utf-8';
@page
@counter-style
@color-profile
@keyframes
その他の@ルール

W3C CSS Validation Service は CSS が正しく書かれているかを判定するために利用できます。デバッグのために重宝するツールです。

端末のディスプレイ情報を調べる (responsive web design で役立ちます)