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个性化字体_动力节点Java学院整理
Jul 12 HTML / CSS
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
May 09 HTML / CSS
CSS3制作气泡对话框的实例教程
May 10 HTML / CSS
浅谈CSS3动画的回调处理
Jul 21 HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
Mar 11 HTML / CSS
整理的15个非常有用的 HTML5 开发教程和速查手册
Oct 18 HTML / CSS
html5 音乐播放器 audio 标签使用概述
Jul 15 HTML / CSS
HTML5学习心得总结(推荐)
Jul 08 HTML / CSS
Canvas系列之滤镜效果
Feb 12 HTML / CSS
CSS 鼠标点击拖拽效果的实现代码
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
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
django-初始配置(纯手写)详解
2019/07/30 Python
python中几种自动微分库解析
2019/08/29 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
python求绝对值的三种方法小结
2019/12/04 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
西雅图的买手店:Totokaelo
2019/10/19 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
大学军训感言1000字
2014/02/25 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
java实现面板之间切换功能
2022/06/10 Java/Android
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js