CSS 中 @ 用法详解

CSS 中 @ 用法详解

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

推荐教程:《CSS教程》

以上就是CSS 中 @ 用法详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2885125.html

(0)
上一篇 2025年3月10日 20:35:50
下一篇 2025年2月23日 08:14:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何建立纯css的滑块

    可以使用 max-height 属性来建立纯 css 的滑块。 (推荐教程:css快速入门) 属性介绍: max-height 属性设置元素的最大高度。max-height属性不包括填充,边框,或页边距! 代码实现: 立即学习“前端免费学习…

    2025年3月10日
    200
  • CSS的三种样式形式?

    CSS的三种样式形式? 1、内联式,是把css代码直接写在现有的HTML标签中; 这里文字是红色。 登录后复制 2、嵌入式,是把css样式代码写在“style”标签之间; span{color:red;} 登录后复制 3、外联式,是把css…

    2025年3月10日
    200
  • 纯CSS如何实现3D书本效果?(代码示例)

    本篇文章给大家通过代码示例介绍css实现3d书本效果,代码简单易懂。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 话不多说,先来看一下效果图 源代码如下 nbsp;html>            Document…

    2025年3月10日
    200
  • 详解CSS中的选择器和优先级

    CSS选择器优先级得关系为: !important>内联>ID选择器>类选择器>标签选择器。 一种优先级算法 1、内联样式表的权值最高 () 权值为1000 2、统计选择符中的ID属性个数。(#id) 权值为100 …

    2025年3月10日
    200
  • css中有哪些常见的布局方式

    常见的几种布局方式: (推荐教程:css快速入门) 固定布局 流式布局(自适应布局) 弹性布局(伸缩布局) 立即学习“前端免费学习笔记(深入)”; 定位布局 浮动布局 响应式布局(媒体查询) 固定布局的固定说的是盒子的宽高都是固定的。mar…

    2025年3月10日
    200
  • css中的display属性有哪些值?各有什么作用?

    display属性值介绍: (推荐教程:css快速入门) none    此元素不会被显示。     block    此元素将显示为块级元素,此元素前后会带有换行符。     inline    默认。此元素会被显示为内联元素,元素前后没…

    2025年3月10日
    200
  • 前端常见css的面试题目

    随着疫情的不断好转,各地都开始逐步的复工,当然对我们来说,也马上迎来所谓的金三银四跳槽季。在此,分享自己在前端领域中积累的一些经验,供自己温故知新。   对于前端来说,涉及的知识面广,内容繁多,但是万变不离其宗,主要也就是围绕着html(5…

    2025年3月10日
    200
  • 谈谈CSS实现水平垂直居中布局的方法

    最近面试的时候,面试官问到了CSS水平垂直居中布局的方式,对于刚入前端没多久的我,无疑是一脸懵逼,闲了赶紧查阅资料分析一波,给各位分享一下,避免落坑。 首先先说明一下html和一些基础css样式,下面就不再赘述!html 垂直水平居中 登录…

    2025年3月10日
    200
  • 在html元素中设置css样式的方式是什么

    如果我们要在HTML元素中设置CSS样式,那么我们就需要在元素中设置”id” 和 “class”选择器。 (推荐教程:CSS教程) 下面我们来分别说一下id选择器和class选择器。 id选择…

    2025年3月10日
    200
  • css如何设置透明度不会影响子元素

    通过RGBA设置透明度,只有最新的浏览器支持,支持IE9+,可通过RGBA的alpha通道的方式设定。 (推荐教程:CSS教程)  显示文字   登录后复制 前三个值是rgb的颜色值,最后一个透明度的值,取值为0~1,值越小越透明。 兼容所…

    2025年3月10日
    200

发表回复

登录后才能评论