GVKun编程网logo

如何使用Foundation 4将Sass变量分配给CSS选择器?(sass变量引用css变量)

9

此处将为大家介绍关于如何使用Foundation4将Sass变量分配给CSS选择器?的详细内容,并且为您解答有关sass变量引用css变量的相关问题,此外,我们还将为您介绍关于.class-name是

此处将为大家介绍关于如何使用Foundation 4将Sass变量分配给CSS选择器?的详细内容,并且为您解答有关sass变量引用css变量的相关问题,此外,我们还将为您介绍关于.class-name是什么意思作为CSS选择器?、CSS ID选择器与CLASS选择器_html/css_WEB-ITnose、css – Django-Bower Foundation 5 SASS,如何配置?、css – Ruby无法找到Foundation / foundation-global?的有用信息。

本文目录一览:

如何使用Foundation 4将Sass变量分配给CSS选择器?(sass变量引用css变量)

如何使用Foundation 4将Sass变量分配给CSS选择器?(sass变量引用css变量)

我已经搜索并搜索了所有内容,当然也查阅了相关文档,但是关于Foundation 4的一些事情,我似乎无法理解,涉及Sass的转换方式。

我已使用create
project命令使用Compass设置了Foundation,因此Sass正在运行。app.scss文件正在导入“设置”和“基础”,并使用“
watch”进行编译。

我的问题的前半部分:我了解app.css是从gem中的组件文件编译而成的(那句话有意义吗?),但是在哪里可以找到这些组件?例如,“基础/组件/全局”在哪里?

我的问题的后半部分:在app.scss中声明的变量如下`// $body-bg:

fff;:Sass如何知道CSS中该变量的含义?我找不到它分配给的任何地方body

{background}`。如果注释掉了,Sass怎么导入上面的变量(如我的例子)?_settings.scss中的几乎所有变量都被注释掉了。

