search
HomeWeb Front-endCSS TutorialUseful CSS Selectors You Might Not Know

Useful CSS Selectors You Might Not Know

CSS selectors play a vital role in web development and are used for web page styling. While many people are familiar with common selectors, there are some less common but very useful selectors.

What are CSS selectors?

CSS selectors are patterns used to select elements on a web page for styling. They can locate elements based on attributes, classes, IDs, etc.

Commonly used CSS selectors

Here are some commonly used selectors:

  • Element Selector: Targets all elements of a specific type. For example, to style all <div> elements: <pre class="brush:php;toolbar:false">&lt;code&gt;div { border: 1px solid black; }&lt;/code&gt;</pre> <ul> <li> <strong>Class selector</strong>: Selects elements with a specific class. If we have a class called "text-large": </li> </ul> <pre class="brush:php;toolbar:false">&lt;code&gt;.text-large { font-size: 20px; }&lt;/code&gt;</pre> <ul> <li> <strong>ID selector</strong>: Targets elements with a specific ID. For element with ID "header": </li> </ul> <pre class="brush:php;toolbar:false">&lt;code&gt;#header { background-color: blue; }&lt;/code&gt;</pre> <ul> <li> <strong>Attribute selector</strong>: used for elements with specific attribute values. For example, to style all external links (using the "rel" attribute): </li> </ul> <pre class="brush:php;toolbar:false">&lt;code&gt;a[rel=&quot;external&quot;] { color: red; }&lt;/code&gt;</pre> <h2 id="Uncommon-but-useful-CSS-selectors">Uncommon but useful CSS selectors</h2> <h3 id="Child-selector-gt">Child selector (>)</h3> <p>It locates the direct child elements of the element. For parent elements with class "container": </p> <pre class="brush:php;toolbar:false">&lt;code&gt;.container &gt; p { margin-left: 10px; }&lt;/code&gt;</pre> <h3 id="Descendant-selector">Descendant selector ( )</h3> <p>This will select all descendants within the element. If we have a div with the ID "main" and want to style all <code><span></span> elements inside it:

    <code>#main span {
      color: green;
    }</code>

    Adjacent sibling selector ( )

    Selects an element that immediately follows another specific element. For example, after the <h3></h3> element, if there is a <p></p> element:

    <code>h3 + p {
      font-weight: bold;
    }</code>

    Universal sibling selector (~)

    Locate the sibling element of another element, not necessarily adjacent. If we have a div with class "item" and want to style all subsequent sibling elements with class "detail":

    <code>.item ~ .detail {
      padding-top: 5px;
    }</code>

    Attribute selector with partial matching (^=, $=, *=)

    <code>img[src^="https://www.php.cn/link/e2e1cbe72ab1192e395c35295763982a"] {
      border-radius: 5px;
    }</code>
    • ends with ($=): For all forms whose methods end with "post":
    <code>form[method$="post"] {
      background-color: #f0f0f0;
    }</code>
    • *contains (=)**: To style all links that contain "product" in their href attribute:
    <code>a[href*="product"] {
      text-decoration: underline;
    }</code>

    Negative pseudo-class (:not())

    It selects elements that do not match a certain selector. For example, all elements except elements with class "hidden":

    <code>:not(.hidden) {
      display: block;
    }</code>

    Target pseudo-class (:target)

    When the URL fragment matches the ID of the element. For the part of the URL with the ID "contact":

    <code>div {
      border: 1px solid black;
    }</code>

    Language pseudo-class (:lang())

    Locate elements based on language attributes. For elements with lang="en-US":

    <code>.text-large {
      font-size: 20px;
    }</code>

    has pseudo-class (:has())

    The

    :has() pseudo-class is used to select elements that contain specific child elements or descendant elements. For example, to style a div containing an image:

    <code>#header {
      background-color: blue;
    }</code>

    Selection pseudo-class (::selection)

    This pseudo-class allows you to style the portion of text selected by the user. For example, when the user selects some text in a paragraph:

    <code>a[rel="external"] {
      color: red;
    }</code>

    Conclusion

    These uncommon CSS selectors provide additional ways to precisely position and style elements. They enhance the flexibility and functionality of CSS code, making it more powerful and efficient at creating visually appealing and well-structured web pages.

    For more information, please visit https://www.php.cn/link/8dacd3d8b9d2cd20eb244b5f745ea88e

The above is the detailed content of Useful CSS Selectors You Might Not Know. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What is CSS Grid?What is CSS Grid?Apr 30, 2025 pm 03:21 PM

CSS Grid is a powerful tool for creating complex, responsive web layouts. It simplifies design, improves accessibility, and offers more control than older methods.

What is CSS flexbox?What is CSS flexbox?Apr 30, 2025 pm 03:20 PM

Article discusses CSS Flexbox, a layout method for efficient alignment and distribution of space in responsive designs. It explains Flexbox usage, compares it with CSS Grid, and details browser support.

How can we make our website responsive using CSS?How can we make our website responsive using CSS?Apr 30, 2025 pm 03:19 PM

The article discusses techniques for creating responsive websites using CSS, including viewport meta tags, flexible grids, fluid media, media queries, and relative units. It also covers using CSS Grid and Flexbox together and recommends CSS framework

What does the CSS box-sizing property do?What does the CSS box-sizing property do?Apr 30, 2025 pm 03:18 PM

The article discusses the CSS box-sizing property, which controls how element dimensions are calculated. It explains values like content-box, border-box, and padding-box, and their impact on layout design and form alignment.

How can we animate using CSS?How can we animate using CSS?Apr 30, 2025 pm 03:17 PM

Article discusses creating animations using CSS, key properties, and combining with JavaScript. Main issue is browser compatibility.

Can we add 3D transformations to our project using CSS?Can we add 3D transformations to our project using CSS?Apr 30, 2025 pm 03:16 PM

Article discusses using CSS for 3D transformations, key properties, browser compatibility, and performance considerations for web projects.(Character count: 159)

How can we add gradients in CSS?How can we add gradients in CSS?Apr 30, 2025 pm 03:15 PM

The article discusses using CSS gradients (linear, radial, repeating) to enhance website visuals, adding depth, focus, and modern aesthetics.

What are pseudo-elements in CSS?What are pseudo-elements in CSS?Apr 30, 2025 pm 03:14 PM

Article discusses pseudo-elements in CSS, their use in enhancing HTML styling, and differences from pseudo-classes. Provides practical examples.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.