小编Sco*_*ttS的帖子

使用less来根据参数值生成动态CSS规则并传递mixin

在LESS可以实现这样的目标吗?

.some-button(@className) {
  @className { .actionIcon; }
  tr:hover {
    @className { .actionButton; }
  }
}
Run Code Online (Sandbox Code Playgroud)

我打电话的时候:

.some-button(.edit-action);
Run Code Online (Sandbox Code Playgroud)

预期产量应为:

.edit-action { .actionIcon; }
tr:hover { .edit-action { .actionButton; } }
Run Code Online (Sandbox Code Playgroud)

目前我收到这个"@className {.actionIcon;}中无法识别的输入"错误:

.some-button(@className) {
  @className { .actionIcon; }
  tr:hover {
Run Code Online (Sandbox Code Playgroud)

编辑

我想要实现的另一件事是使用mixin作为mixin参数:

.actionButton(@buttonClassName; @buttonType) {
  @{buttonClassName} { 
    .actionIcon; 
  }
  tr:hover {
    @{buttonClassName} { 
        .actionHoverIcon; 
        @buttonType();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

和电话是这样的:

.actionButton(~'.row-edit', button-harmful);
Run Code Online (Sandbox Code Playgroud)

其中,纽扣有害是一个mixin.

less

1
推荐指数
1
解决办法
555
查看次数

如何比较元素的 margin-left 与负值

使用 jquery if 语句检查边距是否比负值更负(小于)的正确方法是什么?

if(canvas.css('margin-left') <= '-200px') {
       //do something
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery if-statement

1
推荐指数
1
解决办法
1272
查看次数

使用 JSX 包从基本 CLI 安装中获取 Vue.js 使用 TypeScript 渲染 JSX

设置

使用 vue-cli 创建了一个基本项目,在此期间我使用“手动选择功能”进行安装,其中我选择了以下内容(除了 linter 之外):

  • 选定的Babel、TypeScript、Vuex 和 Linter / Formatter
  • 选择2.x
  • 对类风格组件说不
  • 是要与 TypeScript 一起使用 Babel(现代模式、自动检测的 polyfill、转译 JSX 所需)?

然后,我还安装了jsx 支持(并且我验证了安装的 Babel 版本是 7,因为这是该 jsx 支持存储库所必需的)。

在我的bable.config.js文件中,我添加了jsx 存储库请求的预设(没有替换 vue-cli 生成的内容):

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset',
    '@vue/babel-preset-jsx', //<-- Added this
  ],
};
Run Code Online (Sandbox Code Playgroud)

我已经确认自动生成的 tsconfig.json具有所需的配置(至少据我所知):

"compilerOptions": {
    ...
    "jsx": "preserve",
    ...
}

Run Code Online (Sandbox Code Playgroud)

我已经确认自动生成的 shims-tsx.d.ts文件具有所需的配置(至少据我所知):

import Vue, { VNode } from 'vue';

declare global { …
Run Code Online (Sandbox Code Playgroud)

rendering jsx typescript vue.js vue-cli

1
推荐指数
1
解决办法
2174
查看次数

用更少的CSS代码写这个?

我正在写一些5个不同元素(奖章/徽章)的CSS过渡.我觉得我已经以非优化的方式完成了它,所以我想知道是否可以编写相同的代码,但代码更少?

这是代码:

#nav .badges { float:left; height: 173px; width: 173px; background-color: #fff; /*margin:  0 50px 50px 0;*/ display: block; margin-left: 21px; margin-bottom: 20px; -webkit-border-radius: 100px; -moz-border-radius: 100px; border-radius: 100px; }
   #slidingDoors-bronze-badge { background-image: url('../images/menu-badge-bronse_01.png'), url('../images/menu-badge-bronse_02.png'), url('../images/menu-badge-gull-hover.png') !important; background-repeat: no-repeat !important; background-position: 0px 0px, 87px 0px, 0px 180px !important; -webkit-transition: all 500ms ease-in-out; -moz-transition: all 500ms ease-in-out; -o-transition: all 500ms ease-in-out; -ms-transition: all 500ms ease-in-out; transition: all 500ms ease-in-out; }
   #slidingDoors-bronze-badge:hover { background-position: -63px 0px, 150px 0px, 0px 0px !important; } …
Run Code Online (Sandbox Code Playgroud)

css css3

0
推荐指数
1
解决办法
179
查看次数

标签 统计

css ×1

css3 ×1

if-statement ×1

javascript ×1

jquery ×1

jsx ×1

less ×1

rendering ×1

typescript ×1

vue-cli ×1

vue.js ×1