我花了几天的时间试图做到这一点,感觉好像我错过了一些非常明显的愚蠢的事情,但是我几乎觉得我想把笔记本电脑扔到窗外:(

答案1

小编典典

与Compass一起使用时,Foundation称为 _CompassExtension_了解更多关于Extensions的信息。它基本上是Sass和Ruby文件的集合,这些文件以某种方式捆绑在一起,使它们无需复制文件即可用于您的项目。

在您的config.rb中,您可能会有类似以下内容:

require ''foundation''

这使得扩展可用于您的项目。至此,您所能使用的就是用Ruby编写的Sass函数。要引入Sass文件(mixins,主题等),您需要像这样导入它们:

@import ''foundation'';

假设扩展使用推荐的命名约定和目录结构,它将包含来自扩展的名为_foundation.scss的文件,该文件通常会导入该扩展内的其他文件。

扩展名中的变量通常具有默认值集。您的设置文件为您提供了覆盖这些值的选项,并以典型的配置文件样式编写(即,列出了默认值,但已将其注释掉)。

.class-name是什么意思作为CSS选择器?

.class-name是什么意思作为CSS选择器?

所以,如果我有一个名为“class-name”的CSS类,以下是什么意思?

.class-name {
  margin: 0;
}

为什么,如果我有以下HTML

<div id="some-id">
    <ul>
        <li>
    ...

是选择器

#some-id .class-name ul li

不存在?

解决方法

第一个意味着你可能认为它意味着什么:任何具有类class-name的HTML元素将具有0宽度的边距(对于每一边,即顶部,底部,左侧和右侧).

第二个问题有点微妙.这个选择器

#some-id .class-name ul li

仅适用于在ul下找到的li,它位于具有class-name类的元素下,位于id为some-id的元素下.

你必须使用这样的选择器来应用你上面的HTML:

#some-id ul li.class-name

请注意,该选择器中的li和.class-name之间没有空格.指定li.class-name表示“具有类名class-name的li”,而li .class-name(带空格)表示“在li下面找到类class-name的元素”.

CSS ID选择器与CLASS选择器_html/css_WEB-ITnose

CSS ID选择器与CLASS选择器_html/css_WEB-ITnose

  在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。        
  属性选择器可以根据元素的属性及属性值来选择元素。

  三种基本的选择器类型:标签名选择器、类选择器、id选择器

具体语法如下:

 1、标签名选择器,如:

立即学习“前端免费学习笔记(深入)”;

html {color:black;}h1 {color:blue;}h2 {color:silver;}
登录后复制
即直接使用HTML标签作为选择器。

立即学习“前端免费学习笔记(深入)”;

2、类选择器

类选择器允许以一种独立于文档元素的方式来指定样式。
该选择器可以单独使用,也可以与其他元素结合使用。
提示:只有适当地标记文档后,才能使用这些选择器,所以使用这两种选择器通常需要先做一些构想和计划。
要应用样式而不考虑具体设计的元素,最常用的方法就是使用类选择器。

       demo:

立即学习“前端免费学习笔记(深入)”;

.important {font-weight:bold;}.warning {font-style:italic;}.important.warning {background:silver;}
登录后复制
class 为 important 的所有元素都是粗体,而 class 为 warning 的所有元素为斜体,class 中同时包含 important 和 warning 的所有元素还有一个银色的背景。

立即学习“前端免费学习笔记(深入)”;

3、ID选择器


小结:

那么类选择器与ID选择器有啥区别呢?

ID 有高优先级、唯一性的特点,特指「个体」。
相对于 ID,class 的优先级比较适中,特指「特定群体」。
Class 的使用需要参考面向对象的抽象概念,把共有的属性抽象出来。

ID是先找到结构/内容,再给它定义样式;
Class是先定义好一种样式,再套给多个结构/内容。

css – Django-Bower Foundation 5 SASS,如何配置?

css – Django-Bower Foundation 5 SASS,如何配置?

我正在使用Django-Bower测试基础5的SASS实现。我是Bower的想法的新手,对于如何使设置正常工作有点混乱。

我有django-bower安装并配置为正常运行。在加入基础应用程序配置并运行manage.py bower_install之后,我可以看到基础文件确实已经正确安装。我也可以使用静态标签将JS加载到模板中,而不会出现问题,所以我觉得我大约在一半。

我的问题是关于如何实际使用我的自定义SASS文件安装的基础文件,以及将这些SASS文件编译成CSS的最佳方式。我知道我应该能够通过@include“基础”将基础包含在我的SASS中,但是我失去了如何让SASS文件“看到”组件中的基础文件/ bower_components / foundation / sass以及如何设置一个编译将css放入正确的静态文件中。

更新:
PyCharm有一个选项来观看sass文件并编译它们,所以我现在有一个编译文件的选项,但是当我尝试导入基础时,我收到错误blog3.sass(第1行:文件导入未找到或不可读:foundation)。

作为参考,这里是我的文件结构:

├── blog3
│ └── __pycache__
├── components
│ └── bower_components
│     ├── foundation
│     │ ├── css
│     │ ├── js
│     │ │ ├── foundation
│     │ │ └── vendor
│     │ └── scss
│     │     └── foundation
│     │         └── components
│     ├── jquery
│     └── modernizr
│         ├── feature-detects
│         ├── media
│         └── test
│             ├── caniuse_files
│             ├── js
│             │ └── lib
│             └── qunit
└── interface
    ├── migrations
    │ └── __pycache__
    ├── __pycache__
    ├── sass
    └── templates
        └── interface

这是我的settings.py

"""
Django settings for blog3 project.

For more information on this file,see
https://docs.djangoproject.com/en/dev/topics/settings/

For the full list of settings and their values,see
https://docs.djangoproject.com/en/dev/ref/settings/
"""

# Build paths inside the project like this: os.path.join(BASE_DIR,...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/

# Security WARNING: keep the secret key used in production secret!
SECRET_KEY = '...'

# Security WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application deFinition

INSTALLED_APPS = (
    'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','annoying','django_extensions','djangobower','interface',)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',)

ROOT_URLconf = 'blog3.urls'

Wsgi_APPLICATION = 'blog3.wsgi.application'


# Database
# https://docs.djangoproject.com/en/dev/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR,'db.sqlite3'),}
}

