Làm cách nào để đưa tệp CSS vào SCSS?

Với SASS và Compass, tất cả các tệp SCSS và SASS đã nhập có thể được nén và hợp nhất thành một tệp đầu ra CSS duy nhất. Còn các tệp CSS thông thường thì sao?

Ví dụ, nếu phong cách. scss chứa

  
@import "../../bower_components/animate.css/animate.css";
  

nó sẽ được biên dịch thành

  
@import url[../../bower_components/animate.css/animate.css];
  

Đây không phải là điều chúng tôi muốn nếu chúng tôi đang hướng tới việc sử dụng các tính năng thu nhỏ và hợp nhất của SASS và Compass. Một số sẽ đổi tên phần mở rộng tệp .css thành .scss như một giải pháp thay thế. Nhưng nếu chúng tôi đang sử dụng trình quản lý gói như Bower, thì việc đổi tên phần mở rộng tệp không được khuyến nghị. Bài viết này sẽ đưa ra giải pháp cho vấn đề này

  1. Trong thư mục dự án của bạn, tạo tệp mylib.rb và sao chép các mã sau vào tệp này

          
    require "sass/importers"
    class Sass::Importers::Filesystem
      alias :css_importer :extensions
      def extensions
        css_importer.merge['css' => :scss]
      end
    end
          
        
  2. Bây giờ chúng ta có thể nhập [các] tệp CSS thông thường vào các tệp SASS của mình. Ví dụ nếu chúng ta muốn nhập

      
    @import url[../../bower_components/animate.css/animate.css];
      
    
    0, chúng ta sẽ ghi nó vào tệp SASS mà không có phần mở rộng .css

          
    @import "../../bower_components/animate.css/animate";
          
        
  3. Để sử dụng thư viện ruby ​​​​tùy chỉnh của chúng tôi với dòng lệnh la bàn, hãy thực hiện

          
    compass compile assets/sass/style.scss -r ./mylib.rb
          
        
  4. Nếu bạn đang sử dụng grunt, bạn có thể sử dụng các mã sau để tham khảo cho

      
    @import url[../../bower_components/animate.css/animate.css];
      
    
    2 của mình

          
    module.exports = function [grunt] {
      grunt.loadNpmTasks['grunt-contrib-compass'];
      grunt.loadNpmTasks['grunt-contrib-watch'];
      grunt.initConfig[{
        compass: {
          prod: {
            options: {
              config: 'config.rb',
              require: './mylib',
              environment: 'production',
              sourcemap: true
            } // options
          }, // prod
          dev: {
            options: {
              config: 'config.rb',
              require: './mylib',
              sourcemap: true
            } // options
          } // dev
        }, // compass
        watch: {
          sass: {
            files: [
              'assets/sass/*.scss'
            ],
            tasks: ['compass:dev']
          } // sass
        } // watch
      }]; // initConfig
      grunt.registerTask['default', 'watch'];
      grunt.registerTask['prod', ['compass:prod']];
    } // exports
          
        

Có cuộc thảo luận đang diễn ra sass/sass#193 về vấn đề này, nhưng khi viết bài này vẫn chưa có cách đơn giản nào để thực hiện điều này. Có một giải pháp nhưng nó không hoạt động

thẻ

Công cụ phát triển web frontend

SASS

La bàn

CSS

Tiếng càu nhàu

người cúi đầu

Thêm nhận xét mới

Tên của bạn

Chủ thể

Bình luận

Về định dạng văn bản

HTML bị hạn chế

Hướng dẫn từng bước để thiết lập Apache Solr 5. x trong CentOS 7 cho bản phân phối Drupal 7 Panopoly sử dụng Search API

Khi viết bài này, phiên bản mới nhất của Solr là 5. 2. 1. Trong hướng dẫn từng bước này, chúng tôi sẽ cài đặt phiên bản đó và tích hợp nó với trang web phân phối Drupal 7 Panopoly bằng mô-đun Search API. Trên thực tế, bản phân phối Panopoly đã được cung cấp cùng với các mô-đun Search API và Search API Solr Search. Tất cả những gì chúng ta cần làm là định cấu hình máy chủ và chỉ mục Solr API tìm kiếm được thiết lập sẵn. Điểm hay khi sử dụng API tìm kiếm là nó đã được tích hợp với mô-đun Chế độ xem và chúng tôi có thể tùy chỉnh không giới hạn với kết quả tìm kiếm của mình

thẻ

solr

Tối ưu hóa web

Drupal 7

drupal

