セレクタの理解
部分的な適用をする場合には、セレクタを設定する必要があります。セレクタの構文は、CSSセレクタと同じものや、Markuplint独自の拡張構文などをサポートしています。そのため、とても柔軟に要素を選択できます。
CSSセレクタ
W3C Selectors Level 4の一部をサポートしています。
対応しているセレクタとオペレータ
種類 | サンプルコード | サポート |
---|---|---|
全称セレクタ | * | ✅ |
要素型セレクタ | div | ✅ |
IDセレクタ | #id | ✅ |
クラスセレクタ | .class | ✅ |
属性セレクタ | [data-attr] | ✅ |
属性セレクタ(完全一致) | [data-attr=value] | ✅ |
属性セレクタ(スペース区切り一致) | [data-attr~=value] | ✅ |
属性セレクタ(サブコード一致) | [data-attr|=value] | ✅ |
属性セレクタ(部分一致) | [data-attr*=value] | ✅ |
属性セレクタ(先頭一致) | [data-attr^=value] | ✅ |
属性セレクタ(末尾一致) | [data-attr$=value] | ✅ |
not擬似クラス | :not(div) | ✅ |
is擬似クラス | :is(div) | ✅ |
where擬似クラス | :where(div) | ✅ |
has擬似クラス | :has(div) :has(> div) | ✅ |
dir擬似クラス | :dir(ltr) | ❌ |
lang擬似クラス | :lang(en) | ❌ |
any-link擬似クラス | :any-link | ❌ |
リンク擬似クラス | :link :visited | ❌ |
local-link擬似クラス | :local-link | ❌ |
target擬似クラス | :target | ❌ |
target-within擬似クラス | :target-within | ❌ |
scope擬似クラス | :scope | ✅ |
current擬似クラス | :current :current(div) | ❌ |
past擬似クラス | :past | ❌ |
future擬似クラス | :future | ❌ |
インタラクティブ擬似クラス | :active :hover :focus :focus-within :focus-visible | ❌ |
enable擬似クラス | :enable :disable | ❌ |
read-write擬似クラス | :read-write :read-only | ❌ |
placeholder-shown擬似クラス | :placeholder-shown | ❌ |
default擬似クラス | :default | ❌ |
checked擬似クラス | :checked | ❌ |
indeterminate擬似クラス | :indeterminate | ❌ |
valid擬似クラス | :valid :invalid | ❌ |
in-range擬似クラス | :in-range :out-of-range | ❌ |
required擬似クラス | :required :optional | ❌ |
blank擬似クラス | :blank | ❌ |
user-invalid擬似クラス | :user-invalid | ❌ |
root擬似クラス | :root | ✅ |
empty擬似クラス | :empty | ❌ |
Nth-child擬似クラス | :nth-child(2) :nth-last-child(2) :first-child :last-child :only-child | ❌ |
Nth-child擬似クラス (of El 構文) | :nth-child(2 of div) :nth-last-child(2 of div) | ❌ |
Nth-of-type擬似クラス | :nth-of-type(2) :nth-last-of-type(2) :first-of-type :last-of-type :only-of-type | ❌ |
Nth-col擬似クラス | :nth-col(2) :nth-last-col(2) | ❌ |
疑似要素 | ::before ::after | ❌ |
子孫結合子 | div span | ✅ |
子結合子 | div > span | ✅ |
後方隣接兄弟結合子 | div + span | ✅ |
後方兄弟結合子 | div ~ span | ✅ |
列結合子 | div || span | ❌ |
セレクタリスト | div, span | ✅ |
ヒント
:has
セレクタをサポートしてい ます。一般兄弟結合子とつかうことでより柔軟に要素を選択できます。
:hasセレクタと一般兄弟結合子
{
"nodeRules": [
{
// <picture> の子で <img> より前に現れるすべての要素に適用
"selector": "picture img:has(~)",
"rules": {
"required-attr": true
}
}
]
}