CSS补充知识,content计数器等

CSS content计数器

CSS计数器通过一个变量来设置,根据规则递增变量。

使用计数器自动编号

CSS计数器根据规则来递增变量。

CSS计数器使用到以下几个属性:

  • counter-reset:name1 name2 创建或者重置计数器(可以同时定义多个计数器,中间用空格隔开)

  • counter-increment:name step 递增变量(可以递增一个或者多个)

  • content:counter(name) 插入生成的内容(使用伪元素before/after)

  • counter()counters()函数 将计数器值添加到元素

创建计数器时,必须在该标签的前一个标签或者是父标签里创建,如果定义在自己标签内是无效的。

具体应用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            counter-reset: counter1;
        }
        h2{
            counter-reset: counter2;
        }
        h2::before{
            /* 先设置步长 */
            counter-increment: counter1 1;
            content: '第' counter(counter1) '篇';
        }
        p::before{
             /* 先设置步长 */
             counter-increment: counter2 1;
            content: '第' counter(counter1) '段';
        }
    </style>
</head>
<body>
    <div>
        <h2></h2>
        <p></p>
        <p></p>
        <p></p>
        <h2></h2>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
    </div>
</body>
</html>

CSS变量

css中我们可以统一设置变量 方便页面维护。

声明

变量声明的时候,变量名之前加上两根连词线(--)即可。例如:

body{
    --colorA:#abd;
    --colorB:#bde
}
/*colorA、colorB是变量的名字*/

变量的使用:var()函数

var()函数是用来读取变量,如下列:

a{
    --colorA:#abdeff;
    color:var(--colorA);
}

语法:var(name, value)

描述
name必需。变量名(以两条破折号开头)。
value可选。回退值(在未找到变量时使用)。

var()函数有第二个参数,表示变量的默认值,如果该变量不存在(第一个参数),那么就是用该默认值。并且,第一个参数后面的全部算算第二个参数,不管有多少个逗号。

另外,var()函数也可以作为其他变量的值,但也仅作为其他变量的值使用:

html{
    --bar:#abdefd;
    /*作为其他变量的值*/
    --A:var(--bar);
    
    /*这种情况无效*/
    var(--bar):green;
}

变量作用域

css变量遵从css优先级的原则 变量值会被覆盖

html{
    --color:blue;
}
div{
    --color:green;
}
#alert{
    --color:red;
}
*{
    color:var(--color);/*整个--color是blue*/
}
<p>
    我的颜色为 blue
</p>
<div>
    我的颜色为 green
</div>
<div id="alert">
    我的颜色为 red
</div>

CSS 变量可以有全局或局部作用域。 全局变量可以在整个文档中进行访问/使用,而局部变量只能在声明它的选择器内部使用。 如需创建具有全局作用域的变量,请在 :root 选择器中声明它。 :root 选择器匹配文档的根元素。 如需创建具有局部作用域的变量,请在将要使用它的选择器中声明它。

使用 JavaScript 更改变量

CSS 变量可以访问 DOM,这意味着您可以通过 JavaScript 更改它们。

//css中的代码
:root {
  --blue: #1e90ff;
  --white: #ffffff;
}
​
body { background-color: var(--blue); }
​
h2 { border-bottom: 2px solid var(--blue); }
​
.container {
  color: var(--blue);
  background-color: var(--white);
  padding: 15px;
}
​
button {
  background-color: var(--white);
  color: var(--blue);
  border: 1px solid var(--blue);
  padding: 5px;
}
​
<script>
    // 获取根元素
    var r = document.querySelector(':root');
​
    // 创建获取变量值的函数
    function myFunction_get() {
      // Get the styles (properties and values) for the root
      var rs = getComputedStyle(r);
      // Alert the value of the --blue variable
      alert("The value of --blue is: " + rs.getPropertyValue('-     -blue'));
    }
​
    // 创建设置变量值的函数
    function myFunction_set() {
      // Set the value of variable --blue to another value (in          this case "lightblue")
      r.style.setProperty('--blue', 'lightblue');
    }
</script>
​

在媒体查询中使用变量

下面的例子中在@media中更改了--blue的值

/* 变量声明 */
:root {
  --blue: #1e90ff;
  --white: #ffffff;
}
​
.container {
  --fontsize: 25px;
}
​
/* 样式 */
body {
  background-color: var(--blue);
}
​
h2 {
  border-bottom: 2px solid var(--blue);
}
​
.container {
  color: var(--blue);
  background-color: var(--white);
  padding: 15px;
  font-size: var(--fontsize);
}
​
@media screen and (min-width: 450px) {
  .container {
    --fontsize: 50px;
  }
   :root {
    --blue: lightblue;
  }
}

CSS Unicode字体

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值