<!DOCTYPE>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
@supports(display: none){
dot{
display: inline-block;
width:3ch;
text-indent:-1ch;
vertical-align: bottom;
overflow:hidden;
animation: dot 2s infinite step-start both;
font-family: Consolas,Monaco,monospace;
}
} @keyframes dot{
33%{text-indent:0;}
66%{text-indent:-2ch;}
}
</style>
</head>
<body>
<a href="javascript:;" class="grebtn">订单提交中<dot>...</dot></a>
</body>
</html>

上述为@supports、等宽字体、ch相对单位的综合实例。

以下为详细介绍:

一、CSS3条件判断

这里主要是@supports的用法起源:根据不同浏览器对CSS的支持,定义不同的样式。即,渐进增强式设计。通俗的说就是,让用高级浏览器的用户体验到更好的效果。

实例1:基本用法

@supports (display:flex) {
section { display: flex }
...
}

这段代码的意思是:如果浏览器支持“display:flex”,则给section设置“display:flex”样式。

实例2:not逻辑声明

@supports not (display: flex){
#container div{float:left;}
}

这段代码的意思是:如果浏览器不支持“display:flex”,则给#container设置“float:left”样式。

实例3:and逻辑声明

@supports (column-width: 20rem) and (column-span: all) {
div { column-width: 20rem }
div h2 { column-span: all }
div h2 + p { margin-top:; }
...
}

上面的代码表示的是,如果浏览器同时支持“column-width:20rem”和“column-span:all”两个条件,浏览器将会调用其中的样式。

实例4:or逻辑声明

@supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) {
section {
display: -webkit-flex;
display: -moz-flex;
display: flex;
…
}
}

上面的代码表示的是,如果浏览器支持3个条件中的任意一种,浏览器将会调用其中的样式。

在js中的写法:

var supportsFlexAndAppearance = window.CSS.supports("(display: flex) and (-webkit-appearance: caret)");    

简单介绍至此,回到开篇代码:如果浏览器支持“display:none”,则给<dot>(自定义标签)添加对应样式,很好理解

二、等宽字体

一般而言,东亚字体都是等宽,但是英文不一定等宽,取决于具体的字体。

为了易读性,一般显示源代码都会用等宽字体。下面举例说明:

iiiii

MMMMM

胖瘦很明显有木有(Comic Sans MS)

iiiii

mmmmm

一般宽度,这就是等宽字体,更加规则好看(Courier New)

常见的等宽字体:Consolas,Monaco,monospace

三、相对单位ch

这是一个很少见的单位,了解一下也无妨

1ch表示一个0字符的宽度,所以000000所占据的宽度就是6ch

CSS 条件判断、等宽字体以及ch单位的更多相关文章

  1. shell编程学习笔记(八):Shell中的if条件判断

    编程语言中都有条件判断,shell编程也不例外,下面我们来看一下shell中应该怎么使用if条件判断 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts ...

  2. ch 与等宽字体

    难题 有的时候,特别想通过字符来判断元素的长度,比如: 多行文本溢出时,文字变省略号 文字一个个的显示 效果分别如下: 第一种情况下,如果可以通过字符的数量判断长度是否溢出,从而把最后几个字符替换成省 ...

  3. 等宽字体延伸到的 ch 长度单位和动画 animation-timing-function

    新知识点get! 等宽字体(monospaced font)是指字符宽度相同的电脑字体.与此相对,字符宽度不尽相同的电脑字体称为比例字体(proportional font). 东亚字体基本都是等宽字 ...

  4. CSS3条件判断——@supports/window.CSS.supports()(转)

    CSS3条件判断,听起来"不明觉厉",如果你对CSS稍为熟悉一点的话,你会发现CSS中的"@media"就是条件判断之一.是的,在CSS3的条件判断规范文档中包 ...

  5. css3条件判断_@supports的用法 以及 Window.CSS.supports()的使用

    为了判断浏览器是否支持css3的一些新属性样式,当不兼容该样式的时候,我们可以更优雅的降级处理.这就需要使用到css3的条件判断功能:在css中支持@supports标记.或者在js中使用CSS.su ...

  6. css3条件判断_@supports的用法/Window.CSS.supports()的使用

    为了判断浏览器是否支持css3的一些新属性样式,当不兼容该样式的时候,我们可以更优雅的降级处理.这就需要使用到css3的条件判断功能:在css中支持@supports标记.或者在js中使用CSS.su ...

  7. css与jquery、图标字体

    *)还能这样选择 header #search input[type="text"] *)按钮常用颜色:#008cBA(字母大小写没有区别) *)清除浮动后,text-align没 ...

  8. wordpress 函数、条件判断以及文件的总结

    WordPress基本模板文件 一套完整的WordPress模板应至少具有如下文件: style.css : CSS(样式表)文件 index.php : 主页模板 archive.php : Arc ...

  9. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

随机推荐

  1. 三、Docker网络

    一.查看8001端口是否开启处监听状态 netstat -apnl | grep 8001 二.使用brctl show可以看到虚拟机的网络关系 brctl show docker每新建一个conta ...

  2. Python——Flask框架——数据库

    一.数据库框架 Flask-SQLAlchemy (1)安装: pip install flask-sqlalchemy (2)Flask-SQLAlchemy数据库URL 数据库引擎 URL MyS ...

  3. 只要访问url地址 那么容器就会根据地址进行对象的创建

    只要访问url地址 那么容器就会根据地址进行对象的创建

  4. HUST 1541 解方程

    参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6394836.html 1541 - Student’s question 时间限制:1秒 内存限制 ...

  5. POJ 2299 -Ultra-QuickSort-树状数组求逆序数

    POJ 2299Ultra-QuickSort 使用树状数组记录逆序对数. 把数组按照大小顺序插入,getsum(i)就是i前面的比他大的数. #include <cstdio> #inc ...

  6. Android Studio 显示 logcat

    首先调出 logcat,在整个android studio的左下角(藏的好,尼玛.) 接着设置下面三个红框 1 选择你自己的模拟器. 2 选择Warm 3 选择not filter

  7. 51Nod1778 小Q的集合 【组合数】【Lucas定理】

    题目分析: 题解好高深...... 我给一个辣鸡做法算了,题解真的看不懂. 注意到方差恒为$0$,那么其实就是要我们求$\sum_{i=0}^{n}\binom{n}{i}(i^k-(n-i)^k)^ ...

  8. Codeforces963C Frequency of String 【字符串】【AC自动机】

    题目大意: 给一个串s和很多模式串,对每个模式串求s的一个最短的子串使得这个子串中包含至少k个该模式串. 题目分析: 均摊分析,有sqrt(n)种长度不同的模式串,所以有关的串只有msqrt(n)种. ...

  9. 洛谷p1586四方定理题解

    题目 这个题的本质是动态规划中的背包问题. 为什么会想到背包呢. 因为往往方案数不是排列组合就是递推或者是dp,当然还有其他的可能.我们可以把一个数的代价当成这个数的平方,价值就是一个方案数.由于这个 ...

  10. 允许外网访问MySQL

    1:设置mysql的配置文件     /etc/mysql/my.cnf     找到 bind-address  =127.0.0.1  将其注释掉://作用是使得不再只允许本地访问:  重启mys ...