[attribute] contains all the text of the attribute property
[attribute=value] attribute all text with property value
[attribute~=value] The attribute property value contains
[attribute|=value] attribute attribute value header contains value
[attribute^=value] matches the property value to specify each element at the beginning of the value
[attribute$=value] Attribute Property value ends with value
[attribute*=value] The Attribute property value contains value
[abc^= "Def"]: Select all elements with the ABC attribute value beginning with "Def"
[abc$= "Def"]: Select all elements with the ABC attribute value ending with "def"
[abc*= "Def"]: Select all elements of the ABC attribute value that contain the substring "def"
H1 + P: The adjacent sibling selector uses the plus sign (+), which is the adjacent sibling (adjacent sibling combinator).
Example:<div>
<p></p>
</div>
p > I:p All I tags under the label
P > i:first-child The first I label for each p tag
CSS Property Selector