Skip to main content

Project Study: Five Advanced CSS Selectors You Should Know

Today, I am going to share five advanced CSS selectors from Udemy course. Then, I will create a simple project to explain how we apply each selectors.

Those five advanced selectors are:
  • Star Selector: Whatever we do, it will apply to every single element.
  • Descendant Selector: The way that descendant selector works is that it takes two or more tag names or two or more selectors and you chain them together.
  • Adjacent Selector: With adjacent selector, it will let us select elements that comes after another element.
  • Attribute Selector: The attribute selector is a way to select elements based of any attribute.
  • Nth of Type: The way of nth of type works is it takes a number like three or five and then it selects every end of a specific element. So if I want to select every fifth paragraph, I could use nth of type.

I know it is not clear to understand without apply them in a project and see how they work.

Now I am going to create a simple web page named "Selector Demo", which includes some lists and hyperlinks.

The HTML Part:


The Web page looks like:

Now I am going to apply those five selectors in the CSS file.


  • Star Selector
I want every element on the page has a border, so the simple way is to use star selector:
*{border: 1px solid lightgrey:}
  • Descendant Selector
As we can see, there are three hyperlinks on the last list, and I want to make those links text in red color, so I use descendant selector:
li a{ color: red:}.
  • Adjacent Selector
There are two h4 headers, one is "Popular Vegetables", and the other one is "Popular Sites". Under each header, there is a short list. I want to add a blue border to each list. Therefore, I use adjacent selector: 
h4+ul { border: 4px solid blue;}.
  • Attribute Selector
There are four hyperlinks on this page, and two of them are linking to Google. I want to give a yellow background to Google links. As we know, the hyperlink attribute is " a href=", so the attribute selector will be 
a[href="http://www.google.com"] { background: yellow;}
  • Nth of Type
I build three lists on the page. I want the even number on every list has a green background, so I use the nth of type: 
li:nth-of-type(even) { background: green;}

The final outcome will be:



Comments

Popular posts from this blog

Intermediate Express.js: How To Add Styles & Partials in EJS File?

So far, we only have simple HTML tags and ejs tags in each ejs file. Every template page has no style at all. And the basic HTML header and footer are also missing. Today, I learned how to add styles and partials in ejs file. Link Style Step One: Touch a Separate CSS file I create a new directory "Style" under the "EJSDemo" directory, then I add a new CSS file "app.css" inside "Style" folder. Step Two: Add app.use(express.static()) in the app.js I add app.use(express.static("style")) in the "app.js". This will tell Express.js to serve the content of "Style" directory. Step Three: Write styles in CSS file I simple give body an orange background color and set text color to be grey. Step Four: Link to CSS file in the EJS file I just add <link> tag to link the "app.css" file on the top of the h1 tag in each ejs template. As the result, when I run the app and...

Intro to Backend: Is Browser The Only Place To Send HTTP Request?

Today,  I begin to learn the second part of web develop course: backend. Frontend is the stuff that we can see and interactive with, such as HTML, CSS, and JS. We can type our code, style our page, or write some function to make interaction. However, backend is everything else. For example, we type Target web address in the Internet Browser. As we hit "enter", there are a few steps to go through: 1. The HTTP request is sent to a particular server's IP address. 2. The server figures out what to send us 3. It sends a HTTP response back to us Those process we are hard to see, and it happens in less than one second. The instructor said that the browser is not the only place to send the HTTP request, and there are so many choices out there. In this learning course, we are going to use Postman App . Postman allows us to make HTTP requests and viewer responses. It is really for developers to understand how things are working or debug something. In the P...

Intermediate CSS: Three Steps To Create A Photo Gallery

I have seen many image blogs these years. People love to post their photos online to express life and feeling.  Image is powerful because it could bring a visual story to audience. People can see what you see, and may be feel the same way as you feel, too. If we want to build our own photo gallery, what should we do? Luckily, the boot-camp instructor just showed me how to use HTML and CSS to create a simple photo gallery.  I would love to share my study note here. (p.s. all the image links are provided by Udemy course instructor) Step One: Add Image Links on HTMLPage The instructor provides all the image links. All we need to do is add those links inside the <img> tag. Without CSS, the page will looks like this: they are not organized, and sizes are different, too. Step Two: Set Image Property Values We set the width of each photo the same value which is 30%, so there will be three images per line. The percentage value can help...