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实现顶部社会化分享按钮示例
May 06 HTML / CSS
css实例教程 一款纯css3实现的超炫动画背画特效
Nov 05 HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
May 03 HTML / CSS
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
Jan 20 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
Jan 24 HTML / CSS
canvas 绘图时位置偏离的问题解决
Sep 16 HTML / CSS
Html5页面播放M4a音频文件
Mar 30 HTML / CSS
CSS 圆形进度栏
Apr 06 HTML / CSS
CSS中实现动画效果-附案例
Feb 28 HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 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
PHP输出时间差函数代码
2013/01/28 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
php实现天干地支计算器示例
2014/03/14 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
JS基础之undefined与null的区别分析
2011/08/08 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
处理Python中的URLError异常的方法
2015/04/30 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
python去掉行尾的换行符方法
2017/01/04 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
tensorflow 获取变量&打印权值的实例讲解
2018/06/14 Python
设置python3为默认python的方法
2018/10/31 Python
Python flask框架post接口调用示例
2019/07/03 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
python判断正负数方式
2020/06/03 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
shell变量的作用空间是什么
2013/08/17 面试题
电子信息专业学生自荐信
2013/11/09 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
综治目标管理责任书
2015/05/11 职场文书
2015入党自传书范文
2015/06/26 职场文书
教育教学读书笔记
2015/07/02 职场文书