API tìm kiếm

  • Đọc thêm về Hướng dẫn từng bước thiết lập Apache Solr 5. x trong CentOS 7 cho bản phân phối Drupal 7 Panopoly sử dụng API tìm kiếm

    SCSS là cú pháp thứ hai của Sass [Syntactally Awesome Stylesheet] sử dụng dấu ngoặc thay vì thụt đầu dòng. SCSS được thiết kế sao cho tệp CSS3 hợp lệ cũng là tệp SCSS hợp lệ. Các tệp SCSS được lưu trữ với. phần mở rộng scss

    Tại sao nên sử dụng SCSS

    Vì thiết kế của các trang web đang trở nên phức tạp dẫn đến các tệp CSS lớn. Các tệp như vậy khó bảo trì hơn. Đây là nơi SCSS xuất hiện. SCSS giới thiệu các biến, lồng, trộn, nhập và kế thừa bộ chọn trong quá trình phát triển CSS. Những bổ sung này giúp làm việc với thiết kế thú vị hơn rất nhiều

    Cách sử dụng tệp SCSS

    Các tệp SCSS không được đưa trực tiếp vào tài liệu HTML như CSS. Thay vào đó, các tệp SCSS được chuyển đổi thành tệp CSS được bao gồm trong tệp HTML. Để cài đặt SCSS trên hệ thống của bạn, hãy làm theo hướng dẫn trên Trang web chính thức của Sass. Để chuyển đổi SCSS sang CSS, bạn có thể chuyển đổi tệp SCSS đã lưu hoặc theo dõi các thay đổi và chuyển đổi khi tệp được lưu. Các lệnh cho cả hai được đưa ra dưới đây

    Chuyển đổi một lần

    Tham số đầu tiên là tệp SCSS nguồn và tham số thứ hai là tệp CSS đầu ra

    ________số 8_______

    Theo dõi các thay đổi

    Lệnh có một cờ watch* bổ sung để giữ cho lệnh chạy và ngay khi tệp SCSS được lưu, CSS đầu ra sẽ được tạo

    sass --watch main.scss main.css
    

    Cú pháp SCSS

    SCSS hỗ trợ các biến, lồng, trộn, nhập, kế thừa bộ chọn, v.v. Đưa ra dưới đây là ví dụ về các tính năng này

    Biến

    Bằng cách sử dụng các biến, bạn có thể đặt thông tin có thể sử dụng lại như màu chính hoặc màu nền cho nút lưu. Điều này hữu ích nếu bạn cần thay đổi thông tin đó, bạn chỉ cần thay đổi thông tin đó tại một vị trí và thông tin này sẽ cập nhật ở bất cứ nơi nào thông tin được sử dụng

    SCSS

    $primary-color: #47dff0;
    $secondary-color: darken[$primary-color, 50%];
    $margin: 16px;
    
    .highlight {
        border-color: $primary-color;
        color: $secondary-color;
    }
    
    h1 {
        span {
            margin: $margin / 2;
        }
    
        color: $secondary-color;
    }
    

    CSS đã tạo

    .highlight {
      border-color: #47dff0;
      color: #042f34;
    }
    
    h1 {
      color: #042f34;
    }
    h1 span {
      margin: 8px;
    }
    

    làm tổ

    Bạn có thể lồng các bộ chọn CSS tương tự như cấu trúc phân cấp của HTML. Trong ví dụ được đưa ra dưới đây, nhịp được lồng bên trong khối h1

    SCSS

    $primary-color: #47dff0;
    $secondary-color: darken[$primary-color, 50%];
    $margin: 16px;
    
    .highlight {
        border-color: $primary-color;
        color: $secondary-color;
    }
    
    h1 {
        span {
            margin: $margin / 2;
        }
    
        color: $secondary-color;
    }
    

    CSS đã tạo

    .highlight {
      border-color: #47dff0;
      color: #042f34;
    }
    
    h1 {
      color: #042f34;
    }
    h1 span {
      margin: 8px;
    }
    

    hỗn hợp

    Mixins có thể được sử dụng để nhóm các thuộc tính tương tự lại với nhau được sử dụng cùng nhau ở nhiều nơi. Bạn cũng có thể truyền tham số cho mixins

    SCSS

    Khai báo mixin

    // Simple
    @mixin error-text {
        color: red;
        font-size: 25px;
        font-weight: bold;
        border: 1px solid black;
        padding: 10px;
    }
    
    // With Parameter
    @mixin message-text[$color] {
        color: $color;
        font-size: 25px;
        font-weight: bold;
        border: 1px solid black;
        padding: 10px;
    }
    

    Sử dụng mixin

    .error {
        @include error-text[];
    }
    
    .success {
        @include message-text[green];
    }
    
    .info {
        @include message-text[blue];
    }
    

    CSS đã tạo

    .error {
      color: red;
      font-size: 25px;
      font-weight: bold;
      border: 1px solid black;
      padding: 10px;
    }
    
    .success {
      color: green;
      font-size: 25px;
      font-weight: bold;
      border: 1px solid black;
      padding: 10px;
    }
    
    .info {
      color: blue;
      font-size: 25px;
      font-weight: bold;
      border: 1px solid black;
      padding: 10px;
    }
    

    Mở rộng

    Mở rộng/Kế thừa rất hữu ích trong trường hợp các thuộc tính của một bộ chọn cần được chia sẻ với một bộ chọn khác. Trong ví dụ dưới đây, các. bộ chọn thông báo lỗi lấy tất cả các thuộc tính của. bộ chọn văn bản lỗi và thêm các thuộc tính đường viền và phần đệm

    SCSS

    .error-text {
        color: red;
        font-size: 25px;
        font-weight: bold;
    }
    
    .error-notice {
        @extend .error-text;
        border: 1px solid black;
        padding: 10px;
    }
    

    CSS đã tạo

    sass --watch main.scss main.css
    
    0

    Nhập khẩu

    Nhập khẩu có thể hữu ích trong việc phân tách các mối quan tâm. Bạn có thể phân chia các kiểu sao cho các kiểu đầu trang nằm trong một tệp riêng, các kiểu chân trang nằm trong một tệp riêng, tất cả các biến màu được sử dụng trong các kiểu có thể nằm trong một tệp riêng, v.v. Sử dụng kỹ thuật này, các phong cách được tổ chức. Bạn chỉ cần nhập các tệp trong tệp SCSS chính của mình như trong ví dụ bên dưới. Bạn không cần chỉ định phần mở rộng tệp trong hướng dẫn nhập. Sass biên dịch trực tiếp tất cả các tệp SCSS. Để tránh các tệp nhập được biên dịch trực tiếp, bạn có thể biến chúng thành từng phần bằng cách thêm dấu gạch dưới [_] trước tên của chúng. Bạn có thể nhập các phần tương tự như các tệp SCSS bình thường mà không có dấu gạch dưới

Chủ Đề