Unlimited Wordpress themes, plugins, graphics & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. LESS
Webdesign

Bàn luận LESS: Ngôn ngữ stylesheet có thể lập trình

by
Length:LongLanguages:

Vietnamese (Tiếng Việt) translation by Thai An (you can also view the original English article)

Tôi không thích CSS. Rõ ràng và đơn giản. Nó làm cho thế giới đi vòng trên web, nhưng ngôn ngữ là hạn chế và khó quản lý. Đã đến lúc tạo ngôn ngữ và làm cho nó hữu ích hơn bằng cách sử dụng CSS động với sự trợ giúp của LESS.

Hãy để tôi minh họa quan điểm của tôi với một ví dụ ngay lập tức. Thay vì sử dụng # FF9F94 để có được màu đào tối, sẽ không dễ dàng hơn khi lưu trữ giá trị màu đó bên trong biến và chỉ sử dụng biến đó? Nếu bạn muốn đổi màu trang web của bạn, bạn chỉ cần thay đổi giá trị của biến ở một nơi và đó là điều đó.

Nói cách khác: nó sẽ rất tuyệt nếu chúng ta có thể sử dụng một số lập trình và logic bên trong CSS để biến nó trở thành một công cụ mạnh mẽ hơn. Tin tốt là với sự giúp đỡ của LESS, chúng tôi có thể!

LESS LÀ GÌ?

LESS là một phần lớn CSS. Điều này có nghĩa rằng tất cả mã CSS là mã LESS hợp lệ nhưng có thêm các phần tử trong LESS sẽ không hợp lệ trong CSS. Điều này là rất tốt vì CSS hiện tại của bạn đã là mã LESS hợp lệ, giảm thiểu đường cong học tập để sử dụng LESS.

LESS bổ sung thêm các thuộc tính động cần thiết cho CSS. Nó giới thiệu các biến, các hoạt động, các phần tử giống như hàm, thậm chí là Javascript vào hỗn hợp. Nó sẽ làm cho cuộc sống của bạn trở nên rắc rối miễn phí bằng cách cho phép bạn viết các bảng định kiểu với một tư duy mô-đun.

Cách sử dụng LESS

Có hai cách để sử dụng LESS. Bạn có thể tạo tệp LESS và chuyển đổi tệp theo yêu cầu bằng cách sử dụng tệp Javascript hoặc bạn có thể biên dịch trước tệp và sử dụng tệp CSS kết quả. Nếu bạn chỉ sợ vì bạn đã thấy từ "biên dịch" (tôi luôn quen) xin đừng đi bất cứ đâu, nó cực kỳ dễ.

Sử dụng tệp Javascript LESS

Trước hết, hãy truy cập trang web LESS và lấy tệp Javascript. Một khi bạn có nó, tất cả những gì bạn cần làm là liên kết nó với trang của bạn giống như bất kỳ tệp Javascript nào khác.

Tiếp theo, tạo một tệp có đuôi mở rộng .less và liên kết nó với trang của bạn bằng mã bên dưới:

Đảm bảo rằng bạn liên kết tệp LESS của bạn trước tệp Javascript.

Một khi bạn đã thiết lập này, bạn có thể dán mã CSS hiện có của bạn vào tệp LESS hoặc chỉ viết một vài quy tắc mới - nó sẽ hoạt động giống như CSS ol thuần túy.

Biên dịch tệp tin LESS

Trong khi điều này là một chút tẻ nhạt, trong một số kịch bản này được ưa thích. LESS works by taking all the LESS code you write and converting it to CSS on the fly. Thay vì thực hiện điều này theo yêu cầu, chúng tôi có thể chuyển đổi tệp LESS của chúng tôi, lưu đầu ra CSS và sử dụng thay vì thực hiện chuyển đổi theo yêu cầu trên mỗi lần tải trang.

Nếu bạn là người dùng Mac, bạn có thể sử dụng LESS.app, một ứng dụng nhỏ có thể tự động phát hiện tất cả các tệp LESS của bạn và bất cứ khi nào bạn lưu chúng, nó sẽ chuyển đổi chúng thành tệp CSS có cùng tên. Điều này cho phép bạn tiếp tục liên kết đến tệp CSS của bạn trên các trang của bạn trong khi vẫn sử dụng tiềm năng của LESS.

