精华内容
下载资源
问答
  • 小程序css变量吗?TailwindCSS allows us to use pre-defined classes instead of defining our CSS styles. In this article, we will go over how we can use Custom properties (sometimes referred to as CSS ...

    小程序css有变量吗?

    TailwindCSS allows us to use pre-defined classes instead of defining our CSS styles. In this article, we will go over how we can use Custom properties (sometimes referred to as CSS variables or cascading variables) with TailwindCSS.

    TailwindCSS允许我们使用预定义的类,而不是定义CSS样式。 在本文中,我们将介绍如何在TailwindCSS中使用自定义属性(有时称为CSS变量或级联变量)。

    建立 (Setup)

    First, follow the installation guide found here. This will show you how you can add TailwindCSS to your current project. For part 2 I will assume you called your CSS file global.css. This is the file that contains @tailwind base; etc.

    首先,请按照此处的安装指南进行操作。 这将向您展示如何将TailwindCSS添加到当前项目。 对于第2部分,我假设您将CSS文件global.css 。 这是包含@tailwind base;的文件@tailwind base; 等等

    global.css (global.css)

    First, we need to edit our TailwindCSS file so it looks something like this:

    首先,我们需要编辑TailwindCSS文件,使其看起来像这样:

    @tailwind base;
    @tailwind components;
    @tailwind utilities;
    .root,
    #root,
    #docs-root
    --primary: #367ee9;
    --secondary: #a0aec0;
    --accent: #718096;
    --background: #fff;
    --main: #0d0106;
    --header: #2d3748;
    }

    I wrap my entire body in an element with class root or id root, so that any of my elements can access it later.

    我将整个主体包装在具有类root或id root的元素中,以便我以后的任何元素都可以访问它。

    gatsby-browser.js(可选) (gatsby-browser.js (optional))

    If you’re using Gatsby, you can add the following to your gatsby-browser.js file:

    如果您使用的是Gatsby,则可以将以下内容添加到gatsby-browser.js文件中:

    export const wrapRootElement = ({ element }) => (
    <div className="root overflow-hidden">{element}</div>
    );

    This will wrap all of our pages in the class root and overflow-hidden CSS class from TailwindCSS.

    这会将我们所有页面包装在TailwindCSS的类rootoverflow-hidden CSS类中。

    tailwind.config.js (tailwind.config.js)

    Now we’ve defined some CSS variables how can we use them with Tailwindcss? Simple, we update our tailwind config file with some of the new CSS variables. Here we simply want to extend the config to add new colour values.

    现在我们定义了一些CSS变量,如何将它们与Tailwindcss一起使用? 很简单,我们使用一些新CSS变量更新了我们的tailwind配置文件。 在这里,我们只是想扩展配置以添加新的颜色值。

    module.exports = {
    theme: {
    extend: {
    colors: {
    primary: "var(--primary)",
    secondary: "var(--secondary)",
    main: "var(--main)",
    background: "var(--background)",
    header: "var(--header)",
    accent: "var(--accent)",
    },
    },
    },
    };

    The syntax is very similar to how we would use the variables normally with CSS where it would normally look like:

    语法非常类似于我们通常在CSS中使用变量的方式,通常看起来像这样:

    element {
    background-color: var(--primary);
    }

    Logo.tsx (Logo.tsx)

    Now how do we use our variable? Again pretty straight forward just like our normal tailwind classes. Let’s imagine we have a React component called Logo.tsx, defined like so:

    现在我们如何使用变量? 再次像我们正常的顺风飞行班一样,非常简单。 假设我们有一个名为Logo.tsx的React组件,其定义如下:

    import React from "react";
    import tw from "twin.macro";
    export interface Props {
    /** The size of the main text */
    size?: string;
    }
    const Logo = ({ size = "2xl" }: Props) => (
    <LogoContainer className={` md:text-${size}`}>
    <Tag>&lt;</Tag>
    Haseeb
    <Tag>/&gt;</Tag>
    </LogoContainer>
    );
    const LogoContainer = tw.div`cursor-pointer font-header tracking-wide text-2xl font-bold hover:text-primary`;
    const Tag = tw.span`text-accent`;
    export default Logo;

    INFO: I’m using the twin.macro the library so we can use it with CSS-in-JS.

    信息:我正在使用twin.macro库,因此我们可以将其与CSS-in-JS一起使用。

    To use our variables we just use them like: text-primary. Which will use the value we defined above, #367ee9. Now if we change the value in the global.css file, it will automatically change here as well.

    要使用我们的变量,我们只需要像这样使用它们: text-primary 。 它将使用我们上面定义的值#367ee9 。 现在,如果我们更改global.css文件中的值,它也会在此处自动更改。

    暗/亮模式(可选) (Dark/Light Mode (Optional))

    This can be easily extended to add a dark/light mode. Add the following to the global.css file like so:

    这可以轻松扩展以添加暗/亮模式。 将以下global.css添加到global.css文件中:

    .theme-light {
    --background: #fff;
    --main: #0d0106;
    --header: #2d3748;
    }
    .theme-dark {
    --background: #0e141b;
    --main: #ffffff;
    --header: #eaeaea;
    }

    We can use a theme context to get the current theme I’ve written about here. We get the current theme then use that to determine which class to set. This will then change value of the variables. If the theme changes, the variable values will change dark -> light or light -> dark etc.

    我们可以使用主题上下文来获取我在此处编写的当前主题。 我们得到当前主题,然后使用它来确定要设置的类。 然后,这将更改变量的值。 如果主题更改,则变量值将更改为深色->浅色或浅色->深色等。

    const { theme } = useContext(ThemeContext);
    // ...
    return (
    <div
    className={`${
    theme === "light" ? "theme-light" : "theme-dark"
    } bg-background`}
    >
    // ...
    </div>
    );

    That’s it! We’ve learnt how to use CSS variables with TailwindCSS.

    而已! 我们已经学习了如何在TailwindCSS中使用CSS变量。

    附录 (Appendix)

    翻译自: https://levelup.gitconnected.com/tailwindcss-with-css-variables-513abe2e9a5

    小程序css有变量吗?

    展开全文
  • 使用sass,stylus可以很方便的使用变量来做样式设计,其实css也同样可以定义变量,在小程序中由于原生不支持动态css语法,so,可以使用css变量来使用开发工作变简单。基本用法基础用法page {--main-bg-color: brown;}...

    使用sass,stylus可以很方便的使用变量来做样式设计,其实css也同样可以定义变量,在小程序中由于原生不支持动态css语法,so,可以使用css变量来使用开发工作变简单。

    基本用法

    基础用法

    page {

    --main-bg-color: brown;

    }

    .one {

    color: white;

    background-color: var(--main-bg-color);

    margin: 10px;

    }

    .two {

    color: white;

    background-color: black;

    margin: 10px;

    }

    .three {

    color: white;

    background-color: var(--main-bg-color);

    }

    提升用法

    .two { --test: 10px; }

    .three { --test: 2em; }

    在这个例子中,var(--test)的结果是:

    class="two" 对应的节点: 10px

    class="three" 对应的节点: element: 2em

    class="four" 对应的节点: 10px (继承自父级.two)

    class="one" 对应的节点: 无效值, 即此属性值为未被自定义css变量覆盖的默认值

    上述是一些基本概念,大致说明css变量的使用方法,注意在web开发中,我们使用:root来设置顶层变量,更多详细说明参考MDN的文档

    妙用css变量

    开发中经常遇到的问题是,css的数据是写死的,不能够和js变量直通,即有些数据使用动态变化的,但css用不了。对了,可以使用css变量试试呀

    js

    // 在js中设置css变量

    let myStyle = `

    --bg-color:red;

    --border-radius:50%;

    --wid:200px;

    --hgt:200px;

    `

    let chageStyle = `

    --bg-color:red;

    --border-radius:50%;

    --wid:300px;

    --hgt:300px;

    `

    Page({

    data: {

    viewData: {

    style: myStyle

    }

    },

    onLoad(){

    setTimeout(() => {

    this.setData({'viewData.style': chageStyle})

    }, 2000);

    }

    })

    wxml

    wxss

    /* 使用var */

    .my-view{

    width: var(--wid);

    height: var(--hgt);

    border-radius: var(--border-radius);

    padding: 10px;

    box-sizing: border-box;

    background-color: var(--bg-color);

    transition: all 0.3s ease-in;

    }

    .my-view image{

    width: 100%;

    height: 100%;

    border-radius: var(--border-radius);

    }

    通过css变量就可以动态设置css的属性值

    代码片段

    https://developers.weixin.qq.com/s/aWfUGCmG7Efe

    github

    小程序演示

    2f99cd719450abbd830fe90190a66a45.png

    到此这篇关于小程序中使用css var变量的文章就介绍到这了,更多相关小程序使用css var变量内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!

    展开全文
  • 主要介绍了小程序中使用css var变量,使js可以动态设置css样式属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 在这里记录一下开发过程中突然喜欢上的CSS/CSS3 var()变量以及calc()函数 , 让在不使用sass以及less的情况下也能进行一个比较高效的样式设置 var()变量 var变量的定义语法 : - -变量名 两个短横线加上变量名 var变量...

    在这里记录一下开发过程中突然喜欢上的CSS/CSS3 var()变量以及calc()函数 , 让在不使用sass以及less的情况下也能进行一个比较高效的样式设置

    var()变量

    var变量的定义语法 : - -变量名 两个短横线加上变量名
    var变量的使用 : var(- -变量名)
    我们可以在body中或者任何一个我们想要使用的变量语法的层级中定义var()变量并进行使用

    例如在body中定义:

    body{
    	--fontSize: 18px;
    	--color: #000000;
    }
    

    在某标签中使用:

    div-name{
    	font-size : var(--fontSize);
    	color: var(--color);
    }
    

    这样可以直接设置此div块的样式,用起来非常的舒服,维护修改起来也特别方便!

    calc()函数

    在目前高兼容要求下 calc() 函数计算 越来越重要,将calc()函数计算和var()变量结合使用更是相当的舒服

    例如:

    body{
        --width : 200px;
        --height : 200px;
        --color : red;
        --fontSize : 18px;
        --bgColor : #3c3c3c;
    }
    body{
        display: flex;
        justify-content: space-around
    }
    div{
        width: var(--width);
        height: var(--height);
        line-height: var(--height);
        background-color: var(--bgColor);
        text-align: center;
    
    }
    .div-1{
        color: var(--color);
        font-size: var(--fontSize);
    }
    .div-2{
        color: yellow;
        font-size: calc(var(--fontSize) + 4px);
    }
    .div-3{
        color: green;
        font-size: calc(var(--fontSize) + 8px);
    }
    
    <body>
        <div class="div-1">div-1</div>
        <div class="div-2">div-2</div>
        <div class="div-3">div-3</div>
    </body>
    

    最终呈现的效果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注:calc()函数计算使用的时候有几个地方需要注意:
    运算符前后都需要保留一个空格
    任何长度值都可以使用calc()函数进行计算;
    calc()函数支持 “+”, “-”, “*”, “/” 运算;
    calc()函数使用标准的数学运算优先级规则;

    完美的通过var变量统一设置了宽高等属性,并且通过var变量和calc函数计算的结合设置了字体大小的增减,同理可以使用这种方法对margin,padding,width等等属性进行设置,使用起来不要太爽!

    并且目前兼容性来说基本主流浏览器都兼容了,很是不错,参考以下
    在这里插入图片描述

    展开全文
  • 简单来说就是通过定义css变量,然后js改变变量就行,这里需要用到css的var() 首先是声明css变量 body { --myColor: blue; } 接下来是使用变量 .main { background-color: var(--myColor); width: 300px; ...

    一键换肤这个功能很多时候都需要用到,其实通过简单的css和js就可以实现

    简单来说就是通过定义css变量,然后js改变变量就行,这里需要用到css的var()

    首先是声明css变量
        body {
            --myColor: blue;
        }
    
    接下来是使用变量
     .main {
            background-color: var(--myColor);
            width: 300px;
            height: 300px;
        }
    
    很简单使用方法,注意的是var(–myColor,red)可以接受两个参数,当第一个参数取不到值或者某些浏览器不支持自定义属性时,会使用第二个参数作为值
    还有就是需要注意作用域,需要是当前作用域下
    最后就是js点击一键换肤时更改颜色了
     document.body.style.setProperty('--myColor', 'red')
    
    通过setProperty方法可以更改自己的css变量颜色
    这样就可以实现一个简单的一键换肤功能
    展开全文
  • 2.4.5 全局样式与局部样式 定义在 App.vue 中的样式为全局样式,作用于每一个页面。在 pages 目录下 的 vue 文件中...uni-app 提供内置 CSS 变量 注意:  var(–status-bar-height) 此变量在微信小程序环境为固定 2
  • 在uniapp中,想给元素添加一些动态的css样式,例如transform,uni.createSelectorQuery().select(".sticke").boundingClientRect((res)=>{uni.createSelectorQuery().select(".sticke").style.transform}).exec()...
  • 第一次使用uni-app做开发,之前学过h5,JavaWeb开发,但是没有接触过vue.js和小程序,所以一开始做的时候还是有点懵,遇到了几个问题来记录一下。1.vue和h5的区别 网络模式和文件类型 ...css背景图片不能使用本地文件
  • uni.scss uni-app内置的常用样式变量

    千次阅读 2020-12-01 09:56:51
    这里是uni-app内置的常用样式变量 uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量...
  • 想要动态修改css样式就得能动态的给<style></style>赋值,可是<style></style>里面又写不了变量(有可能可以但是我不会。。),所以想了个这种办法,通过给模板文件的:style动态复制从而...
  • .cont:before{ display: block; position: absolute; left: 0; top: 0; content: ‘’; width:#{‘var(–progresswidth)’}; height: 20rpx; background: #5CD5DA; border-radius: 16rpx; }
  • Uni-app的样式与传统css有所不同 Uni-app中的主要单位是upx或者写为rpx 随着屏幕大小变化 rpx也会随之拉伸 uni-app会把整个屏幕分为750份不变 每一份为1rpx 占用屏幕一半 也就是375rpx 字体大小为40rpx 2、...
  • uni-app 全局变量的几种实现方式 公用模块 定义一个专用的模块,用来组织和管理这些全局的变量,在需要的页面引入。 注意这种方式只支持多个vue页面或多个nvue页面之间公用,vue和nvue之间不公用。 示例如下: 在 ...
  • uni-app学习笔记(2)view属性控制css样式uniapp通过标签属性来改变样式当鼠标按下去的时候,他会变成这个样式hover-class="box-active"templateviewview class="box" hover-class="box-active"盒子/view/view/...
  • uni-app css动态绑定

    千次阅读 2019-12-04 11:48:30
    {{item.num}} {{data.num}}积分 {{data.cent}} 实现方式,绑定class的语法,加变量判断,每三个样式一致,用索引和3取余数,余数分别为1,2,0,当余数为这几个的时候加载不同样式即可。 官网class绑定:...
  • uni-app爬坑,uni-app修改内部css在h5生效,app上面不生效 #解决办法 修改内部css时将uni-改为wx-(比如说内部样式为uni-checkbox-input改为wx-checkbox-input)
  • uni-app 全局变量实现的4种方式

    千次阅读 2019-10-25 09:47:48
    定义一个专用的模块,用来组织和管理这些全局的变量,在需要的页面引入。 注意:这种方式只支持多个vue页面或多个nvue页面之间公用,vue和nvue之间不公用。 示例如下: 在 uni-app 项目根目录下创建 common 目录,...
  • uni-app ---小程序的全局变量

    千次阅读 2020-05-08 17:02:56
    在使用uni-app开发的时候,有需要用到一些全局的变量,这些变量想要在其他的很多页面中使用 所以 app.vue <script> export default { onLaunch: function() { console.log('App Launch') }, ...
  • 定义一个专用的模块,用来组织和管理这些全局的变量,在需要的页面引入。 注意这种方式只支持多个vue页面或多个nvue页面之间公用,vue和nvue之间不公用。 示例如下: 在 uni-app 项目根目录下创建 common 目录,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,721
精华内容 688
关键字:

cssuni变量