Selector |
symbol |
example |
Description |
Descendant |
" " |
body p |
all p tag inside body |
Child |
> |
body > p |
all p which is direct child of body |
Adjacent sibling |
+ |
p + img |
img which is next sibling to p |
General Sibling |
~ |
p ~ img |
all img which is sibling after p |
<style>
.container .inner {
border: 1px solid red;
}
</style>
<div class="container">
<div>
<div class="inner">hello</div>
</div>
<div class="inner">hello</div>
</div>
![](https://user-images.githubusercontent.com/59721339/234054823-959d8628-1f12-4f72-a1df-b8b5eecc943f.png)
<style>
.container > .inner {
border: 1px solid red;
}
</style>
<div class="container">
<div>
<div class="inner">hello</div>
</div>
<div class="inner">hello</div>
</div>
![](https://user-images.githubusercontent.com/59721339/234055286-4116cc5d-626e-4d7a-a9c2-e001f586500c.png)
<style>
.child-2 + p {
border: 2px solid red;
}
</style>
<div class="container">
<p class="child-1">1</p>
<p class="child-2">2</p>
<p class="child-3">3</p>
<p class="child-4">4</p>
</div>
![](https://user-images.githubusercontent.com/59721339/234057314-12a4855f-0571-4c8d-8cf1-78bdb5d359f4.png)
<style>
.child-2 ~ p {
border: 2px solid red;
}
</style>
<div class="container">
<p class="child-1">1</p>
<p class="child-2">2</p>
<p class="child-3">3</p>
<p class="child-4">4</p>
</div>
![](https://user-images.githubusercontent.com/59721339/234058039-30b347e6-1534-400a-9bf3-8284d452d36a.png)