• 5335 fans
  • 1036 reader
  • 138 followers
Những cách trình bày CSS
  • Tutorial Details
  • Độ khó: Căn bản
  • Thời gian: 30 phút
  • Yêu cầu: Phù hợp cho tất cả các đối tượng lập trình viên

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.

Demon Warlock Website facebook twitter user_email

Tôi được sinh ra ở Việt Nam, nhưng hiện tại đang sống và làm việc tại Mỹ. Ngành tôi học không có liên quan gì đến thiết kế web. Nhưng đây là sở thích từ ngày còn là sinh viên du học, do vậy bây giờ dù cho đang đi làm nhưng tôi vẫn thích dùng thời gian rảnh rỗi của mình để học về thiết kế web. Như các bạn, tôi cũng việc mày mò tự học và khám phá.

  • bui quang huy

    Anh ơi, cho em hỏi, em đang viết một trang php bình thường, sau đó em tách các phần ra để include vào, thì giữa banner và menu lại xuất hiện một khoảng trắng, tks a!

  • http://www.hoclaptrinhweb.com hoclaptrinhweb

    Bài viết chi tiết quá. Thanks

  • phạm thị hòa

    ———–done———-

  • http://www.izwebz.com/video-tutorials/css-html/flyout-menu-voi-css/ Chỉ 1 câu Tuyệt

    Chỉ 1 câu Tuyệt

  • mai thanh phong

    mong rang viet nam minh co nhieu nguoi nhu anh de cong nghe thong tin viet nam phat trien

  • mai thanh phong

    trang wed hay nhat minh tung gap

  • nương

    cảm ơn anh …hii

  • http://itvietgroup.com Lê Duy Phương

    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.

  • http://www.izwebz.com Demon Warlock

    yeah! cảm ơn chú! anh sửa lại rồi. Cứ kiếm thêm link hỏng nữa nhé. ;)

  • http://www.longvuit.com longvuit

    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í.

  • TRIAN

    để 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

  • quan

    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

  • truongho

    Cảm ơn anh đã có bài viết rất hay

  • http://hoangloi.cz.cc hoangloi

    ô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 :)

  • http://aboutme.tk Aboutme

    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 ^_^

Izwebz store
Izwebz store

Các series nên xem trên izwebz cho newbie

Khi vào izwebz chắc nhiều bạn cho rằng các bài viết trên izwebz đều không có hệ thống gì cả? Thực chất, các bài biết đều đi theo một series của riêng nó, ví dụ như PHP, HTML & CSS, PSD2HTML, Photoshop, illustrator,… Trong bài viết này, mình sẽ tổng hợp lại các series bài viết cần thiết cho một newbie.

Izwebz facebook group

Social connect

Recent Comments

Archives