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图片旋转特效(360/60/-360度)
Oct 10 HTML / CSS
css3实现图片遮罩效果鼠标hover以后出现文字
Nov 05 HTML / CSS
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
Apr 16 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
Nov 21 HTML / CSS
详解canvas在圆弧周围绘制文本的两种写法
May 22 HTML / CSS
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
Jan 31 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
Dec 14 HTML / CSS
浅析HTML5中的 History 模式
Jun 22 HTML / CSS
详解html5 shiv.js和respond.min.js
Jan 24 HTML / CSS
HTML5中form如何关闭自动完成功能的方法
Jul 02 HTML / CSS
HTTP中的Content-type详解
Jan 18 HTML / CSS
使用CSS实现按钮边缘跑马灯动画
May 07 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』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
Laravel实现表单提交
2017/05/07 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
phpwind放自动注册方法
2006/12/02 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
Python类的动态修改的实例方法
2017/03/24 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
python 实现aes256加密
2020/11/27 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
外贸学院会计专业应届生求职信
2013/11/14 职场文书
期终自我鉴定
2014/02/17 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
美丽的大脚观后感
2015/06/03 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL