CSS中的变量

这篇具有很好参考价值的文章主要介绍了CSS中的变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 变量的声明

声明变量的时候,变量名前面要加两根连词线(--)。变量名大小写敏感,--header-color--Header-Color是两个不同变量。

body {
  --foo: red;
  --bar: #336699
}

上面代码中,body选择器里面声明了两个变量:--foo--bar。使用变量用var()函数。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=p, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
:root{
/* 变量分 全局变量和局部变量 */
--foo:red;
--myy:#006699;
}
body{
/* 变量的定义 */
font-size:30px;
}
p{
/* 变量的使用,用var()函数 */
color:var(--foo);
}
h1{
color:var(--foo);
background-color:var(--myy);
}

</style>
</head>
<body>
<p>网易</p>
<h1>优酷</h1>
<div class="box">爱奇艺</div>
</body>
</html>

css变量,css3,前端,css

它们与colorfont-size等正式属性没有什么不同,只是没有默认含义。所以 CSS 变量(CSS variable)又叫做"CSS 自定义属性"(CSS custom properties)。因为变量与自定义的 CSS 属性其实是一回事。

你可能会问,为什么选择两根连词线(--)表示变量?因为$foo被 Sass 用掉了,@foo被 Less 用掉了。为了不产生冲突,官方的 CSS 变量就改用两根连词线了。

变量分:全局变量和局部变量

全局变量

:root的作用:

  /* 在这里定义的css变量,叫做全局css变量。在任何选择器中,都可以去使用。 */
        :root{

        }

 CSS 变量中,可以放置 各种值:

        /* 在这里定义的css变量,叫做全局css变量。在任何选择器中,都可以去使用。 */
        :root{
            /* css变量中的值,可以是“任何值” */
            --main-bg:rgb(255,255,255);
            --logo-border-color: orange;
            --header-color:green;
            --Header-Color:pink;

            --header-height:68px;
            --content-padding:10px 20px;

            --base-line-height:1.4;
            --margin-top: calc(100px - 80px);
        }
<link rel="stylesheet" href="./css/base.css">
<style>
        .box1{
            width: 50%;
            height: var(--header-height);
            border: 1px solid var(--logo-border-color);
        }
       /* 变量名大小写敏感,--header-color和--Header-Color是两个不同变量。 */
        .box1 h3{
            color: var(--Header-Color);
        }
        .box1 p{
            color: var(--header-color);
        }
</style>
    <div class="box1">
        <h3>box1</h3>
        <p>box1</p>
    </div>

css变量,css3,前端,css

 局部变量:定义某元素下的变量。只能在某元素身上,以及这个元素的内部的所有的标签去使用。

.box2{
    --border-color:green;
}
.box2{
    width: 300px;
    height: 300px;
    border: 5px solid var(--border-color);
}

使用:

 <div class="box1">
        <h3>box1</h3>
        <p>box1</p>
    </div>
   <!-- 只能在.box2身上以及其内部元素上去使用 -->
    <div class="box2">
        <h2>box2</h2>
        <h3>box2</h3>
        <p>box2</p>
    </div>

1.2 var() 函数

var()函数用于读取变量。

 <style>
        body{
            --foo:#515151;
            --bar:#a10000;
        }
        .t1 a{
            color: var(--foo);
            text-decoration: none;
        }
        .t1 a:hover{
            color: var(--bar);
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <h1 class="t1">
        <a href="">小余</a>
    </h1>

css变量,css3,前端,css

var()函数还可以使用第二个参数,表示变量的默认值。如果该变量不存在,就会使用这个默认值。

color: var(--bar,red);

 文章来源地址https://www.toymoban.com/news/detail-713278.html

注意:--bar在申明的时候,没有值可以,但是不能把值写错。写错的话。两个地方的颜色都不会使用。

--bar:a10000;  --第1个地方  ( --bar: ;   ---这样写,也是不显示的。)

color: var(--bar,red);  --第2个地方

第二个参数不处理内部的逗号或空格,都视作参数的一部分。

padding: var(--pad,10px 15px 20px);
<style>   
       .box1{
            width: 300px;
            height: 300px;
            border: 5px solid blue;
            margin-top: 20px;
            padding: var(--pad,10px 15px 20px);
        }
    </style>
</head>

    <div class="box1">
        box1
    </div>

注意,变量值只能用作属性值,不能用作属性名。

.foo {
  --side: margin-top;
  /* 无效 */
  var(--side): 20px;
}

1.3 calc() 函数

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

  • 需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px)

  • 任何长度值都可以使用calc()函数进行计算;

  • calc()函数支持 "+", "-", "*", "/" 运算;

  • calc()函数使用标准的数学运算优先级规则;

支持版本:CSS3

创建一个横跨屏幕的div,div 两边有 50px 的间隙

