css at @ 规则
css相信我们都不陌生,但是我们真的对它非常了解吗?
css主要分为两种规则组成:
- 一种被称为 at-rule,也就是 at 规则
另一种是 qualified rule,也就是普通规则
今天让我们来讲讲我们不常用的 at 规则吧:
1. @charset
@charset 用于提示 CSS 文件使用的字符编码方式,它如果被使用,必须出现在最前面,不能在<style>元素内的样式属性内使用。
我也没搞清楚具体有什么用,只要html和css保持编码一致,并且html上加上 <meta charset="xxxx"> 即可,@charset写不写也没什么作用
@charset "utf-8";
2. @import
@import 当时我以为是less sass的语法糖,其实它是css本身的特性,可以在css文件里引入其他css文件
@import './style.css'; @import url(./style.css); @import './style.css' screen and (min-width:500px);
3. @media
@media查询应该是我们见得最多的@rule之一了,针对不同的媒体类型定义不同的样式
@media 媒体类型1,媒体类型2 and|not|only (媒体特性) {
CSS-Code;
}
媒体类型没有被废弃的只有以下几种:
1. all 所有设备
2. print 打印机和打印预览
3. screen 电脑/手机屏幕
4. speech 应用于屏幕阅读器等发声设备
媒体特性常用无非就是(更多):
1. min-width、max-width
2. min-height、max-height
3. orientation(方向): landscape(横屏)/portrait(竖屏)
4. @page
@page 用于设置分页媒体的样式,和@media print相似,但是@page只能设置部分css样式
MDN原文说到: You can only change the margins, orphans, widows, and page breaks of the document.
5. @counter-style
自定义list-style的图形,目前只有firefox支持,详情
@counter-style aaa {
system: cyclic;
symbols: ‣;
suffix: " ";
}
ul {
list-style: aaa;
}
6. @keyframes
也是我们常用的@rule之一,用于定义animation的动画帧
div {
position: relative;
height: 100px;
background: red;
animation: mymove 5s ease infinite;
}
@keyframes mymove
{
from {top:0px;}
to {top:200px;}
}
7. @font-face
用于引入一些额外的字体,放在css顶部或者css规则组
@font-face {
font-family: aaa;
src: url(http://example.com/fonts/Gentium.woff);
}
p { font-family: aaa, serif; }
8. @supports
用于检测css兼容的特性
@supports (display: grid) {
div {
display: grid;
}
}
@supports not (display: grid) {
div {
float: right;
}
}
9. @namespace
要和xml的命名控件配合使用,暂时还没搞明白怎么用,详情
/* 默认命名空间 */ @namespace url(XML-namespace-URL); @namespace "XML-namespace-URL"; /* 命名空间前缀 */ @namespace prefix url(XML-namespace-URL); @namespace prefix "XML-namespace-URL";
10. @viewport
设置视窗的属性,目前safari、firefox都不支持,更多使用meta的形式来代替
@viewport {
min-width: 640px;
max-width: 800px;
}
@viewport {
zoom: 0.75;
min-zoom: 0.5;
max-zoom: 0.9;
}
@viewport {
orientation: landscape;
}
css at @ 规则的更多相关文章
- 常用的css命名规则:
关于团队合作的css命名规范 常用的css命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制 ...
- 【转】常用css命名规则
常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左 ...
- CSS 命名规则
CSS书写顺序: 位置属性(position, top, right, z-index,display, float等) 大小(width, height, padding, margin) 文字系列 ...
- 一些CSS命名规则
一些CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中 ...
- CSS命名规则常用的css命名规则
CSS命名规则常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...
- css预编译语言 sass scss(变量$var, css嵌套规则,@import规则,@extend,@mixin)
什么是sass Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式 ...
- [转] 常用的CSS命名规则
(一)常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度 ...
- CSS命名规范(规则)常用的CSS命名规则
CSS命名规范(规则)常用的CSS命名规则 CSS命名规范(规则)常用的CSS命名规则 头:header 内容:content/container 尾:footer ...
- CSS命名规则和如何命名
CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...
- css层叠规则(层叠样式表)
CSS层叠规则: 1.找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器. 2.按权重(!important)和来源对应用到给定元素的所有声明进行排序. 3.按特殊性对应用到给定元素的所有声 ...
随机推荐
- AngularJS学习之旅—AngularJS 控制器(六)
1.AngularJS 控制器 AngularJS 应用程序被控制器控制. ng-controller 指令定义了应用程序控制器. 控制器是 JavaScript 对象,由标准的 JavaScript ...
- 【原】Java学习笔记009 - 阶段测试
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 1.需求:打印如下 ...
- Java基础——1 一切都是对象
- Eclipse链接数据库
在eclipse中找到数据库 选择数据库 然后点击next 填写数据库信息 选择需要执行的SQL语句 ALT+X 或者 右键点击execute selected text: 执行结果: 有问题请在评论 ...
- org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.hp.entity.Emp
错误提示代码: org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.hp.entit ...
- ElasticSearch(九):elasticsearch-head插件安装
安装node 安装elasticsearch-head需要node.js的支持. 下载最新的node.js,下载地址:https://nodejs.org/en/download/ 将下载后的安装包放 ...
- python之shutil
''' shutil 用来处理 文件 文件夹 压缩包 的模块 ''' import shutil # 拷贝文件内容 shutil.copyfileobj(open('old.xml', 'r'), o ...
- java8 Lambda表达式的新手上车指南(1)--基础语法和函数式接口
背景 java9的一再推迟发布,似乎让我们恍然想起离发布java8已经过去了三年之久,java8应该算的上java语言在历代版本中变化最大的一个版本了,最大的新特性应该算得上是增加了lambda表达式 ...
- Linux下时钟框架实践---一款芯片的时钟树配置
关键词:时钟.PLL.Mux.Divider.Gate.clk_summary等. 时钟和电源是各种设备的基础设施,整个时钟框架可以抽象为几种基本的元器件:负责提供晶振 Linux内核提供了良好的CC ...
- 洛谷P4057
题目描述 “无体育,不清华”.“每天锻炼一小时,健康工作五十年,幸福生活一辈子” 在清华,体育运动绝对是同学们生活中不可或缺的一部分.为了响应学校的号召,模范好学生王队长决定坚持晨跑.不过由于种种原因 ...