Nếu bạn đang sử dụng Windows, bạn có thể sử dụng Winless hoạt động theo cách tương tự.

Nếu bạn thích các công cụ dòng lệnh, bạn có thể sử dụng Node Package Manager (NPM) để cài đặt LESS. Một số tài liệu có sẵn trên trang web LESS. Bạn cũng có thể lấy mã trực tiếp từ kho lưu trữ Github.

Khai thác sức mạnh của LESS

Cuối cùng, chúng ta hãy bắt đầu với bit thú vị - viết mã LESS. Như bạn sẽ thấy nó rất dễ đọc và dễ hiểu; nó sử dụng cùng một kiểu cú pháp như CSS, vì vậy tất cả nên quen thuộc với bạn.

Biến

Các biến trong LESS hoạt động chính xác như trong PHP hoặc hầu hết các ngôn ngữ lập trình khác. Bạn có thể sử dụng chúng để lưu trữ một giá trị và sau đó sử dụng biến thay vì giá trị chính nó bất cứ khi nào bạn cần.

Trong ví dụ trên, chúng tôi đã xác định biến @-phông chữ tiêu đề và gán giá trị "Georgia" cho nó. Bây giờ chúng ta có thể sử dụng biến này bất cứ khi nào chúng ta muốn sử dụng phông chữ Georgia. Nếu chúng tôi quyết định chúng tôi muốn đi với Trebuchet MS như font tiêu đề của chúng tôi, chúng tôi không cần phải đi qua toàn bộ tập tin của chúng tôi, chúng tôi chỉ thay đổi giá trị của biến.

Tôi thấy sử dụng tuyệt vời cho các biến khi xác định màu cho trang web. Trong những ngày cũ tốt (cách đây không lâu), tôi đã từng làm một việc như thế này:

Không có gì sai với việc ghi lại các màu của bạn như thế này, đó là thực hành tốt, vấn đề là vì nó không liên quan gì đến chức năng của bảng định kiểu của bạn nên nó không có sử dụng nào khác ngoài tài liệu. Nếu bạn quyết định một màu khác sau dòng 2.000 và sau đó thay đổi ý định của bạn tại dòng 3.567, nó sẽ vô cùng khó khăn để đảm bảo màu sắc phù hợp được sử dụng và tài liệu cũng chính xác.

Với LESS, chúng tôi có thể sửa đổi quy trình làm việc của mình và thực sự sử dụng "tài liệu" của chúng tôi thay vì nó vẫn còn là một người đọc thụ động trong quá trình này.

Phạm vi biến đổi

Phạm vi của một biến đề cập đến những nơi có sẵn. Nếu bạn định nghĩa một biến ở phần đầu của tệp LESS, nó sẽ có sẵn cho bất kỳ mã nào bạn viết sau nó.

Bạn cũng có thể xác định một biến bên trong một quy tắc CSS. Trong trường hợp này biến không có sẵn bên ngoài ruleset này; nó chỉ có thể được sử dụng tại địa phương.

Trong ví dụ trên, tệp LESS sẽ không được chuyển đổi vì có lỗi, @color không được định nghĩa để sử dụng bên trong phần tử nút. Nếu một biến được định nghĩa bên ngoài của một phần tử và bên trong của một phần tử thì định nghĩa cục bộ sẽ nhận định trước.

Trong ví dụ trên, liên kết sẽ có màu trắng, nút sẽ có nền đen.

Biến biến

Nếu bạn đã quen với việc viết mã trong PHP, bạn biết rằng bạn có thể định nghĩa một tên biến với một biến khác.

Đối với cá nhân tôi, điều này ít được sử dụng hơn (không có ý định chơi chữ) vì sức mạnh của các biến biến giảm đi mà không sử dụng vòng lặp nhưng tôi chắc chắn có một số ví dụ thông minh ngoài kia sử dụng điều này.

Contants VS Variables

Một điều quan trọng cần lưu ý là trái với những gì bạn vừa đọc, các biến trong LESS giống như hằng số. Điều này có nghĩa là chúng chỉ có thể được xác định một lần - trái ngược với các biến có thể được xác định bao nhiêu lần tùy thích.

Hoạt động

Bạn có thể kiểm soát cực kỳ chi tiết và chính xác với sự trợ giúp của các hoạt động trong LESS. Ý tưởng đằng sau điều này rất đơn giản:

