• css中的函数


    前言:

    如果你使用过 CSS 预处理器,比如 SASS,以下示例你或许碰到过

    .foo {
         100px + 50px;
    }
    
    // 或者 使用sass变量
    $width-one: 100px;
    $width-two: 50px;
    .bar {
         $width-one + $width-two;
    }
    

    其实,css中也带有如上面这个代码一样的简单表达式运算

    // Value specified in CSS
    .foo {
         calc(100% - 50px);
    }
    
    

    并且,css的表达式和使用css预处理器的差别在于:浏览器解析的 calc() 的值为真实的 calc() 表达式,而预处理器则被编译为'固定值',如下:

    // Value specified in SCSS
    .foo {
         100px + 50px;
    }
    
    // Compiled CSS and computed value in browser
    .foo {
         150px;
    }
    
    
    // Value specified in CSS
    .foo {
         calc(100% - 50px);
    }
    
    // Computed value in browser
    .foo {
         calc(100% - 50px);
    }
    

    这意味着浏览器中的值可以更加灵活,能够响应视口(viewport)的改变。我们能够给元素设定一个高度为视口的高度减去一个绝对值,它将随视口的改变进行调节,调试更加方便

    常用的css函数

    rgb() rgba() 红绿蓝颜色函数

    最常用的两个肯定是rgba()rgb()函数

    rgb()
    使用红(R)、绿(G)、蓝(B)三个颜色的叠加来生成各式各样的颜色。

    rgba()
    使用红(R)、绿(G)、蓝(B)、透明度(A)的叠加来生成各式各样的颜色。

    #p1 {background-color:rgb(255,0,0);} /* 红 */
    #p2 {background-color:rgb(0,255,0);} /* 绿 */
    #p3 {background-color:rgb(0,0,255);} /* 蓝 */
    
    

    var() 变量函数

    var() 函数用于插入自定义的属性值,如果一个属性值在多处被使用,该方法就很有用。

    var(custom-property-name, value)
    
    描述
    custom-property-name 必需。自定义属性的名称,必需以 -- 开头。
    value 可选。备用值,在属性不存在的时候使用。

    如下:

    定义一个名为 "--main-bg-color" 的属性,然后使用 var() 函数调用该属性:

    :root {
      --main-bg-color: coral;
    }
     
    #div1 {
      background-color: var(--main-bg-color);
    }
     
    #div2 {
      background-color: var(--main-bg-color);
    }
    
    

    attr() 属性函数

    attr() 函数返回选择元素的属性值。

    <a href="https://www.cnblogs.com/riwang/">帅气的日王</a>
    <style>
    a:after {content: " (" attr(href) ")";}
    </style>
    

    效果如下:
    帅气的日王(https://www.cnblogs.com/riwang/)

    calc() 计算函数

    calc() 函数用于动态计算长度值。

    • 需要注意的是,运算符前后都需要保留一个空格,例如{ calc(100% - 10px);}
    • 任何长度值都可以使用calc()函数进行计算;
    • calc()函数支持 "+", "-", "*", "/" 运算;
    • calc()函数使用标准的数学运算优先级规则;

    如下例:

    <p>创建一个横跨屏幕的div,div 两边有 50px 的间隙:</p>
    <div id="div1">一些文本</div>
    
    <style>
    #div1 {
         calc(100% - 100px);
        margin:0 auto;
        border: 1px solid black;
        background-color: yellow;
        padding: 5px;
        text-align: center;
    }
    </style>
    
    一些文本

    更多css函数:

    菜鸟教程

  • 相关阅读:
    vue watch 深度监控
    淘宝后台添加颜色尺码动态sku
    js下载
    vue创建1.0项目
    vue assetsPublicPath
    ajax 请求 get请求成功,post 404 not found
    vuejs npm chromedriver 报错
    webpack 输出多个文件
    移动端 js 实现图片上传 预览
    有用的网址
  • 原文地址:https://www.cnblogs.com/riwang/p/12382940.html
Copyright © 2020-2023  润新知