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...

WDS15 - Handle your Metadata

In the last short article we learned about: HTML iframe element to display webpage inside webpage Now in this article, we are going to see something which will not make the direct impact on how you are seeing your webpage but will do a lot of background work. So let's get started... In the very first article on HTML, while learning basic HTML page structure we divided HTML document into two main parts: head and body. This head contains metadata about HTML document which we write in the body of HTML. Ler's see how to write this metadata... HTML <meta> element <meta> element is used to specify about author of webpage, various tags for article, page description and many other things. Metadata is used by browsers to decide how to display content and search engines to classify web pages according to tags and keywords. HTML Character set A defined list of characters recognized by the computer hardware and software. Each character is represented by a num...

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 ...