Pair of Vintage Old School Fru
Hosting with PHP
Mục này mình post các bài viết kinh nghiệm cũng trong quá trình làm và sửa chữa blog thêm vào đó là các tài liệu mình sưu tập được trên net tuy có thể có sai xót nhưng mình hi vọng nó sẽ giúp các bạn phần nào trong việc sửa chữa và học tập về css,mọi người có thể đóng góp í kiến xây dựng giúp kho tài liệu này thêm một hoàn thiện và có ích hơn cho mọi người

1/Phương pháp viết mã CSS

Việc viết mã CSS cũng giống như bạn lập trình với ngôn ngữ PHP, C#,... tất cả đều cần có một bố cục khoa học, hệ thống để dễ dàng phát triển cũng như kiểm tra phát hiện lỗi (nếu có). Dưới đây là một vài hướng dẫn giúp bạn làm việc với CSS khoa học hơn:

1. Chú thích cho mã CSS:

Chú thích cho mã CSS giúp người khác đọc file CSS sẽ biết thêm những thông tin cần thiết về file CSS nói riêng và về tác giả nói chung. Việc chú thích mã ở những ngôn ngữ khác quan trọng ra sao thì chú thích mã ở CSS cũng quan trọng như vậy. Sau đây là mẫu chú thích một đoạn mã CSS rất tốt;

/*------------------------
Screen Stylesheet
version: 1.0
date: 01/03/07
author: [your email]
email: [you at domain dot com]
website: [your domain]
version history: [location of file]
---------------------*/



2. Chia CSS ra thành nhiều phần

Nếu mã CSS của bạn gồm nhiều phần và cho nhiều trang thì bạn nên chia thành nhiều file CSS để dễ quản lí và cũng để giúp cho file CSS của bạn không bị rối. Rất nhiều web developer chưa nhận thức được điều này. Họ gộp tất cả file CSS vào làm một. Và dĩ nhiên, hệ quả là họ mất nhiều thời gian hơn cho việc sửa file CSS của mình.

Chia CSS ra thành nhiều file và sử dụng chúng cùng với CSS chính bằng phương thức sau:


/* Import other stylesheets
---------------------------------------*/
@import url("typography.css");





Bên cạnh đó, phân chia ngay chính trong file CSS cũng quan trọng không kém. Hãy gộp chung những phần có cùng 1 đối tượng.

/* Header
---------------------------------------*/
/* Navigation
---------------------------------------*/
/* Footer
---------------------------------------*/
/* Homepage
---------------------------------------*/
/* Your template
---------------------------------------*/





Xoá các định dạng mặc định

Đây là điều cực kì cần thiết đối với bất kì Web developer nào. Như bạn đã biết thì mỗi trình duyệt (browser) đều hiển thị khác nhau. Phần lớn là do định dạng mặc định ở mỗi browser là khác nhau. Ví dụ sau sẽ giúp bạn xoá định dạng mặc định:


*{margin: 0;padding: 0;border: 0;}



4. Định dạng các đối tượng cơ bản:

Những đối tượng cơ bản hay được sử dụng như h1, h2, h3, ... form, table, cần phải được định dạng trước tiên khi bạn bắt đầu viết mã CSS. Thói quen này giúp bạn đồng bộ được giao diện của các trang web.

/* Forms
---------------------------------------*/
input.text
{
padding: 3px;
border: 1px solid #999999;
}
/* Tables
---------------------------------------*/
table
{
border-spacing: 0;
border-collapse: collapse;
}
td
{
text-align: left;
font-weight: normal;
}





Chú ý: đây không phải là một chuẩn mực viết mã CSS. Vì hiện tại chưa có 1 chuẩn nào cho việc viết CSS. Dưới đây chỉ là cách viết mã CSS sao cho khoa học được tích luỹ từ những ngày tháng làm việc cùng với CSS. Hi vọng điều này sẽ bố ích cho các bạn.


2/Lập trình với CSS

1. Định dạng chữ mà không cần dùng đơn vị pixel.

Đôi khi, bạn tự hỏi làm sao những người thiết kế web lại dùng đơn vị em thay vì px? Rất đơn giản, chỉ với một thủ thuật nhỏ bạn cũng có thể làm được với đơn vị em thay vì px. Hãy thêm đoạn mã sau vào CSS.

body { font-size: 62.5% }



Với đoạn mã trên thì 1.0em sẽ tương đương với 10px và sẽ hoàn toàn dễ hơn cho bạn khi tính toán kích thước font chữ hơn. Và khi đó bạn có thể định dạng như sau:

p { font-size: 1.2em; line-height: 1.5em; }



2. Trình bày CSS sáng sủa hơn

Trình bày CSS một cách khoa học sẽ giúp việc phát triển, sửa chữa dễ dàng hơn bao giờ hết. Hãy chia các định dạng (styles) ra thành các block riêng biệt và trình bày chúng như những ngôn ngữ lập trình bạn vẫn thường làm.

h1 {}
h1#logo { font-size: 2em; color: #000; }
h2 {}
h2.title { font-size: 1.8em; font-weight: normal; }



Bạn có thể tham khảo chi tiết hơn về cách vết mã CSS tại bài viết Phương pháp viết mã CSS

3. Hạn chế dùng div