# Internationalization
# https://docs.djangoproject.com/en/dev/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True  


# Static files (CSS,JavaScript,Images)
# https://docs.djangoproject.com/en/dev/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_FINDERS = (
    'djangobower.finders.BowerFinder',)

BOWER_COMPONENTS_ROOT = os.path.join(BASE_DIR,"components")
BOWER_INSTALLED_APPS = (
    'jquery','foundation',)

解决方法

解决方案没有PYCHARM WATCHER

>不使用pycharm观察者。
> django-compressor编译包含compass的scss文件。
> django-bower

这是django-compression的“如何编译scss文件”的例子:

APPNAME /静态/ SCSS / app.scss:

@import "../../../components/bower_components/foundation/scss/foundation";
@import "compass";

/* other stuff*/

settings.py:

STATICFILES_FINDERS = (
    .....
    'compressor.finders.CompressorFinder',)

COMPRESS_PRECOMPILERS = (
    ('text/x-sass','sass --compass "{infile}" "{outfile}"'),('text/x-scss','sass --scss --compass "{infile}" "{outfile}"'),)

COMPRESS_URL = '/static/'

template.html:

{% load static %}
{% load compress %}

<head>
    {% compress css %}
        <link href="{% static 'scss/app.scss' %}" media="screen,projection" rel="stylesheet" type="text/x-scss" />
    {% endcompress %}

</head>

希望这能帮助你。

编辑

也许这是一个更好的配置来使用@import没有亲戚的路径。
我认为:

PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
BOWER_COMPONENTS_ROOT = os.path.join(PROJECT_PATH,"../components/")
COMPRESS_PRECOMPILERS = (
        ('text/x-sass','sass --scss --compass -I "%s/bower_components/foundation/scss" "{infile}" "{outfile}"' % BOWER_COMPONENTS_ROOT),)

现在app.scss:

@import "foundation";
@import "compass";

使用PYCHARM手表

最近我很欣赏pycharm观察者

>安装django-bower
>从pycharm首选项添加SCSS监视器
>在编辑观察者,进入“参数”字段我设置:

–compass -I“/ $ ProjectFileDir $ / components / bower_components / foundation / scss”–no-cache –update $ FileName $:$ FileNameWithoutExtension $ .css

所以,在scss文件中:

@import "foundation";
@import "compass";

css – Ruby无法找到Foundation / foundation-global?

css – Ruby无法找到Foundation / foundation-global?

昨天我决定试试我的一个网络应用程序.一切都运行正常,因为我在localhost,但当我将新的更改推送到我的EC2实例,继续按照Zurb基金会的指示,我遇到了这个错误:

Sass::SyntaxError in Home#index

Showing /var/www/brain_db/app/views/layouts/application.html.erb where line #18 raised:

File to import not found or unreadable: foundation/foundation-global. Load path: Sass::Rails::Importer(/var/www/brain_db/app/assets/stylesheets/foundation_and_overrides.scss) (in /var/www/brain_db/app/assets/stylesheets/foundation_and_overrides.scss)

作为Ruby on Rails和Foundation的新手,我真的不确定如何解决这个问题.我通过谷歌搜索找到了许多有类似问题的人,但他们的情况略有不同,这使我难以诊断.有什么建议?

解决方法

我得到了同样的错误,事实证明我只需要重启我的本地开发服务器.

关于如何使用Foundation 4将Sass变量分配给CSS选择器?sass变量引用css变量的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.class-name是什么意思作为CSS选择器?、CSS ID选择器与CLASS选择器_html/css_WEB-ITnose、css – Django-Bower Foundation 5 SASS,如何配置?、css – Ruby无法找到Foundation / foundation-global?等相关知识的信息别忘了在本站进行查找喔。

本文标签: