- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
在我的网站上,我经常使用 style="font-size: #ofpx;"。但是,我想知道是否有一种方法可以用 scss 做到这一点,这样当我声明一个类时,它也会改变字体大小。例如:
<div class='col-lg-4 font-20'>whatever here</div>
这会将我的字体大小更改为 20。如果我使用 font-30,它会将我的字体大小更改为 30 等等...
我目前拥有的:
.font-#{$fontsize} {
font-size: $fontsize;
}
最佳答案
这不能用于任意尺寸。 SCSS 的本质是需要在 应用于 HTML 之前将其扁平化为 CSS。然而,您所要求的本质上是在运行时而不是编译时创建规则。
换句话说,SCSS 使编写 CSS 的一些重复部分变得更加容易,但它不允许您做任何使用普通旧 CSS 无法做到的新事情。
你要的也是一个code smell .它闻起来像你的标记不够语义。 CSS 类的目的是将具有相似特征的对象分组,但您使用它们来描述它们赋予的样式。我建议退后一步,重新考虑您真正想要的是什么。
您显然拥有某些依赖于上下文的元素的详细信息。例如,当您想让按钮比平时更小或更大时,您可能正在将这些规则应用于按钮。您需要确定按钮发生变化的场景。如果它们在模态对话框中,它们可能会小 20%?然后编写您的常规 .button
规则,并为 .modal .button
创建规则以使其更小。
如果您确定要为 HTML 中的每个元素定义字体大小(有时有这样做的充分理由),请继续使用内联样式。内联样式不受欢迎的唯一原因是它以损害可重用性的方式组合了模型和 View 逻辑;但是,您所要求的方式完全相同。这就是内联样式的用途。不要重新发明轮子。
综上所述,您可以使用 sass 循环为范围内的整数自动生成类。例如:
/* warning: this is generally a bad idea */
@for $i from 1 through 100 {
.font-#{$i} {
font-size: #{$i}px;
}
}
这不是一个好主意。从实用的 Angular 来说,与仅使用内联样式相比,它没有任何优势,而且范围较大时,生成的文件会更大(这会影响网站加载时间)。
旁白:有一种 CSS 哲学(或时尚,如果您觉得不够大方)称为 Atomic CSS(或有时是函数式 CSS),它违背了此答案中给出的经典建议。我不会就它在生成干净、可维护的代码方面的有效性发表意见,但如果按照此问题中要求的特定程度使用,它通常确实需要比单独使用 SCSS 更多的工具。
关于css - SCSS变量类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39518374/
我试图按部分组织我的 .css 文件,我需要从任何文件访问文件组中的任何类。在 Less 中,我可以毫无问题地创建一个包含所有文件导入的主文件,并且每个文件都导入主文件,但在 Sass 中,我收到一个
我有一个全局 main.scss 文件,我在其中声明了一个 .small-size-text{ font-size: 12px; } 并且在作为login.scss 的子组件文件中,我将另一个类定
这是一个我完全不明白的奇怪错误。我通常会先搜索并寻求答案,然后再将其发布到 StackOverflow 上。所以问题是我想使用从另一个名为 的 scss 文件中导入的变量。 _variables.co
我试图让 livereload 与 rails 3.2 一起工作,我遇到了这个问题,其中有一个引用,不使用 .css.scss 命名导入的 sass 部分: Rails: Use livereload
这是我当前在 gulpfile.js 中的代码部分: // Sass gulp.task('sass', function () { gulp.src(['./node_modules/boots
我有这样一个样式文件的项目结构: client/ config-style.scss ------components/ ------style.scss -----------------my_co
如何在另一个.scss文件中包括.scss文件? 我试图将其写入文件中: app.scss: @include('buttons'); @include('dropzone'); body {
当我向 body 添加“dark-theme”类时,我想添加一个不同的主题。我的实现是这样的: @import '../../../../node_modules/angular-grids/styl
我在一个 Angular 元素中有一个 SCSS,它从 node_modules 导入另一个 SCSS: @import "node_modules/grapesjs/src/styles/scss/
它会缓存一个文件还是会导入两次并加倍我的代码? 假设我有variable.scss 并且必须将它导入那两个apple.scss | orange.scss。这样可以吗? 最佳答案 根据需要多次导入 v
这是 style.scss - 文件 @import '~bootstrap/scss/_functions.scss'; @import '~bootstrap/scss/_variables.sc
我在我的应用程序上使用 Angular (Jhipster),我想在我的 glocal.scss 文件中导入几个 .scss 文件。所以我创建了一个“util”文件夹(与 global.scss 文件
我正在 MPR 中从 Vaadin 8 迁移到 Vaadin 14 LTS。我们项目中使用的 .scss 文件需要编译。我使用了以下插件 com.vaadin vaa
这是我当前的项目目录结构,因为我想不出更好的组织方式来组织每个组件都有自己的 .scss 文件的用例,但是,整个应用程序都是包含全局 variables.scss 文件的 Fed 主题。目前,我正在每
在我的reactJS应用程序中 - 我将所有.scss文件包含在一个main.scss文件中 - 在src文件夹中的styles文件夹下。我有以下 webpack 配置。尝试将 main.scss 文
在最近的 Angular 7 项目中,我有一个组件(在文件 file-list.component.ts 中定义),其中有一个 mat-paginator (来自 Angular Material 组
我有一个引用了一些 Compass mixins 的 SCSS 文件。现在我想将它包含在一个不使用 Compass 的元素中。为此,我想将带有 Compass 混入的 SCSS 转换为没有 Compa
我只是在处理这个 tutorial 之后的本地元素它告诉我更改三个 css 文件: fluid_skeleton.css => _fluid_skeleton.scss 规范化.css => _规范化
我在根文件夹中创建了一个全局 scss 变量文件 对于导入变量我写 @import '../../../style_config/style_config'(全局变量文件) 到每个 scss 文件 更
我正在尝试将多个 SCSS 文件处理成 Webpack (3.6.0) 中的单个外部 CSS 文件,但我在解析 @import 语句时遇到问题。 条目 index.js 包含: import './s
我是一名优秀的程序员,十分优秀!