Khi mới tiếp cận với CSS việc lạm dụng div thường là lỗi mà các lập trình viên dễ mắc phải. Hãy dùng đúng chức năng của mỗi tag.Ví dụ: hãy dùng h1, h2, h3 cho tiêu đề thay vì dùng div để định dạng.

4. Tối ưu mã CSS.

Tối ưu mã CSS ở đây là giảm độ dài của dòng lệnh CSS cũng có nghĩa giảm dung lượng với file CSS. Điều này sẽ giúp trang web được tải về nhanh hơn. Sau đây là một số ví dụ giúp bạn rút gọn mã CSS của mình.

Thay vì dùng #000000 bạn có thể dùng #000 cho định dạng màu đen. Trường hợp khác với #ffffcc bạn có thể dùng #ffc.


font-size: 1em;
font-family: Arial, Helvetica, Sans-Serif;
line-height: 1.5em;
font-weight: bold;



Đoạn mã trên giúp định dạng font và đoạn cho toàn trang web. Nhưng bạn có thể dùng đoạn mã sau để thay thế:

body { font: 1em/1.5em bold Helvetica, Arial, Sans-serif; }



Hoặc với trường hợp:


margin-top: 5px;
margin-left: 5px;
margin-bottom: 0;
margin-right: 0;



Bạn có dùng đoạn mã ngắn gọn hơn rất nhiều:

body { margin: 5px 0 0 5px; }



Cú pháp của hàm margin như sau:

margin: [top] [right] [bottom] [left]



hoặc trong trường hợp lề trên dưới và trái phải bằng nhau, bạn có thể dùng cú pháp sau:


margin: [top/bottom] [left/right]



Trường hợp khác, ngay trong chính một bài viết của mình, xin cám ơn Sonny và Quietman đã gợi ý một cách lập trình CSS khoa học. Đó là bạn có thể dùng

* { margin:0; padding:0; }



thay vì phải dùng đoạn mã dài lê thê sau:

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, p, blockquote, th, td {
margin: 0;
padding: 0;
}




3/Những điều cần biết khi viết mã CSS:

Như chúng ta đã biết ở bài viết trước mình đã có lần để cập đến vấn đề "làm việc tốt với các trình duyệt (browser)" bằng cách sử dụng CSS để xóa đi những định dạng mặc định của từng browser. Lần này, các bạn sẽ được biết đến những điều cần tránh trong khi viết mã HTML và CSS nếu bạn muốn website của mình hiển thị tốt ở hầu hết các browser.

1. Không bao giờ sử dụng padding cho các đối tượng có độ rộng cố định (fixed width)

Đây là nguyên tắc cơ bản vì cách căn lề của Internet Explorer khác với các trình duyệt khác và cũng là 1 lỗi của trình duyệt này. Lỗi này được gọi là "Box Model Bug" hình dưới là một hình ảnh minh họa cho lỗi này.



Bạn có thể thấy rằng độ rộng của đối tượng "được" cộng thêm khi hiển thị ở IE nếu như có padding. Vậy đơn giản là không dùng padding cho các đối tượng có độ rộng cố định (fixed width).

2. Cố định cỡ chữ bằng đơn vị % và em

Thông thường các browser hiển thị cỡ chữ theo cách khác nhau nếu như bạn chưa định cỡ cho chúng. Khi mới bắt đầu học CSS, chúng ta thường định dạng cỡ chữ theo cách sau:


{font-size:18px;}
h2 {font-size:16px;





Dòng mã là cách cơ bản, nhưng vấn đề là ở IE người xem sẽ không thể thay đổi cỡ chữ. Điều này rất cần thiết với những người để độ phân giải cao. Nhưng bạn đừng lo, có một giải pháp khác tốt hơn, hãy dùng % và em để định dạng cỡ chữ như sau:


body {font-size:62.5%;}
h1 {font-size:1.8em;}
h2 {font-size: 1.6em;}





3. Không nên dùng đơn vị 100%

Sử dụng 100% để căn chiều rộng của một đối tượng rất dễ gặp rủi ro trong việc bố trí kết cấu của website vì mỗi trình duyệt hiển thị chiều rộng 100% rất khác biệt. Theo kinh nghiệm bản thân thì những lần thử định vị 100% thì gần như rất khó có thể đạt được kết quả tốt nhất. Hãy chọn một con số khác có thể là nhỏ hơn 100% (95% có thể sẽ tốt hơn). Hoặc đơn giản hơn là hãy... cố định nó.

4. Không dùng 0px để định chiều cao

Các browser không thích việc bạn chọn 0px để định chiều cao cho đối tượng và thưởng hiển thị nó theo cách bạn... không muốn chút nào. Nếu có thể hãy thay nó bằng 1px sẽ tốt hơn rất nhiều.

height:1px



5. Không dùng ">" trong CSS

Mình đã từng thấy có người, thậm chí rất nhiều người viết mã CSS như sau:

#menubar>a {color:#cccccc;}



Với dòng mã CSS như trên IE6 sẽ không hiểu và không thể hiển thị được định dạng trên. Hãy dùng đoạn mã dưới đây, sẽ an toàn hơn rất nhiều.

#menubar a {color:#cccccc;}
Nguồn: Sưu tầm