Đoạn mã trên định nghĩa một biến @unit là 3px. Sau đó nó tiếp tục xác định đường viền có chiều rộng chính xác đó, phần đệm có chiều rộng gấp ba lần chiều rộng đó và lề có chiều rộng gấp hai lần chiều rộng đó.

Các phép toán có thể nhân, chia, cộng và trừ. Để tạo một hộp có đường viền ngày càng rộng khi bạn di chuyển theo chiều kim đồng hồ dọc theo chu vi của nó, bạn có thể sử dụng mã sau đây.

Quản lý màu sắc

Các tính năng yêu thích của tôi về LESS phải liên quan đến quản lý màu sắc. Bạn có thể sử dụng các thao tác để trộn màu và có một số chức năng màu cụ thể.

Hoạt động màu

Nếu bạn muốn thay đổi giá trị của một màu, bạn có thể làm như vậy bằng cách trừ hoặc thêm màu khác cho nó.

Các hoạt động trên trong nền sẽ tăng mỗi giá trị HEX bằng 2. Kết quả này trong "B64141" là một biến thể nhẹ hơn của màu gốc. Các hoạt động trong biên giới sẽ giảm mỗi giá trị HEX bằng 1 dẫn đến một màu tối hơn: "830E0E".

Trong thực tế, có một vài trường hợp chúng ta bắt đầu với màu cơ bản và cần một phiên bản hơi tối hoặc sáng.

Điều này tạo ra một nút màu đỏ có viền hơi tối hơn. Đây là một cái gì đó bạn có thể cần rất thường xuyên và không phải xác định màu sắc biên giới một cách riêng biệt là giúp đỡ rất nhiều.

Sức mạnh của các biến thậm chí còn rõ ràng hơn ở đây. Nếu bạn muốn đổi màu trang web và thay đổi giá trị nút màu @ thành màu xanh lá cây không chỉ nền của nút thay đổi mà biên giới cũng thay đổi và trở thành phiên bản màu xanh đậm hơn.

Một sử dụng tuyệt vời của việc này là tạo gradient. Tôi thường chọn màu trung điểm và xác định độ dốc từ đó. Tôi làm cho bắt đầu hơi nhẹ hơn và kết thúc hơi tối hơn. Điều này dẫn đến một chuyển đổi tốt đẹp, một cái gì đó như thế này:

Chức năng màu

Có nhiều thứ bạn có thể làm với màu sắc hơn; LESS cho phép bạn điều khiển chúng ở cấp độ kênh. Bạn có thể làm sáng, tối, bão hòa, desaturate, mờ dần, mờ dần và quay màu. Hãy xem các ví dụ và hình ảnh sau đây để xem những gì từng làm.

Trích xuất thông tin màu

Mỗi màu trong LESS được chuyển thành HSL (màu sắc, độ bão hòa, độ sáng) để cho phép bạn quản lý chúng ở cấp độ kênh. Do đó, bạn có thể thao tác màu theo cách hợp lý hơn và cũng có thể truy cập trực tiếp thông tin kênh của màu sắc:

Điều này có vẻ giống như quản lý vi mô - tại sao chúng ta cần thông tin này khi chúng ta chỉ có thể nhập một giá trị HEX? Nếu bạn giống như hầu hết mọi người, giá trị HEX không tự nhiên đến với bạn. Giá trị HEX ánh xạ phổ RGB. hai ký tự đầu tiên kiểm soát lượng màu đỏ, hai số lượng màu xanh lá cây tiếp theo và hai số lượng màu xanh cuối cùng.

Rõ ràng là # ff0000 có màu đỏ vì đây sẽ là RGB (255,0,0). Tấn đỏ, không xanh và không xanh. Tuy nhiên, nếu bạn chỉ thấy # 1f6b2d thì khó có thể giải thích rằng đây là một màu xanh đậm. Với thang đo HSL, màu sắc sẽ điều khiển màu bạn gọi, phần còn lại chỉ đặt âm điệu (điều này không chính xác, nhưng với tất cả ý định và mục đích).

Với ý nghĩ đó nếu bạn tìm thấy một màu đỏ tươi tím như # e147d4 bạn có thể tìm thấy một màu sắc khác nhau với cùng một màu sắc chính xác rất dễ dàng. Giả sử bạn muốn tạo phiên bản màu kem, nhạt hơn # e147d4, dưới đây là những gì bạn có thể làm:

Màu sắc mới này sẽ có cùng màu sắc nhưng độ bão hòa và độ sáng khác nhau. Kết quả sẽ là # c480bf khá khó để đến từ # e147d4 nếu bạn chỉ nghĩ đến HEX.

Kết hợp các chức năng

LESS cho phép bạn sử dụng các chức năng bên trong các hàm, vì vậy nếu bạn muốn khử bão hòa và quay một màu, bạn có thể làm điều đó trong nháy mắt như sau:

Làm tổ

Khi viết CSS, bạn sử dụng kiểu xếp tầng. Để thay đổi lề của các đoạn trong các bài viết trên blog, bạn chỉ có thể sử dụng đoạn mã sau.

Không có gì sai với cách tiếp cận này nhưng khi bạn cũng muốn thay đổi các liên kết, blockquotes, tiêu đề, văn bản được định dạng trước và như vậy bên trong cùng một yếu tố này, bạn sẽ cần tiền tố mỗi với "article.post". Điều này làm cho mã của chúng tôi thêm tẻ nhạt để viết và khó đọc hơn.

Trong LESS, chúng ta có thể lồng ghép các quy tắc này, cung cấp một phiên bản ngắn hơn và hợp lý hơn của stylesheet của chúng tôi. Quan sát.

Xem những gì tôi đã làm ở đó? Các tabbing là không cần thiết bằng cách này, nhưng nó làm cho nó dễ đọc hơn nhiều. Bạn có thể lồng các quy tắc nhiều như bạn muốn giúp bạn tiết kiệm rất nhiều điều đáng lo ngại sau này. Bạn đã bao giờ muốn thay đổi phần đệm của thứ gì đó nhưng bị sẹo vì bạn không biết chính xác những yếu tố nào có thể ảnh hưởng đến nó? Bằng cách sử dụng lồng nhau bạn có thể mất rất nhiều phỏng đoán trong CSS của bạn.

Mixins

Mixins trong LESS là tính năng giúp bạn tiết kiệm được nhiều nhất. bạn đã bao giờ tạo đường viền tròn mà chỉ các góc trên cùng bên trái và bên phải được làm tròn?

Uggh ... Mỗi lần ... Với LESS bạn có thể thay đổi tất cả bằng cách tạo một mixin. Mixins là các phần tử có thể tái sử dụng mà bạn có thể thêm làm quy tắc cho bất kỳ phần tử nào khác. Vẻ đẹp của họ là không có cú pháp bổ sung để tìm hiểu.

Trong đoạn mã trên, chúng ta đã định nghĩa phần tử .rounded_top để làm tròn các góc trên cùng. Khi chúng ta thêm phần tử này vào bất kỳ phần tử nào khác dưới dạng mixin (xem .tab), chúng ta về cơ bản sẽ nhập các quy tắc mà chúng ta đã tạo cho nó. Do cú pháp của mixin, bạn có thể sử dụng bất kỳ phần tử cũ nào làm mixin.

Các quy tắc CSS cho phần tử .submit giờ sẽ gọi cho các góc được làm tròn ở trên cùng, một màu trắng và một nền màu đỏ (chữ cái # 333 là ghi đè).

Mixins tham số

Các mixin tham số âm thanh cực kỳ phức tạp nhưng chúng giải quyết một vấn đề một cách rất đơn giản. Trong các ví dụ trên bạn đã thấy cách chúng ta có thể định nghĩa một phần tử để có bán kính 6px ở các góc trên cùng của nó. Còn nếu chúng ta muốn một phần tử có bán kính 3px thì sao? Chúng ta có nên khai báo các mixin riêng biệt cho tất cả các giá trị pixel không? Câu trả lời là tất nhiên là không, chúng ta nên sử dụng mixins tham số!

Những chức năng này giống nhau bởi vì bạn không chỉ tạo ra một mixin nhưng bạn có thể chuyển các giá trị cho nó khi bạn gọi nó. Hãy viết lại ví dụ bán kính đường viền để xem cách nó được thực hiện.

Đoạn mã trên sẽ cung cấp cho phần tử tab của chúng tôi bán kính 6px trong khi phần tử gửi của chúng tôi sẽ nhận được bán kính 3px.

Giá trị mặc định

Nếu bạn thường sử dụng cùng một bán kính đường viền nhưng trong một số trường hợp, bạn cần một giá trị khác nhau, bạn có thể cung cấp cho mixin một giá trị mặc định.

Trong ví dụ này, phần tử tab sẽ nhận được bán kính đường viền 6px mặc định nhưng phần tử gửi sẽ nhận được 3px khi cần.

Nhiều tham số

Bạn cũng có thể sử dụng nhiều tham số để xác định các mixin phức tạp hơn.

Bất cứ khi nào bạn tạo một phần tử với lớp .read_more bằng cách sử dụng ví dụ trên, nó sẽ định dạng nó với lớp đệm 4px, màu nền của # e7ba64 và với bán kính đường viền 0px.

Sử dụng tất cả các đối số cùng một lúc

Một tùy chọn khác bạn có khi sử dụng đối số là sử dụng toàn bộ lô cùng một lúc. Các thuộc tính viết tắt trong CSS có nhiều giá trị được viết sau cái kia.

Bạn có thể sử dụng một hàm để cung cấp cho tất cả các phần tử được yêu cầu một đường viền màu xám như sau:

@Arguments là một từ khóa đặc biệt, nó sẽ xuất tất cả các tham số sau cái kia theo thứ tự đã cho. Trong trường hợp trên, mã CSS xuất phát từ tệp LESS của bạn sẽ là:

Mixins không có tham số

Nó cũng có thể sử dụng mixins tham số mà không thực sự sử dụng bất kỳ tham số nào. Điều này được sử dụng khi bạn không ** muốn mixin hiển thị trong mã CSS của bạn nhưng bạn ** muốn các quy tắc của nó được áp dụng cho các phần tử được sử dụng trong đó.

Đầu ra CSS của phần trên sẽ như sau:

Nếu bạn sử dụng một bộ tham số rỗng, bạn có thể ẩn lớp .alert.

CSS được tạo từ mã LESS ở trên sẽ là:

Điều này chủ yếu hữu ích để giảm kích thước tệp CSS của bạn. Nếu lớp .alert không bao giờ được sử dụng trực tiếp trên bất kỳ phần tử nào thì không có lý do gì để có nó trong phiếu định kiểu kết quả miễn là các thuộc tính của nó được chuyển đến các phần tử cần thiết như các mixin.

Không gian tên

Không gian tên trong ngôn ngữ lập trình thường được sử dụng để nhóm các gói chức năng với nhau. Chúng tôi có thể đạt được điều tương tự trong LESS bằng cách kết hợp mã của chúng tôi bằng cách sử dụng mixin.

Khi bắt đầu làm việc trên một trang web mới dựa trên khuôn khổ của bạn, bạn có thể thêm gói #my_framework này và sử dụng nó mà không làm rối tung mọi kiểu khác mà bạn có thể đã có hoặc muốn thêm vào trong tương lai.

Đây cũng là một cách tuyệt vời để cho phép thay đổi và sửa đổi chủ đề nhanh chóng. Nếu bạn phát triển một số chủ đề cho công ty của mình sử dụng làm mẫu theo yêu cầu, bạn có thể bao gồm tất cả chúng dưới dạng các gói trong cùng một tệp LESS và sử dụng tệp bạn cần.

Nội suy chuỗi

Nội suy chuỗi chỉ là một từ ưa thích có nghĩa là các chuỗi tùy ý có thể được lưu trữ trong các biến và sau đó được sử dụng bên trong các giá trị thuộc tính.

Ở trên có thể vô cùng hữu ích khi tạo khung công tác tập trung và đảm bảo rằng tài nguyên được lấy từ đúng vị trí.

Thoát

Trong một số trường hợp, bạn sẽ cần phải sử dụng các thuộc tính hoặc các giá trị không phải là CSS hợp lệ (quy tắc IE cho bất kỳ ai?). Bạn có thể đã nhận thấy trong ví dụ gradient của chúng tôi rằng tôi đã không phục vụ cho người dùng Internet Explorer.

Nếu bạn muốn tạo một gradient trong IE, bạn sẽ cần phải làm một cái gì đó như thế này:

Ở trên không phải là CSS hợp lệ để xử lý LESS sẽ không thể hoàn thành. Trong trường hợp này, bạn có thể thoát khỏi giá trị này, nó sẽ làm cho LESS bỏ qua nó và tiếp tục. Kết quả của việc này là nó sẽ được xuất ra CSS của bạn mà không cần xử lý.

Tất cả những gì bạn cần làm là bao gồm phần trong dấu ngoặc kép và gắn một ký tự dấu ngã ở phía trước nó. Phần này sẽ không đi qua bộ xử lý LESS như vậy sẽ không vứt nó đi.

Nhập

Cũng giống như với CSS thông thường, bạn có thể nhập tệp. LESS cho phép bạn nhập cả tệp CSS và LESS bằng cú pháp sau:

Việc nhập khẩu đầu tiên là khá rõ ràng. Thao tác này sẽ nhập các quy tắc CSS được định nghĩa trong tệp reset.min.css mà không cần chạy chúng thông qua trình phân tích cú pháp LESS.

Việc nhập khẩu thứ hai sẽ kéo nội dung của framework.less và xử lý chúng giống như bất kỳ quy tắc LESS nào khác.

Việc nhập khẩu thứ ba về cơ bản giống như lần thứ hai. Nếu một phần mở rộng không được đưa ra thì LESS coi đó là một tệp LESS.

Bình luận

Theo dự kiến, các nhận xét nhiều dòng có sẵn trong LESS giống như cách chúng được sử dụng trong CSS. Ngoài ra, LESS cho phép các chú thích một dòng được sử dụng giống như trong PHP; bằng cách sử dụng dấu gạch chéo kép.

Cái gì còn thiếu?

Trong khi LESS là tuyệt vời, bạn sẽ tìm thấy một số thiếu sót khi bạn bắt đầu sử dụng nó mặc dù đây không phải là rất khó chịu. Một tính năng tôi muốn xem là tiền xử lý trước (tôi đồng ý, điều này không có ý nghĩa).

Hãy nhớ rằng các dòng có thể được thoát ra sao cho chúng không chạy qua trình phân tích cú pháp? Do cách hiện tại, LESS xử lý những thứ chúng ta không thể sử dụng gradient với các tên màu biến đổi.

Các công trình trên chỉ tốt nhưng màu sắc phải được mã hóa cứng. Vì dòng được thoát, các biến không được xử lý. Nó sẽ là tốt đẹp để có một tùy chọn nơi chuỗi được chỉ định được thoát nhưng các biến được xử lý trước khi đầu ra được gửi đến tệp CSS.

Một tính năng khác mà tôi muốn thấy được thực hiện là đặt tên biến của các bộ chọn và các phần tử khác, không chỉ các giá trị. Khi chúng tôi đang xem xét các không gian tên, chúng tôi đã sử dụng một số thứ như sau để thêm quy tắc.

Nó sẽ là tuyệt vời nếu chúng ta có thể làm điều này một cái gì đó như thế này thay vì:

Điều này sẽ cho phép tôi thêm tất cả các khung của tôi vào một tệp LESS và sau đó chọn một khung bằng cách thay đổi giá trị của biến.

Có rất ít lỗi và một vài thiếu sót khác nhưng tổng thể LESS rất dễ sử dụng và rất ổn định.

Tổng kết

Như với tất cả các công nghệ và phương pháp mới có một yêu cầu để sử dụng quá mức. Nhớ logo phản chiếu vào đầu kỷ nguyên Web 2.0?

Bạn không cần phải lồng ghép tất cả các quy tắc của mình, bạn không phải tạo biến cho mọi thứ và mixin cho chiều rộng đường viền đơn giản.

Nếu bạn không biết khi nào không sử dụng sức mạnh tuyệt vời của LESS thì mã LESS của bạn sẽ không thể đọc được như CSS thông thường và khó bảo trì. Bí quyết là biết khi nào nên sử dụng các hàm và phương thức đã cho và khi CSS cũ thông thường là tốt nhất.

Ngoài ra tôi đề nghị không sử dụng LESS trong sản xuất. Không có gì sai với nó, nhưng đơn giản là không có lý do gì để tải một tệp LESS và một tập lệnh để xử lý nó. Rõ ràng kịch bản rất nhanh nhưng tôi chắc chắn rằng nó không phải là nhanh hơn không có nó ở đó. Tôi thường phát triển tất cả các trang web của mình với LESS và khi tôi hạnh phúc, tôi chỉ lấy đầu ra, rút ​​gọn nó và sử dụng nó trong một tệp CSS thông thường.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.