Viết mã CSS3 "sạch"

Đăng bởi Neo trong mục Hướng dẫn vào 08 tháng 9, 2010 | Comments

Một vấn đề trong việc viết mã CSS3 là có thêm tiền tố so với CSS2. Hiện tại bạn đang thấy có -moz- và -webkit- ở trước một số thuộc tính như border-radius, text-shadow. Nếu bạn đặt câu hỏi tại sao phải viết tới vài lần 1 đoạn mã chỉ để làm một hiệu ứng như nhau ở các trình duyệt bạn có thể xem thêm câu trả lời tại đây

Vậy vấn đề là gì? Tôi hay viết mã CSS dạng một dòng như dưới đây (giúp dễ dàng tìm kiếm, không phải scroll quá nhiều...)

/* 
Header -----------------------------------*/
#header {height: 168px;position: relative;}
#logo {position: absolute; left: 0px; top: 44px;}
#homepage #logo {left: 14px;}

Và khi phải thêm các tiền tố bạn sẽ bắt đầu thấy mã CSS3 lẫn lộn, khó đọc hơn

#container {background: #fff; padding: 20px; maring: 10px; boder-radius: 4px; -moz-boder-radius: 4px; -webkit-boder-radius: 4px;}

Có một cách giải quyết hiện tại là viết tách riêng dòng với các đoạn mã CSS3 sử dụng tiền tố (giữ nguyên cách viết một dòng với mã CSS cũ).

#container {background: #fff; padding: 20px; maring: 10px;
	boder-radius: 4px; 
  -moz-boder-radius: 4px; 
  -webkit-boder-radius: 4px;
}

Với cách này bạn có thể sử dụng nhiều thuộc tính khác nhau của CSS3, thậm chí cả cách sử dụng màu rgba

#container {background: #fff; padding: 20px; maring: 10px;
	boder-radius: 4px; 
  -moz-boder-radius: 4px; 
  -webkit-boder-radius: 4px;
  background: #fff;
  background: rgba(255,255,255,0.95);
  box-shadow: inset 4px 4px 20px rgba(0,0,0,0.08);
  -moz-box-shadow: inset 4px 4px 20px rgba(0,0,0,0.08);
  -webkit-box-shadow: inset 4px 4px 20px rgba(0,0,0,0.08);
}

Đây chỉ là cách mà Tom Kenny, tác giả bài viết Writing Clean CSS3 Code đưa ra. Hiện tại tôi cũng sử dụng như vậy. Nếu bạn có ý tưởng khác thì hãy cũng chia sẻ với mọi người nhé.

Bạn có thích bài viết này?

Neo's picture

Neo

Nhìn mặt trời từ năm 1984 nhưng tới tận 2002 mới được thấy cái máy tính đầu tiên của mình. Đầu năm 2007 thì quyết định theo cái nghề cao quý là thiết kế web Big Grin. Hiện mình đang sống tại Hà Nội. Sở thích: làm website và giúp đỡ mọi người phát triển website theo chiều hướng tốt đẹp hơn.

Trang chủ - Twitter