💡
gumi Vietnam
  • Home
    • COMPANY POLICY
      • Company Internal Regulation
      • Overtime Register Flow
    • DEVELOPMENT POLICY
      • General
        • Digital Asset Management
        • Server Management
        • Backlog Flow
      • Git Rule
        • Branch Management
        • Committing Code
        • Release Management
          • Create Pull Request (PR)
          • Semantic Versioning
        • Git Security
        • Git Security Checklist
        • Git Flow
        • Rules of Git commit message
        • Information in commit messages
      • Coding Convention
        • HTML/CSS Basic Note
        • Google HTML/CSS Rule
        • Sass Guideline
        • JavaScript Rule
        • Vue.js Rule
          • Style Guide
          • TypeScript with Composition API
          • Nuxt and Typescript Coding Convention
            • Nuxt Coding Convention
            • Typescript Coding Convention
        • PHP Rule
          • Basic Coding Standard
          • Coding Style Guide
        • Mobile Team
          • Architecture
            • MVVM in iOS Swift
            • iOS Clean Architecture
          • Convention
            • Android
              • Kotlin Style Guide
              • Coding Convention
            • iOS
              • Swift Style Guide
    • PRIVACY POLICY AND CLIENT CONFIDENTIALITY
      • Confidentiality Policy
      • Access Production Policy
        • Rule
        • Flow
        • Problem Resolve and Penalty
Powered by GitBook
On this page
  • Các lưu ý cơ bản
  • Những điều tối kị
  • Những lưu ý trước khi join dự án

Was this helpful?

  1. Home
  2. DEVELOPMENT POLICY
  3. Coding Convention

HTML/CSS Basic Note

PreviousCoding ConventionNextGoogle HTML/CSS Rule

Last updated 2 years ago

Was this helpful?

Các lưu ý cơ bản

Cách đặt tên class cơ bản

Đặt class đúng rule google hoặc bem name

  • Rule google: 2 từ nối với nhau bằng dấu gạch ngang, không viết hoa, số 1->9 thì thêm 0 vào. Ví dụ: contact contact-item contact-item-01

  • Rule bem name:

  • Trường hợp chữ số và 2 chữ cái vẫn theo rule google trên. Vd: product__search-screen + Ý kiến cá nhân: trường hợp sử dụng bem name quá dài, từ 3 cấp trở lên, ví dụ contact contact__item contact__item__thumbnail contact__item__thumbnail__detail Thì cắt đi chữ đầu để rút gọn => contact contact__item item__thumbnail item__thumbnail__detail hoặc contact item item__thumbnail item__thumbnail__detail

  • Không đặt class với dạng mt-5 mb-10 pd-10.... tương ứng với padding, margin để style một cách nhanh gọn. Nguyên nhân là sẽ ảnh hưởng tới responsive, hoặc khách hàng thay đổi hàng loạt về margin trong design

  • Khi style thẻ img, tuyệt đối ko set là width và height. Hoặc width hoặc height, nếu ko sẽ bị sai tỉ lệ ảnh

  • Biết được cấp độ tag của html

tức là ko đc viết 
<p> <h2></h2> </p> 
hoặc 
<span> <p></p> </span>
  • Trong trường hợp sử dụng một style css hoặc tag html không phổ biến lắm, phải research xem loại style/tag đó có hoạt động được trên các trình duyệt khác hay ko (chrome, firefox, safari, edge)

  • Không sử dụng màu css dạng CHỮ. Vd: color: blue; mà phải dùng mã hex hoặc rgba. Nguyên nhân là mỗi trình duyệt sẽ ra 1 dạng màu blue riêng

  • Nếu web ko import sẵn bootstrap thì bắt buộc phải define cái dòng này vào css

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
  • Riêng đối với slider hình hoặc product background/thumbnail mà dùng background img thì nên để background img trong inline style luôn vì về sau thì đây thường dễ là dạng data động

  • Hình ảnh lưu về nhớ đổi tên là ko có chứa kí tự đặc biệt, ko chứa tiếng nhật hàn trung việt gì hết, space cũng ko đc Vì import vào nó hay bị reformat như thế này heart-empty%20copy.png Nhiều trình duyệt nó ko đọc đc kí tự đặc biệt nó sẽ ko load được hình Bất đắc dĩ nếu hình lấy từ api về có dạng đó thì mới kệ thôi

Về vấn đề format code, khi join dự án phải hỏi code indent là 4 4 8 hay là 2 2 4 Hiện tại đối với team FE thì 2 2 4

  • Thứ tự import js, css rất quan trọng Customize css của mình luôn phải import cuối cùng Cuối cùng tức là import plugin, framework hết rồi mới import css của mình chứ ko phải import ở cuối trang css đầu trang, js cuối trang

  • Phải biết comment code cả html, css, js. Để những người làm việc chung với mình có thể hiểu mình đang viết gì. Comment code càng nhiều càng tốt

Những điều tối kị

  • Tuyệt đối không sử dụng z-index kiểu 99 999 9999 99999999

  • Chỉ sử dụng !important trong css khi cần re-style lại inline-style đã có trước đó (từ khách) hoặc plugin

Những lưu ý trước khi join dự án

  • Phải confirm là cần support trên browser nào, khi làm hoàn thiện phải test hết các trình duyệt và device khách yêu cầu, đừng quá chăm chú vào chrome

  • Hỏi về font, font khách gửi, hay font google, remind về việc bản quyền font

  • có design mobile hay không, nếu có design riêng thì khi nào gửi, trường hợp khách đưa pc kêu làm pc trước thì phải remind chuyện estimate vì đôi khi nhận design mobile xong là cấu trúc html pc đi bụi luôn

  • Môi trường dev được gọi là môi trường hoàn hảo, nên khi deploy lên staging và production sẽ vẫn có trường hợp lỗi ko đoán biết được

Rule git. Tùy vào yêu cầu của từng dự án/khách hàng sẽ có rule khác nhau, nên hỏi leader trước khi bắt đầu code. Nếu không có yêu cầu gì thì follow theo

http://getbem.com/naming/
https://gumiviet.github.io/#/