Sử dụng LESS để biên tập CSS

Nhóm thực hiện:

1) Hồ Tấn Phong

MSSV: 09050036

2) Nguyễn Anh Phụng

MSSV: 09050018

3) Trần Lê Trọng Khương

MSSV: 09050021

Slide: http://www.mediafire.com/?6v72qvuvdiq11o1

--------------------------------------------------------------

LESS là gì?[/b]

LESS là một CSS preprocessor, giúp ta viết các đoạn mã CSS đơn giản, ngắn gọn và hiệu quả hơn, đồng thời cũng dễ quản lý hơn bằng cách thêm vào CSS các thành phần động như biến, mixins, toán tử và hàm. LESS được phát triển bởi Alexis Sellier, một lập trình viên người Đức.

Sử dụng LESS thế nào?[/b]

·

Đầu tiên bạn tải file [url=http://lesscss.googlecode.com/files/less-1.3.0.min.js]less.js[/url] về máy của mình.

· Tạo một file mới với phần mở rộng là .less[/i], ví dụ styles.less

· Mở tài liệu HTML và thêm đoạn code sau:

·

·

Phải chắc chắn rằng styles.less được thêm vào trước less.js

File styles.less sẽ chứa đoạn mã LESS của bạn. Hãy cùng tìm hiểu cú pháp của LESS trước khi bắt đầu viết code nhé.

Cú pháp của LESS[/b]

Biến[/b]

Việc sử dụng biến cho phép khai báo giá trị được sử dụng nhiều lần tại một chỗ, và sử dụng nó trong toàn bộ style của bạn. Vì thế khi muốn thay đổi giá trị này, bạn chỉ cần thay đổi tại một chỗ.

// Biên tập trên LESS

@color: #FF0000; // đặt một biến có giá trị là #FF0000 tương ứng với màu đỏ

#header {

color: @color;

}

h2 {

color: @color;

}

Kết quả:

/* Biên dịch ra CSS */

#header {

color: #4D926F;

}

h2 {

color: #4D926F;

}

Mixins[/b]

Mixins cho phép gắn toàn bộ thuộc tính của một class trong CSS vào trong class khác bằng một cách khá đơn giản là thêm tên class này như một thuộc tính của class kia. Nó gần giống với biến, nhưng thay giá trị bằng toàn bộ các thuộc tính của class. Mixins cũng có thể được sử dụng như hàm, bằng cách truyền tham số, như ví dụ dưới đây:

// biên tập trên LESS

.rounded-corners (@radius: 5px) {

border-radius: @radius;

-webkit-border-radius: @radius;

-moz-border-radius: @radius;

}

#header {

.rounded-corners;

}

#footer {

.rounded-corners(10px);

}

/* Biên dịch ra CSS */

#header {

border-radius: 5px;

-webkit-border-radius: 5px;

-moz-border-radius: 5px;

}

#footer {

border-radius: 10px;

-webkit-border-radius: 10px;

-moz-border-radius: 10px;

}

Nested Rules[/b]

Thay vì viết các tên selector dài để chỉ ra các quan hệ thừa kế trong CSS, với Less bạn có thể lồng các selector và nhau. Việc này làm cho quan hệ thừa kế trở nên rõ ràng hơn và code stylesheet cũng ngắn gọn hơn.

// LESS

#header {

h1 {

font-size: 26px;

font-weight: bold;

}

p { font-size: 12px;

a { text-decoration: none;

&:hover { border-width: 1px }

}

}

}

/* Biên dịch ra CSS */

#header h1 {

font-size: 26px;

font-weight: bold;

}

#header p {

font-size: 12px;

}

#header p a {

text-decoration: none;

}

#header p a:hover {

border-width: 1px;

}

Hàm & toán tử[/b]

Toán tử cho phép cộng, trừ, nhân, chia giá trị của các thuộc tính, màu sắc, làm cho giá trị của các thuộc tính có liên quan tới nhau. Hàm ánh xạ 1-1 với code JavaScript, cho phép thao tác với các giá trị theo bất cứ cách nào bạn muốn.

// LESS

@the-border: 1px;

@base-color: #111;

@red: #842210;

#header {

color: @base-color * 3;

border-left: @the-border;

border-right: @the-border * 2;

}

#footer {

color: @base-color + #003300;

border-color: desaturate(@red, 10%);

}

/* Biên dịch ra CSS */

#header {

color: #333;

border-left: 1px;

border-right: 2px;

}

#footer {

color: #114411;

border-color: #7d2717;

}