Sometimes we need to define css style for general sibling elements. These may not be adjacent but should have same container parent. It can be defined by using syntax E1 ~ E2
. It will match when E2 follows E1 (need not be adjacent) and have same parent. The style will apply to E2.
Example – general sibling selector
In this example:
- If a div follows a sibling h2 (may not be adjacent), keep a left margin.
- For all other divs there won’t be any left margin
- Keep same left-margin for h2 also
<style type="text/css"> div { width:100px; background-color: lightgray; margin-bottom:10px; } h2, h2 ~ div { margin-left: 20px; } </style> <h1>h1</h1> <div>div1</div> <div>div2</div> <h2>h2</h2> <div>div3</div> <div>div4</div>