- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近开始将 LESS 用于 CSS,想知道我的方法是否是通过创建我自己的 LESS“mixin”(我认为)来定位多个供应商前缀的正确方法?
.transition (@transition: 1s) {
transition: @transition;
-webkit-transition: @transition;
-moz-transition: @transition;
}
例如,如果我有一个 .btn 类并调用 .transition(有效)
.btn:hover {
color: red;
.transition(@transition: 1s ease-in);
}
还有动画。
@animate-fadein: fadeIn 1.7s linear;
.animation (@animation: fadeIn .2s linear) {
animation: @animation;
-webkit-animation: @animation;
-moz-animation: @animation;
-o-animation: @animation;
}
.btn
.btn {
@animation(@animation: fadeIn .2s linear);
}
顺便说一句,这个方法有效。我只是好奇。我的方法是否过于复杂,或者我只是在重新发明轮子?
最佳答案
好吧,使用 mixins 可以帮助您编写更多 DRY(不要重复自己)代码,所以这很好,也是您应该使用 Less 的主要原因。当您的需求发生变化(支持不同的浏览器)时,您只需更改您的混合(您也可以在您的元素中共享)。
请注意,可以在网上找到许多混合库,它们已经为您创建了这些前缀混合库。请参阅:http://lesscss.org/usage/#frameworks-using-less-mixin-libraries
正如@seven-phases-max 已经提到的,现在大多数人使用自动前缀后处理器来为他们的混入添加前缀。此外,Bootstrap 已将自动前缀集成到他们的 Grunt 构建过程中,以支持前缀混合(自版本 3.2 起)。最流行的自动前缀后处理器 ( https://github.com/postcss/autoprefixer ) 的唯一缺点是它需要安装 Node.js 并且不能与某些 alternative compilers 一起使用。 .
从 Less 的第 2 版开始,它的插件易于使用。 Less 为您提供autoprefix plugin也。可以通过运行 npm install -g less-plugin-autoprefix
安装此插件。安装后你可以运行例如 lessc --autoprefix="last 2 versions"main.less
。
在使用 less.js 编译器编译 Less 代码客户端时,不会使用 Less autoprefix 插件。 -prefixfree在编译客户端时似乎是一个合理的选择。
关于您的供应商前缀的最后说明,在某些情况下,[优雅降级策略] ( https://www.w3.org/community/webed/wiki/Optimizing_content_for_different_browsers:_the_RIGHT_way#Graceful_degradation ) 将比尝试使用最新技术支持最旧的浏览器更好。
关于css - 我是否将供应商前缀的 LESS 过于复杂化了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873745/
Java 文档说 CompletableFuture:supplyAsync(Supplier supplier)在 ForkJoinPool#commonPool() 中运行任务而 Completa
我正在尝试设置 IVR,或者更具体地说是使用 Asterisk 的自动接线员。除了简单的自动菜单系统之外,我不想要任何花哨的东西,而不是调用分机(现在),如果按下 1,只需调用同一条电话线 (POTS
当我尝试从 Symfony2 项目根运行以下命令时 php bin/vendors install 我收到以下错误: Could not open input file: bin/vendors 我对
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我正在开发一个涉及用户位置检测的 Android 应用程序。我想知道的是,这个 -> LocationManager.GPS_PROVIDER 是如何工作的? 它是使用手机中的 GPS 系统还是使用移
我不知道如何编写代码以在可能的情况下选择网络提供商,或者如果网络不可用则选择 GPS 提供商。我怎样才能改变代码来得到这个。这是我的第一个 Android 应用程序,我尝试这样做但没有成功。 pack
我不是 MySQL 专家,我必须为我的水平设计一个相当复杂的数据库。 我现在面临的问题在于同一个表(公司的宏观类别)中存在供应商-客户关系: 宏表 id name mega_i
我希望至少有人能在这里为我指明正确的方向。 我的业务需要开放式身份验证。 但是,不要使用其他服务,如facebook 或 google 等。 我们有一个成员(member)数据库 - 一个标准的 as
如果我需要一个变量的 ThreadLocal,是否还需要使用 Supplier(也是线程安全的)? 例如,Supplier 是否不需要在这里实现线程安全? private ThreadLocal> m
我在 brunch@1.7.6 没有编译 bower_component css 文件时遇到问题。类似于 Separating app and vendor css in Brunch .只有 css
我正在使用 select2在 angular 项目中(使用自耕农)。 Select2 css 位于以下目录中: bower_components/select2/select2.css bower_c
在我的 Rails 应用程序目录中,vendor/plugins 和 vendor/assets/stylesheets 存在(两者都是空的)。我想创建 javascripts 文件夹。我可以手动创建
我的代码 fragment 是: mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if
我继承了一个 Hadoop 安装,我很想知道以前的管理员是如何安装它的,它是从哪里来的。我是 Hadoop 的新手,但似乎以前的管理员简单地从源代码安装了 Apache Hadoop(而不是使用 Cl
我是 Ionic 2 的新手,正在尝试学习所有介绍如何添加提供程序的在线教程。 Ionic 似乎更改了生成的应用程序结构。有人可以给我一个例子,说明如何使用当前的 Ionic 2 应用程序结构执行此操
为什么供应商只支持无参数构造函数? 如果存在默认构造函数,我可以这样做: create(Foo::new) 但是如果唯一的构造函数需要一个字符串,我必须这样做: create(() -> new Fo
我已经通过 docker-compose 构建了一个容器,这里是 .yml: gateway: build: . image: sng container_name: sn
虽然不是直接的编程问题,但我想我可以在这里找到最佳答案。 为什么 USB-IF 监管供应商 ID 的使用并出售它们? 想要编写开源驱动程序的人或想要 2,000 美元会产生巨大影响的小公司会发生什
我正在使用 laravel-analytics ( https://github.com/spatie/laravel-analytics/ ) 并已在本地安装了所有内容,工作正常。 但是,每当我尝试
有没有一种方法/测试工作流程 - 如果我想从 gui 读取字符串内容并将其放入 ArrayList 中,然后将其写入 .xlsx 文件并使用该文件作为数据提供程序。如果是的话,我可以获得它的@test
我是一名优秀的程序员,十分优秀!