Những cách trình bày CSS
- November 10, 2009
- 12 comments
Trong bài này chúng ta sẽ không bàn đến những tính năng thông thường của CSS mà trong bài này chúng ta sẽ xem xét đến những cách trình bày code CSS. Có rất nhiều cách bạn có thể chọn để trình bày trong CSS, nhưng chọn ra cách nào phù hợp với mình và luôn sử dụng nó là tốt nhất.
Như bạn biết code CSS không kể khoảng trắng cho nên bạn có thể trình bày nó như thế nào tùy thích, ví dụ khi bạn viết:
#nav { list-style: none; }
Thì cũng tương đương như khi bạn viết:
#nav {list-style: none;}
Chính vì thế người ta mới có nhiều cách để trình bày code CSS sao cho dễ nhìn và dễ đọc hơn. Tôi phải nói trước rằng không có cách nào là cách tốt nhất mà chỉ có cách phù hợp với bạn nhất. Những cách trình bày sau đây được cho là phổ biến nhưng nếu bạn thấy cách nào phù hợp với mình nhất thì bạn có thể chọn và luôn sử dụng nó
Cách 1: Nhiều hàng
Cách này là cách tôi hay sử dụng trong các tutorial mà bạn thấy trong video. Theo tôi thấy thì cách này là phù hợp với tôi nhất bởi vì nếu cần chỉnh sửa code CSS sau này, bạn chỉ việc tìm đến Selector và các Attribute của nó ở ngay bên dưới và riêng ra từng dòng. Nhưng mặt hạn chế của nó là làm cho code CSS của bạn dài hơn và “nặng” hơn.
#header {
height: 310px;
background: transparent url(images/head.jpg) no-repeat top center;
}
#header h1 a{
display: block;
width: 376px; height: 47px;
text-indent: -99999px;
float: left;
margin: 210px 0px 0px 10px;
background: url(images/logo.png) no-repeat left top;
}
#header #mainNav {
height: 35px; line-height: 35px;
position: relative;
border-top: 1px solid #89cce1;
border-bottom: 1px solid #89cce1;
margin: 17px 0px 20px 0px;
background: #cde9f2;
}
Cách 2: Selector và Attribute chung một hàng
#header { height: 310px; background: transparent url(images/head.jpg) no-repeat top center;}
#header h1 a {display: block; width: 376px; height: 47px; text-indent: -99999px; float: left;margin: 210px 0px 0px 10px;
background: url(images/logo.png) no-repeat left top;}
#header #mainNav {height: 35px; line-height: 35px; position: relative; border-top: 1px solid #89cce1;border-bottom: 1px solid #89cce1;margin: 17px 0px 20px 0px;background: #cde9f2;}
Thì như bạn thấy, cách thứ 2 tiết kiệm được chiều dọc, nhưng có vẻ khó đọc hơn và nhìn như ma trận.
Cách 3: Một hàng với Tab
#header { height: 310px; background: transparent url(images/head.jpg) no-repeat top center;}
#header h1 a {display: block; width: 376px; height: 47px; text-indent: -99999px;
float: left;margin: 210px 0px 0px 10px;
background: url(images/logo.png) no-repeat left top;}
#header #mainNav {height: 35px; line-height: 35px; position: relative;
border-top: 1px solid #89cce1;border-bottom: 1px solid #89cce1;margin:
17px 0px 20px 0px;background: #cde9f2;}
Cách trình bày thế này thì cũng dễ đọc hơn và khi chỉnh sửa bạn cũng tìm thấy Selector dễ hơn vì bạn không phải kéo chuột miên man mệt mỏi (sao nhiều “mờ” thế nhỉ)
Cách 4: Nhiều hàng với thụt đầu dòng
#header #mainNav {
height: 35px; line-height: 35px;
position: relative;
border-top: 1px solid #89cce1;
border-bottom: 1px solid #89cce1;
margin: 17px 0px 20px 0px;
background: #cde9f2;
}
#mainNav ul li {
display: inline;
}
#mainNav ul li a {
color: #7dc4db;
font-weight: bold;
padding: 0px 5px 0px 10px;
}
#mainNav ul li a:hover {
text-decoration: underline;
}
#mainNav img.support {
position: absolute;
top: -6px; right: 0;
}
Cách trình bày thế này cũng tốn chiều dọc, nhưng giúp bạn biết được thành phần nào là con thành phần nào bằng trực giác. Tuy bạn có thể đọc code để biết được, nhưng đôi khi trực giác cũng rất tốt để bao quát vấn đề
Cách 5: Sử dụng kết hợp
Đây cũng là biện pháp tôi sử dụng cho những trang có quá nhiều code CSS. Như nói ở trên tôi thích nhất cách nhiều hàng, nhưng nếu nó dài quá thì nên kết hợp lại. Tôi thường kết hợp các thành phần liên quan đến nhau như sau:
div#containter {
width: 300px; height: 400px;
margin: 0px 0px 10px 15p; padding: 4px 5px;
font-size: 12px; font-family: arial, sans-serif; color: blue;
background: #456423;
}
Như bạn thấy tôi kết hợp độ rộng với chiều cao, Margin với Padding và các giá trị liên quan đến font vào một hàng. Như thế cũng tiết kiệm được chiều dài của code
Kết Luận:
Như đã nói, không có cách nào là cách tốt nhất mà chỉ có cách phù hợp nhất. Do vậy, bạn cứ chọn cho mình một cách và sau đó sử dụng nó toàn bộ trong quá trình code của mình. Nhưng dù gì đi chăng nữa, để có code CSS dễ đọc, dễ hiểu và dễ chỉnh sửa sau này hoặc làm việc theo nhóm. Bạn rất cần trình bày sao cho ngăn nắp, gọn gàng và mạch lạc. Đây chính là điểm khác biệt giữa một coder giỏi và một coder xuất sắc.
Phần mềm FTP miễn phí – FileZilla »
Chỉ 1 câu Tuyệt
mong rang viet nam minh co nhieu nguoi nhu anh de cong nghe thong tin viet nam phat trien
trang wed hay nhat minh tung gap
cảm ơn anh …hii
Em đang sử dụng table nhưng em viết sang div thì bị lỗi css em ko biết làm cách nào, nếu mấy bác có ebook nào hay về css thì cho em mượn xem với, em đang khổ lắm bác ơi.
yeah! cảm ơn chú! anh sửa lại rồi. Cứ kiếm thêm link hỏng nữa nhé.
Anh DW ơi, cái link tới bài viết: “Thành phần Block và Inline” bị hỏng rồi, nhờ anh fix lại cí.
để biết thêm và học về các chuẩn web hiện nay hãy vô trang
W3Cschools.com
trang trình bày rất đơn giản, dễ học, có các ví dụ tham khảo…
còn đây là 1 bài cơ bản về id và class trong css
W3C
anh chị nào có thể giúp em câu này ko
! xin bày em cách gọi từng đến từng thẻ để định dạng css cho nó ( vd : thì khi gọi ta sẽ gọi: #wrapper {định dạng css cho nó} , thì khi ta gọi thì ta sẽ gọi : ul#topnav -> vì sao ta ko gọi giống trên là: #topnav mà phải là ul#topnav !!!
dưới thẻ còn có các thẻ .nên khi gọi ta sẽ gọi: ul#topnav li mà sao ko thể gọi đơn giản hơn là : #topnav li !!!
Em rối vì cách gọi này lắm ! anh chị nào có cách bày em phân biệt rõ những cái này ko ạ ! em xin cám ơn anh chị nhiều
Cảm ơn anh đã có bài viết rất hay
ôi cám ơn anh quá… em đang không biết làm thế nào. cứ viết dài kinh hoàng. nhìn loại hoa cả mắt. nhưng sau khi tìm hiểu thì nên thế này. save 1 file viết nhiều dòng. rồi save 1 file khác 1 dòng. khi cần sửa chữa thì copy và replace luôn cả đoạn đã sửa ở file nhiều dòng vào file 1 dòng. có lẽ như thế tối ưu nhất đối với em
Mình thường làm thế này, khi code mình sử dụng nhiều hàng, sau mỗi 1 Selector, Attribute .. thì xuống dòng và comment cẩn thận. Nhưng khi hoàn thành, và để pub thì … chuyển về 1 hàng hết , hơi mất thời gian nhưng 1 phần giúp website load nhanh hơn ^_^