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的属性transition制作菜单导航效果
Sep 01 HTML / CSS
基于CSS3制作立体效果导航菜单
Jan 12 HTML / CSS
HTML高亮关键字的实现代码
Oct 22 HTML / CSS
基于HTML5的WebSocket的实例代码
Aug 15 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
Feb 01 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
html5模拟平抛运动(模拟小球平抛运动过程)
Jul 25 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
Nov 12 HTML / CSS
浅谈HTML5 服务器推送事件(Server-sent Events)
Aug 01 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
Nov 01 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
May 19 HTML / CSS
css height属性中的calc方法详解
Jun 03 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
怎样去阅读一份php源代码
2009/08/21 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
Vue Cli 3项目使用融云IM实现聊天功能的方法
2019/04/19 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Django rest framework实现分页的示例
2018/05/24 Python
Python3并发写文件与Python对比
2019/11/20 Python
Django的CVB实例详解
2020/02/10 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
python怎么删除缓存文件
2020/07/19 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
大学生毕业鉴定
2014/01/31 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
清明扫墓感想
2015/08/11 职场文书
2016小学新学期寄语
2015/12/04 职场文书