CSS - Advanced Selectors and Combinator Usage

Advanced Selectors and Combinator Usage

Elements can be chosen using CSS selectors and combinators, which take into account the elements' connections within the document tree. components can be chosen by advanced selectors according to their properties, states, or connections to other components.

Code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Advanced Selectors Example</title>
    <style>
        /* Attribute selector */
        input[type="text"] {
            background-color: lightgray;
            border: none;
            padding: 10px;
        }

        /* Child combinator */
        .container > .child {
            color: red;
            margin: 5px;
        }

        /* Adjacent sibling combinator */
        h1 + p {
            font-size: 18px;
            color: green;
        }
    </style>
</head>
<body>
    <input type="text" placeholder="Text input">
    <div class="container">
        <div class="child">First child</div>
        <div class="child">Second child</div>
    </div>
    <h1>Heading</h1>
    <p>This paragraph is directly after a heading.</p>
</body>
</html>

Attribute Selector: input[type="text"] applies a specified background and padding to all <input> elements having a type of "text."

Child Combinator:.container >.child turns the immediate children of .container into red by selecting them and assigning them the class.child. Elements ending in.child that are not direct children are unaffected by this.

Adjacent Sibling Combinator: h1 + p modifies the font size and color of a paragraph that comes just after a <h1> element.

logo

CSS

Beginner 5 Hours

Advanced Selectors and Combinator Usage

Elements can be chosen using CSS selectors and combinators, which take into account the elements' connections within the document tree. components can be chosen by advanced selectors according to their properties, states, or connections to other components.

Code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Advanced Selectors Example</title>
    <style>
        /* Attribute selector */
        input[type="text"] {
            background-color: lightgray;
            border: none;
            padding: 10px;
        }

        /* Child combinator */
        .container > .child {
            color: red;
            margin: 5px;
        }

        /* Adjacent sibling combinator */
        h1 + p {
            font-size: 18px;
            color: green;
        }
    </style>
</head>
<body>
    <input type="text" placeholder="Text input">
    <div class="container">
        <div class="child">First child</div>
        <div class="child">Second child</div>
    </div>
    <h1>Heading</h1>
    <p>This paragraph is directly after a heading.</p>
</body>
</html>

Attribute Selector: input[type="text"] applies a specified background and padding to all <input> elements having a type of "text."

Child Combinator:.container >.child turns the immediate children of .container into red by selecting them and assigning them the class.child. Elements ending in.child that are not direct children are unaffected by this.

Adjacent Sibling Combinator: h1 + p modifies the font size and color of a paragraph that comes just after a <h1> element.

Related Tutorials

Frequently Asked Questions for CSS

Content, padding, border, and margin make up the box model.

Relative moves from original position; absolute positions relative to nearest positioned ancestor.

id is unique; class can be reused.

visibility hides but keeps space; display removes element from layout.

Minify files, reduce specificity, and remove unused styles.

Overrides all other declarations, regardless of specificity.

Use margin: auto or flexbox/grid techniques.

Allow responsive design by applying styles based on screen size or device.

Define relationships between selectors: descendant ( ), child (>), adjacent (+), sibling (~).

Tools like SASS or LESS add features like variables and nesting to CSS.

Targets part of an element, like ::before or ::after.

Use @import "filename.css"; at the top of the file.

Controls stacking order of overlapping elements.

Forces a property to inherit value from parent.

Static — not affected by top, bottom, left, or right.

Use universal selector * or define styles in body/root.

em is relative to parent; rem is relative to root element.

Inline, internal (embedded), and external CSS.

A layout model for arranging elements in rows or columns with flexible sizing.

Targets elements in a specific state, like :hover or :nth-child().

Use fluid layouts, media queries, and relative units.

CSS styles HTML elements to control layout, color, fonts, and responsiveness.

Reusable custom property values, declared with --var-name.

Determines which rule applies when multiple rules target the same element.

Performs calculations to dynamically set CSS property values.

line

Copyrights © 2024 letsupdateskills All rights reserved