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人物行走动画
Feb 24 HTML / CSS
css3 pointer-events 介绍详解
Sep 18 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
Jun 22 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
Oct 16 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
Jan 30 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
Jan 24 HTML / CSS
推荐10个HTML5响应式框架
Feb 25 HTML / CSS
Html5监听手机摇一摇事件的实现
Nov 07 HTML / CSS
Html5嵌入钉钉的实现示例
Jun 04 HTML / CSS
前端水印的简单实现代码示例
Dec 02 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
CSS SandBox应用场景及常见问题
Jun 25 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
使用Python中的cookielib模拟登录网站
2015/04/09 Python
机器学习10大经典算法详解
2017/12/07 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
车间副主任岗位职责
2013/12/24 职场文书
物流创业计划书
2014/02/01 职场文书
个人自我鉴定总结
2014/03/25 职场文书
贷款委托书范本
2014/04/08 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
项目建议书怎么写
2014/05/15 职场文书
泰山导游词
2015/02/02 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript