search
HomeWeb Front-endCSS TutorialHow to use @ rule in CSS? Usage introduction

How to use @ rule in CSS? Usage introduction

[Recommended tutorial: CSS video tutorial]

at-rule is a statement that provides execution or Instructions on how to behave. Each declaration begins with @, followed by an available keyword, which acts as an identifier to indicate what the CSS should do. This is a general syntax, although there are other syntax variations for each at-rule.

General Rules

General rules follow the following syntax:

The code is as follows:

@[KEYWORD] (RULE);

@charset

This rule defines the character set used by the browser if the style sheet contains non-ASCII characters (e.g: UTF-8). Note that the character set placed in the HTTP header will override the @charset rule

The code is as follows:

@charset "UTF-8";

@import

This rule indicates Request the style sheet. In this line, if the content is correct, an external CSS file will be introduced.

The code is as follows:

@import 'global.css';

Although popular CSS preprocessors support @import, it should be noted that their working principles are different from native CSS: the preprocessor will crawl CSS files and process them into a CSS file. For native CSS, each @import is a separate HTTP request.

@namespace

This rule is very useful for applying CSS to XML HTML (XHTML), because the XHTML element can be used as a selector in CSS use.

The code is as follows:

/* Namespace for XHTML */
@namespace url(http://www.w3.org/1999/xhtml);
/* Namespace for SVG embedded in XHTML */
@namespace svg url(http://www.w3.org/2000/svg);

Nested rules

Nested rules contain additional subset declarations, some of which can only be used for specific Condition.

The code is as follows:

@[KEYWORD] {
/* Nested Statements */
}

@document

This rule specifies conditions for the style sheet: it can only be applied to specific pages. For example, we provide a URL and then customize the styles for this specific page. In other pages, these styles will be ignored.

The code is as follows:

@document
    /* Rules for a specific page */
    url(http://css-tricks.com/),
    /* Rules for pages with a URL that begin with... */
    url-prefix(http://css-tricks.com/snippets/),
    /* Rules for any page hosted on a domain */
    domain(css-tricks.com),
    /* Rules for all secure pages */
    regexp("https:.*")
    {
        /* Start styling */
        body { font-family: Comic Sans; }
    }

@font-face

This rule allows loading custom fonts on web pages, and there are differences for custom fonts level of support, but this rule accepts statements to create and provide these fonts.

The code is as follows:

@font-face {
    font-family: 'MyWebFont';
    src: url('myfont.woff2') format('woff2'),
    url('myfont.woff') format('woff');
}

@keyframes

Among many CSS properties, this rule is the basis of keyframe animation and allows us to mark animations Start and end signs.

The code is as follows:

@keyframes pulse {
    0% {
        background-color: #001f3f;
    }
    100% {
        background-color: #ff4136;
    }
}

@media

This rule contains conditional statements that can be used to specify styles for specific screens. These statements can include screen sizes. , it will be very useful in screen-adaptive styles.

The code is as follows:

/* iPhone in Portrait and Landscape */
@media only screen
    and (min-device-width: 320px)
    and (max-device-width: 480px)
    and (-webkit-min-device-pixel-ratio: 2) 
{
    .module { width: 100%; }
}

Or only use the style when printing the document

The code is as follows:

@media print {
}

@page

This rule defines styles for individual pages that will be printed. In particular, it can set margins for page pseudo-elements: :first, :left and :right

The code is as follows:

@page :first {
    margin: 1in;
}

@supports

This rule can test whether the browser supports a certain feature/function. If the conditions are met, specific styles will be applied to these elements. A bit like Modernizr, but really CSS properties.

The code is as follows:

/* Check one supported condition */
@supports (display: flex) {
    .module { display: flex; }
}
/* Check multiple conditions */
@supports (display: flex) 
    and (-webkit-appearance: checkbox) {
    .module { display: flex; }
}

Summary

at-rule can make CSS do some crazy and interesting things. Although the examples in the article are basic, you can see how they can be used with styles for specific conditions to create user experiences and interactions that match specific scenarios.

The article is reprinted and is only used for sharing and learning. If there is any infringement, please leave a message and contact us to delete it. Thank you!

For more programming-related knowledge, please visit: Introduction to Programming! !

The above is the detailed content of How to use @ rule in CSS? Usage introduction. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:csdn. If there is any infringement, please contact admin@php.cn delete
Two Images and an API: Everything We Need for Recoloring ProductsTwo Images and an API: Everything We Need for Recoloring ProductsApr 15, 2025 am 11:27 AM

I recently found a solution to dynamically update the color of any product image. So with just one of a product, we can colorize it in different ways to show

Weekly Platform News: Impact of Third-Party Code, Passive Mixed Content, Countries with the Slowest ConnectionsWeekly Platform News: Impact of Third-Party Code, Passive Mixed Content, Countries with the Slowest ConnectionsApr 15, 2025 am 11:19 AM

In this week's roundup, Lighthouse sheds light on third-party scripts, insecure resources will get blocked on secure sites, and many country connection speeds

Options for Hosting Your Own Non-JavaScript-Based AnalyticsOptions for Hosting Your Own Non-JavaScript-Based AnalyticsApr 15, 2025 am 11:09 AM

There are loads of analytics platforms to help you track visitor and usage data on your sites. Perhaps most notably Google Analytics, which is widely used

It's All In the Head: Managing the Document Head of a React Powered Site With React HelmetIt's All In the Head: Managing the Document Head of a React Powered Site With React HelmetApr 15, 2025 am 11:01 AM

The document head might not be the most glamorous part of a website, but what goes into it is arguably just as important to the success of your website as its

What is super() in JavaScript?What is super() in JavaScript?Apr 15, 2025 am 10:59 AM

What's happening when you see some JavaScript that calls super()?.In a child class, you use super() to call its parent’s constructor and super. to access its

Comparing the Different Types of Native JavaScript PopupsComparing the Different Types of Native JavaScript PopupsApr 15, 2025 am 10:48 AM

JavaScript has a variety of built-in popup APIs that display special UI for user interaction. Famously:

Why Are Accessible Websites so Hard to Build?Why Are Accessible Websites so Hard to Build?Apr 15, 2025 am 10:45 AM

I was chatting with some front-end folks the other day about why so many companies struggle at making accessible websites. Why are accessible websites so hard

The `hidden` Attribute is Visibly WeakThe `hidden` Attribute is Visibly WeakApr 15, 2025 am 10:43 AM

There is an HTML attribute that does exactly what you think it should do:

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools