Sass Là Gì? Các Tiện Ích Của Sass Trong Thiết Kế Web

Ngày hôm nay chúng ta sẽ đi vào tìm hiểu Sass là gì và cách sử dụng variable, nesting, mixin, function và extend của Sass vào trong dự án thực tế nhé!

Sass là gì?

Sass là một CSS preprocessor, một phần lan rộng ra của CSS. Nó phân phối cho bạn thêm những công dụng và tiện ích để hoàn toàn có thể viết CSS được thuận tiện và hiệu suất cao hơn. Trong những dự án Bất Động Sản thực tiễn thì những file CSS có tới hàng ngàn dòng code nhưng lại không có bất kể những thành phần nào hoàn toàn có thể reusable ( sử dụng lại ) cũng như không có một logic nào cả. Điều này sẽ làm tất cả chúng ta khó khăn vất vả trong việc quản trị. Do đó Sass sinh ra giúp bạn xử lý những yếu tố trên mà không làm ảnh hưởng tác động tới cách CSS hoạt động giải trí .

Sass hoạt động như thế nào?

Thay vì tất cả chúng ta sẽ viết những file CSS như thông thường thì ở đây tất cả chúng ta sẽ viết Sass file. Sau đó sẽ sử dụng compiler ( trình biên dịch ) để chuyển những đoạn mã Sass thành CSS .Cách hoạt động của Sass

Các Tiện Ích Của Sass

  • Variables: Nơi lưu trữ các giá trị mà bạn có thể sử dụng lại được như là màu sắc, khoảng cách, font-size…
  • Nesting: giúp bạn có thể lồng các selector lại với nhau giúp chúng ta phải viết ít code hơn.
  • Operator: Bạn có thể áp dụng các biểu thức toán học vào trong CSS.
  • Partials và import: Đây được xem là tiện ích quan trọng trong Sass. Nó giúp bạn có thể viết nhiều file CSS khác nhau và import tất các cả file đó vào trong một file duy nhất.
  • Mixins: Giúp chúng ta viết các mã CSS có thể sử dụng lại được.
  • Functions: Giúp Bạn có thể viết các biểu thức phức tạp với giá trị do chúng ta cung cấp.
  • Extend: cho phép kế thừa các thuộc tính của các thành phần khác.
  • cho phép chúng ta viết các đoạn mã phức tạp bằng việc sử dụng loop(vòng lặp) và condition(điều kiện).cho phép kế thừa các thuộc tính của các thành phần khác.

Các Kiểu Syntax của SASS

Trong Sass thì sẽ có hai kiểu syntax là Sass và Scss. Để hiểu rõ hơn bạn xem hình ảnh bên dưới nhé !Các Kiểu Syntax của SASSĐể tất cả chúng ta hoàn toàn có thể thuận tiện viết code thì mình sẽ chọn kiểu syntax SCSS ( vì nó có cú pháp khá giống với CSS ) nhé !

Cách sử dụng variable trong Sass

Variables: Nơi lưu trữ các giá trị mà bạn có thể sử dụng lại được như là màu sắc, khoảng cách, font-size… Điều quan trọng bắt buộc là khi khai báo biến thì chúng ta phải sử dụng dấu $ trước tên nhé!
Ví dụ bạn muốn đặt variable để lưu trữ màu sắc thì chúng ta sẽ viết như sau: $color-nav: #1E90FF;

Để hiểu rõ hơn tất cả chúng ta sẽ đi vào tạo và phong cách thiết kế navigation bằng Sass nhé !

