Skip to main content

WDS54 - Combinators in CSS

In the last article, we learned to align various elements including text and images in both vertical and horizontal way. Now it is very easy for us to align elements in the way we prefer.

Moving forward, as of now we are using the just single element as CSS selector which is one of the element name, class name or element id. In today's article, we are going to learn to combine these simple selectors to form more complex selector in CSS.
Let's begin...

Need of Combinators

Combinators help us to create complex CSS selector which selects the elements more precisely to apply CSS properties on them.
The following four different combinators are in CSS:
  • descendant selector(space)
  • child selector(>)
  • adjacent sibling selector(+)
  • general sibling selector(~)

Descendant Selector

The descendant selector matches all elements that are descendants of a specified element. The selectors are separated by space in between them.
To select all the images that are inside of div with id contacts and give them border:

#contacts img {
    border: 2px solid black;
}

Child Sector

The child selector selects all elements that are the immediate children of a specified element.
To select all the images that are immediate children of div with id contacts and give them border:

#contacts > img {
    border: 2px solid black;
}

Adjacent Sibling Selector

The adjacent sibling selector selects all the elements that are the adjacent siblings of a specified element. The sibling elements mean they have the same parent element and adjacent refers to immediate following elements.
To select all image elements which has the same parent as div with id contacts and are placed immediately after the div:

#contacts + img {
    border: 2px solid black;
}
Note: Output of this will be different from that in child selector. In child selector, it will select images inside div (that is children), while here it will select sibling elements of div which will be of course outside of div.

General Sibling Selector

The general sibling selector selects all elements that are siblings of a specified element.
To select all images that are the sibling of div with id contacts:

div ~ p {
    border: 2px solid black;
}

That's all for today. In the next article, we are going to learn something new about classes. So keep practicing and #keepCoding.

Comments

Popular posts from this blog

Python Project - 1 (Password Locker)

Hello reader, this is my first post on this blog. I created this blog for various purposes including First and most importantly improve my coding Help others to learn various concepts in programming  To complete my hobby of blogging So, I am starting various series simultaneously, hope I will able to continue them. In this " Python Project " series, I will create simple python projects and will give step by step procedure to do that. I think you should first try to complete code yourself, then if you get stuck anywhere, feel free to check steps, refer complete code or comment for more help. Let's begin... Idea and Need: You probably have accounts on many different websites. It is a bad habit to have the same password and it is difficult to remember all passwords. So it is a good idea to use "Password Manager Software". So why not create it yourself? So let's see what steps you should follow... Steps: We have to create a menu which has the

WDS85 - Animate the CSS(Part 3)

In the last two articles, we learned about animations in CSS and various ways to customize them with the help of iterations and animation delays. Now in today's article, we are going to learn more about them so that to customize them even more. Let's begin... Reverse Directions and Alternate Cycles The animation-direction property in CSS decides whether we want to play animation forward, backward or in alternate cycles. Following values are possible: normal - This is the default. Animation plays as normal(forward). reverse - The animation plays in reverse direction that is backward. alternate - The animation first plays forward and then backward. alternate-reverse - The animation first plays backward and then forward. Speed Curve of Animation Just like we used various ways to customize transitions in CSS some articles before, same functions can be used to change the speed of the animation. The animation-timing-function property specifies the speed curve o

WDS83 - Animate the CSS

In the last two articles, we learned about CSS transitions and created some pretty cool elements with transitions and transformations. Now in today's class, we are going to learn animations in CSS which creates animations without the use of javascript or flash. CSS Animations A CSS animation lets us change an element's style from one to another. We can change as many properties as we want. To use this CSS animations, we have to first specify some keyframe rules which include how and which properties are we changing. The @keyframes Rule When we specify CSS styles inside the  @keyframes rule, the animations will gradually change from current style to new style at certain times. To get these working, we must bind animations to an element. Let's understand more by an example... @keyframes myAnimation { from { background-color : blue ;} to { background-color : red ;} } div { width : 100px ; height : 100px ; background-color : b