<style>
            *{
                margin: 0;
                padding: 0;
            }
            .box{
                border-top: 1px solid black;
                border-bottom: 1px solid black;
                background-color: yellow;
                padding: 5px 0;
                text-align: center;
                /* calc()函数:用于动态计算长度值 */
                width: calc(100% - 100px);
                /* 绝对定位 */
                position: absolute;
                left: 50px;
            }
        </style>
    </head>
    <body>
        <p>创建一个横跨屏幕的div,div 两边有 50px 的间隙</p>
        <div class="box">一些文本...</div>

css变量,css3,前端,css

注意:

这里绝对定位的top值 设置 了  top:0, 这个盒子会把段落标签p盖住。

这里绝对定位的top不写。这个盒子只是 水平向右移动了50px。垂直方向没有,还是在段落标签的下面显示的。

1.4 修改input 的 placeholder 样式

 <style>
        
         body{
            --color-placeholder:red;
            --font-size-placeholder:12px;
        }
        input::-webkit-input-placeholder{
            color:var(--color-placeholder);
            font-size:var(--color-placeholder);

        }

        input::placeholder{
            color:var(--color-placeholder);
            font-size:var(--color-placeholder);

        }
    </style>
</head>
<link href="./img/favicon.ico" type="image/x-icon" rel="icon">
<body>
用户名:<input type="text" name="" id="" placeholder="请输入用户名">

 预览:

css变量,css3,前端,css

 

到了这里,关于CSS中的变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端学习——css盒子模型、css3新特性、伪类、布局0711TODO

    样式还是得具体使用才能理解,不然会忘记也理解不透彻;还有定位,元素溢出,浮动,布局水平垂直对齐: css3新特性 1过渡 2 动画 3 2D、3D转换 伪类 三种定位方式 弹性布局/栅格布局

    2024年02月15日
    浏览(62)
  • 前端小白的学习之路(CSS3 三)

    提示:过渡属性transition,动画属性animation,转化属性transform,裁剪属性clip-path,倒影属性box-reflect,模糊度属性filter  目录 一、transition  二、animation  三、transform  四、clip-path   五、box-reflect  六、filter  过渡:以看见标签从一个属性变化到另一个属性值的过程。 transition-pro

    2024年03月19日
    浏览(43)
  • 前端 | ( 十一)CSS3简介及基本语法(上) | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月16日
    浏览(49)
  • css3-----3D变换,前端开发入门到精通

    x y z 的方向: 2、3d移动 translate3d 1.transform:translateX(npx);在x轴方向移动 2.transform:translateY(npx); 在y轴方向移动 3.transform:translateZ(npx); 在Z轴方向移动 4.transform:translate3d(x,y,z);综合写法 3、视距perspective 给元素添加3D效果,要给其父元素添加3D效果 视距:眼睛到屏幕的距离。视距与物

    2024年04月25日
    浏览(42)
  • 前端必学的CSS3波浪效果演示

    使用 translateX 和 translateZ 属性创建波浪效果: 使用场景: 适用于需要在X轴上平移和在Z轴上应用3D变换的波浪效果。 可以用于创建具有起伏效果的海浪、水面波纹等效果。 优点: 通过3D变换,可以实现更加真实的波浪效果。 可以通过调整 translateX 和 translateZ 的值来控制波浪

    2024年02月02日
    浏览(49)
  • 【前端从0开始】CSS3新增选择器

    1 什么是CSS3 CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效(阴影)、多栏布局(display:flex)、2D3D和动画等模块 2 CSS选择器 选择器 例子 例子描

    2024年02月11日
    浏览(42)
  • 黑马 pink h5+css3+移动端前端

    网页概念 网页是网站的一页,网页有很多元素组成,包括视频图片文字视频链接等等,以.htm和.html后缀结尾,俗称html文件 HTML 超文本 标记语言,描述网页语言,不是编程语言,是标记语言,有标签组成 超文本指的是不光文本,还有图片视频等等标签 常用浏览器 firefox google safari opera ed

    2024年02月16日
    浏览(80)
  • CSS3基础之3D转换(1),前端开发架构

    3. 透视perspective 3.1`translateZ` 4. 3D旋转`rotate3d` 5. 3D呈现`transform-style` 1. 三维坐标系 ======================================================================== 三维坐标系 其实就是指立体空间,立体空间是由3个轴共同组成的 x轴: 水平向右 注意: x 右边是正值,左边是负值 y轴: 垂直向下 注意:

    2024年04月13日
    浏览(45)
  • 前端 | ( 十三)CSS3简介及基本语法(下)| 伸缩盒模型 | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月16日
    浏览(64)
  • h5(html5)+css3前端笔记二

    一、表格标签 表格的主要作用: 表格主要用于 显示、展示数据 ,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 1. table/table 用来定义表格的标签

    2024年02月14日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包