• 技术文章 >web前端 >前端问答

    @在css中是什么作用

    青灯夜游青灯夜游2022-09-16 17:22:53原创127

    在css中,“@”是一个声明,为CSS提供执行或怎么表现的指令。每个规则声明以“@”开头,后紧跟一个可用的关键字,这个关键字充当一个标识符,用于表示CSS该做什么;例如“@charset”规则就定义了浏览器使用的字符集,“@font-face”规则允许在web页面上加载自定义字体。

    大前端成长进阶课程:进入学习

    本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

    @ 在 CSS1 中的 @import 时代就已经存在了,在 CSS 中称为 at-rules

    at-rule是一个声明,为CSS提供执行或怎么表现的指令。每个规则声明以@开头,后紧跟一个可用的关键字,这个关键字充当一个标识符,用于表示CSS该做什么。这是一个通用的语法,尽管每个at-rule有其它语法变体。

    常规规则

    常规规则遵循下面的语法:

    代码如下:

    @[KEYWORD] (RULE);

    @charset

    这个规则定义了浏览器使用的字符集,如果样式表包含非ASCII characters (e.g:UTF-8)。注意,被放在HTTP头部的字符集将会覆盖@charset规则

    代码如下:

    @charset "UTF-8";

    @import

    这个规则指示请求样式表,在这一行,如果内容是正确的,就会引入一个外部的CSS文件。

    代码如下:

    @import 'global.css';

    虽然流行的CSS预处理器都支持@import,但是应该指出的是,它们的工作原理不同于原生的CSS:预处理器会抓取CSS文件并将它们处理成一个CSS文件,对原生CSS,每一个@import都是一个独立的HTPP请求。

    @namespace

    对于将CSS应用在XML HTML(XHTML),这个规则是非常有用的,因为XHTML元素能在CSS中被作为一个选择器使用。

    代码如下:

    /* 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);

    嵌套规则

    嵌套规则包含了额外的子集声明,其中一些声明只能用于特定情况。

    代码如下:

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

    @document

    这个规则为样式表指定了条件:只能应用于特定页面。举个粟子,我们提供一个URL,然后为这个特定的页面自定义样式,在其他页面中,这些样式会被忽略。

    代码如下:

    @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

    这个规则允许在web页面上加载自定义字体,对自定义字体有不同程度的支持,但是这个规则接受语句创建和提供这些字体。

    代码如下:

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

    @keyframes

    在诸多CSS属性中,这个规则是关键帧 动画的基础,并允许我们标记动画开始和结束的标志。

    代码如下:

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

    @media

    这个规则包含条件声明,可用于为特定屏幕指定样式,这些声明可以包含屏幕大小,在适屏样式中会很有用.

    代码如下:

     /* 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%; }
    }

    或者只在文档打印时运用样式

    代码如下:

    @media print {
    }

    @page

    这个规则为将要打印的单独页面定义样式。特别的是,它能为页面伪元素设置外边距::first、:left和:right

    代码如下:

    @page :first {
    margin: 1in;
    }

    @supports

    这个规则可测试浏览器知否支持某个特性/功能,如果满足条件,将会为这些元素应用特定样式。有点像Modernizr,但确实是CSS属性。

    代码如下:

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

    总结

    at-rule可以使CSS做一些疯狂有趣的事情。尽管文章中的示例很基础,但是可以看到,对于特定的条件,它们是如何使用样式的,从而创建匹配特定场景的用户体验和交互。

    (学习视频分享:web前端

    以上就是@在css中是什么作用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:css @
    上一篇:css怎么实现给元素块加阴影的效果 下一篇:html5中不允许写结束符的标签有哪些
    VIP课程(WEB全栈开发)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• 巧用 CSS混合模式 让文字智能适配背景颜色• CSS技巧分享:纯CSS实现表格响应式布局• css里能控制显示虚线吗• 如何写出优雅耐看的css代码?css命名小技巧分享!• 总结分享几个借助 CSS 来更好的控制定时器的方法• css怎么实现给元素块加阴影的效果
    1/1

    PHP中文网