HTML

    

  • Dịch Vụ
  •     

  • Về Chúng Tôi
  •   

    SCSS

    *{
      margin:0;
      padding:0;
      box-sizing: border-box;
    }
    $color-nav: #1E90FF;
    nav{
      margin: 30px;
      padding: 12px;
      background-color: $color-nav;
    }

    Như bạn thấy thì chúng ta sử dụng $color-nav để lưu trữ thông tin màu sắc cho thanh tiêu đề. Sau này khi bạn muốn đổi màu nền của navigation thì chỉ cần thay đổi giá trị của biến $color-nav là được. Và kết quả bạn xem hình ảnh bên dưới nha.

    Sử dụng variable trong Sass

    Cách sử dụng nesting trong Sass

    Tiếp tục với ví dụ trên tất cả chúng ta sẽ đi vào khám phá cách những selector được lồng vào nhau nhé .

    SCSS

    .navigation {
      list-style: none;
    li {
      display: inline-block;
      margin-left: 30px;
     }
    }

    Để hiểu rõ hơn cách lồng những selector trong Sass thì bạn xem hình ảnh bên dưới nha .nesting trong SassỞ đây mình có một quan tâm nhỏ là nó sẽ không số lượng giới hạn những selector hoàn toàn có thể lồng vào với nhau. Do đó bạn trọn vẹn hoàn toàn có thể chọn bất kỳ thành phần con nào mà mình mong ước. Và hiệu quả của đoạn mã trên ở bên dưới nha :ví dụ nesting trong Sass

    Tiếp theo mình muốn giới thiệu đến bạn một thuộc tính là &. Nó sẽ giúp chúng ta có thể tránh lặp lại phần tử selector trong đoạn mã. Để hiểu rõ hơn bạn hãy xem hình ảnh dưới đây nhé!

    ví dụ & trong SassVà dưới đây là dự án Bất Động Sản tạo navigation hoàn hảo bằng HTML và SCSS trên codepen nhé !See the Pen by haycuoilennao19 ( @ haycuoilennao19 ) on CodePen .

    Nguồn

    Cách sử dụng @mixin trong Sass

    Bây giờ tất cả chúng ta sẽ đi vào khám phá cách thuộc tính này trải qua bài thực hành thực tế ở dưới đây nhé !

    HTML

        

  • Dịch Vụ
  •     

  • Về Chúng Tôi
  •   
              Sign In     Sign Up
      

    SCSS

    *{
      margin:0;
      padding:0;
      box-sizing: border-box;
    }
    $color-nav: #1E90FF;
    $color-link: #fff;
    $background-color-signin:#00BFFF;
    $background-color-signup:#FF8C00;
    $width-btn: 150px;
    nav{
      margin: 30px;
      padding: 12px;
      background-color: $color-nav;
      &::after{
      content: "";
      clear: both;
      display: table;
      }
    }
    .navigation{
      list-style: none;
       float: left;
      li{
        display: inline-block;
        margin-left: 30px;
        &:first-child{
         margin: 0px;
        }
        a{
          text-decoration: none;
          color: $color-link;
        }
      }
    }
    .btn{
     float: right;
    }
    .btn-signin,
    .btn-signup{
      display: inline-block;
      text-align: center;
      border-radius: 100px;
      text-decoration: none;
      width : $width-btn;
      color: $color-link;
     }
    .btn-signin{
      &:link{
       background-color: $background-color-signin;
      }
    }
    .btn-signup{
      &:link{
       background-color: $background-color-signup;
      }
    }

    Và hiệu quả bạn xem hình ảnh dưới đây nhé !ví dụ mixin trong Sass

    Bây giờ chúng ta sẽ bắt đầu sử dụng thuộc tính @mixin vào đoạn mã trên để giúp nó dễ chỉnh sửa và sử dụng lại ở sau này nhé. Đầu tiên mình sẽ tạo một chức năng clearfix để xoá các ảnh hưởng về khoảng cách khi sử dụng thuộc tính float ở trong website.

    Để hiểu rõ hơn về cách khai báo và sử dụng thì bạn hãy xem hình ảnh dưới đây nha !ví dụ mixin trong Sass 2

    Và bây giờ khi lúc nào bạn cần sử dụng clearfix thì chỉ cần gọi @include clearfix vào đối tượng selector mà mình mong muốn. Kết quả bạn xem trên Codepen nha.

    See the Pen bai thuc khô cứng ve sass 2 by haycuoilennao19 ( @ haycuoilennao19 ) on CodePen .

    Trong phần tiếp theo này mình sẽ giới thiệu đến bạn cách sử dụng tham số trong @mixin. Để hiểu rõ hơn thì bạn xem hình ảnh dưới đây nha.

    Sử dụng @mixin với tham số

    Như bạn thấy thì $color sẽ là màu sắc mà chúng ta muốn chọn cho đối tượng và tuỳ vào các thành phần khác nhau thì bạn sẽ chọn các màu sắc khác nhau cho phù hợp. Điểm minh thích ở đây chính là chúng ta có thể gán color vào trực tiếp mà không cần phải viết lại đoạn code mới. Và kết qủa bạn xem dự án ở bên dưới nhé!

    See the Pen bai thuc hanh hao ve sass by haycuoilennao19 ( @ haycuoilennao19 ) on CodePen .

    Cách sử dụng function()

    Trong phần này tất cả chúng ta sẽ cùng nhau đi vào khám phá cách sử dụng function của Sass vào phong cách thiết kế và tăng trưởng web nhé. Mình sẽ lấy ví dụ ở trên để minh họa công dụng của nó là giúp Bạn hoàn toàn có thể viết những biểu thức phức tạp với giá trị do tất cả chúng ta cung ứng .Sử dụng @function với tham sốVà tác dụng bạn xem trên Codepen nhé !See the Pen bai thuc khô cứng ve sass 3 by haycuoilennao19 ( @ haycuoilennao19 ) on CodePen .

    Cách sử dụng extend()

    Extend được cho phép thừa kế những thuộc tính của những thành phần khác. Và để hiểu rõ hơn thì tất cả chúng ta hãy sử dụng nó vào ví dụ phía trên nhé !

    Như bạn thấy thì chúng ta có hai nút sign in và sign up đều được sử dụng chung các thuộc tính CSS do đó mình sẽ sử dụng chức năng extend để viết một đoạn code để sử dụng chung nha.

    Sử dụng @extend trong SassVà tác dụng bạn xem dự án Bất Động Sản codepen bên dưới nhé !See the Pen bai thuc khô cứng ve sass 4 by haycuoilennao19 ( @ haycuoilennao19 ) on CodePen .

    Tổng kết:

    Qua đây mình mong bài viết sẽ phân phối thêm cho bạn kiến thức và kỹ năng hữu dụng về Sass cho việc tăng trưởng, phong cách thiết kế web và nếu có vướng mắc gì cứ gửi email mình sẽ phản hồi sớm nhất hoàn toàn có thể. Rất mong bạn liên tục ủng hộ website để mình hoàn toàn có thể viết nhiều bài hay hơn nữa nhé. Chúc bạn có một ngày vui tươi !