CSS中一些@规则的用法小结


Posted in HTML / CSS onMarch 09, 2021

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

@[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
这个规则包含条件声明,可用于为特定屏幕指定样式,这些声明可以包含屏幕大小,在适屏样式中会很有用.

@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;
	}
}

 

HTML / CSS 相关文章推荐
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 HTML / CSS
CSS+jQuery+PHP+MySQL实现的在线答题功能
Apr 25 HTML / CSS
CSS中越界问题的经典解决方案【推荐】
Apr 19 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
May 24 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 HTML / CSS
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
May 28 HTML / CSS
详解如何用canvas画一个微笑的表情
Mar 14 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
html5读取本地文件示例代码
Apr 22 HTML / CSS
HTML5实现移动端弹幕动画效果
Aug 01 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
Nov 30 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 HTML / CSS
a标签的css样式四个状态
Mar 09 #HTML / CSS
详解CSS样式中的 !important * _ 符号
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
CSS心形加载的动画源码的实现
使用CSS3实现字体颜色渐变的实现
css动画效果之animation的常用样式
Mar 09 #HTML / CSS
纯CSS3实现质感细腻丝滑按钮
Mar 09 #HTML / CSS
You might like
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
Python实现线程池代码分享
2015/06/21 Python
python开发之thread线程基础实例入门
2015/11/11 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
介绍一下Python下range()函数的用法
2013/11/07 面试题
PyQt QMainWindow的使用示例
2021/03/24 Python
中英文求职信范文
2014/01/27 职场文书
高一数学教学反思
2014/02/07 职场文书
会计岗位职责范本
2014/03/07 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers