Quangkhoi1228 | Knowledge base
  • Về trang chủ
  • Lời nói đầu
  • Nhập môn lập trình web
    • Giáo trình
    • Class 01: Hello HTML!!!
    • Class 02: HTML: Comment, Text formatting, Attribute, Link
    • Class 03: HTML: Style, Inline/Block element, Image
    • Class 04: HTML: List, Table, Responsive
    • Class 05: Hello CSS!!!
    • Class 06: CSS: Flexbox, Layout
    • Class 07: Hello Javascript!!!
    • Class 08: JS: Operator, Expression, For/While Loop, Function
    • Class 09: JS: Search Function
    • Project 1: Layout Structure
    • Project 2: Search Function
    • Project 3: MVP
    • Review "Lập trình Frontend Website"
  • Lập trình Frontend Website
    • Class 01: Ôn tập HTML
    • Class 02: Thảo luận HTML
    • Class 03: Ôn tập CSS
    • Class 04: Chrome dev tools, CSS Box Model
    • Class 05: CSS: Position, Đơn vị đo
    • Class 06: CSS: hiệu ứng, responsive
    • Class 07: Thảo luận CSS
    • Class 08: Ôn tập JS
    • Class 09: JS: Mảng, Đối tượng, Biến tham chiếu và tham trị
    • Class 10: JS: Class, Pair programming
    • Class 11: JS: DOM, UI Rendering
  • Lập trình ReactJS
    • Class 01: Giới thiệu ReactJS
    • Class 01: Tạo dự án ReactJS mới
    • Class 02: ReactJS Component
    • Class 02: Import/Export component
    • Class 03: useState hook
    • Class 04: Project 1: UI cơ bản
    • Class 05: Render có điều kiện và danh sách
    • Class 06: useEffect hook
    • Class 07: Project 2: Xử lý user logic
    • Class 08: Project 3: Hoàn thiện dashboard
    • Class 09: Form và dữ liệu người dùng
    • Class 10: UseRef và thao tác với DOM
    • Class 11: Project 4: Xử lý form data
    • Class 12: Project 5: Hoàn thiện form data
    • Class 13: useMemo và useCallback
    • Class 14: Custom Hook
    • Class 15: Project 6: Hoàn thiện project
    • Class 16: Ôn tập
  • Lập trình NestJS
    • Class 01: Giới thiệu NestJS & Cài đặt dự án
    • Class 02: Routing, Controller và Dependency Injection
    • Class 03: Service và Data Validation
    • Class 04: Kết nối Database với TypeORM
    • Class 05: Quan hệ trong Database (OneToMany, ManyToOne) với TypeORM
    • Class 06: Middleware, Interceptor, Guard
    • Class 07: Authentication – JWT
    • Class 08: Authorization – Phân quyền
    • Class 09: File Upload & Configuration
    • Class 10: Giới thiệu WebSocket
    • Class 11: Project 1
    • Class 12: Project 2
    • Class 13: Project 3
    • Class 14: Project 4
    • Class 15: Project 5
    • Class 16: Project 6
  • Lập trình Java cơ bản
    • Class 01: Khai giảng
    • Class 02: Hello Java
    • Class 03: Biến và kiểu dữ liệu
    • Class 04: Toán tử và biểu thức
    • Class 05: Câu lệnh điều kiện
    • Class 06: Review 1
    • Class 07: Vòng lặp For
    • Class 08: Vòng lặp While / Do-while
    • Class 09: Java Method
    • Class 10: Review 2
    • Class 11: Java User Input
    • Class 12: Java File
    • Class 13: Final Exam 1
    • Class 14: Final Exam 2
    • Review "Lập trình OOP với Java"
  • Lập trình OOP với Java
    • Class 01: Hello OOP
    • Class 02: Class Attribute và Method
    • Class 03: Constructor, Modifier và Package
    • Class 04: Review 1
    • Class 05: Tính kế thừa và đa hình
    • Class 06: Tính trừu tượng và đóng gói
    • Class 07: Review 2
    • Class 08: Final Exam 1
    • Class 09: Final Exam 2
    • Review "CTDL và Giải thuật với Java"
  • CTDL và Giải thuật với Java
    • Class 01: Hello Data Structure
  • HTML
    • Cài đặt công cụ cơ bản
    • HTML là gì?
    • Phần tử HTML
    • Cấu trúc file HTML cơ bản
    • Comment trong HTML
    • Format văn bản trong HTML
    • Thuộc tính HTML
    • Liên kết(link) trong HTML
    • Project: Professional Email
    • HTML Style
    • Phần tử Inline và Block
    • HTML Image
    • HTML List
    • HTML Table
    • Head trong HTML
    • HTML Responsive
    • Project: Online Cover Letter
  • CSS
    • Giới thiệu CSS
    • CSS Selector
    • Thêm CSS vào trang
    • Comment trong CSS
    • Màu sắc trong CSS
    • CSS Background
    • CSS Border
    • CSS Spacing
    • CSS Flexbox
    • HTML Layout
    • Chrome dev tools
    • CSS Box Model
    • CSS Position
    • Đơn vị đo trong CSS
    • CSS Pseudo-classes
    • CSS Responsive
  • JavaScript
    • Giới thiệu Javascript
    • Thêm JS vào trang
    • Các hàm có sẵn
    • Biến và kiểu dữ liệu
    • JS Mảng
    • JS Đối tượng
    • JS Biến Tham Chiếu và Tham Trị
    • Toán tử và biểu thức
    • Câu lệnh điều kiện
    • Vòng lặp For / While
    • Hàm (Function)
    • Chức năng tìm kiếm với JS và DOM
    • JS Class
    • JS DOM
    • JS Dom Rendering
  • Java
    • Giới thiệu Java
    • Chương trình Hello world
    • Phân biệt JVM, JRE, JDK
    • Java Comment
    • Biến trong Java
    • Kiểu dữ liệu trong Java
    • Java Array
    • Toán tử trong Java
    • Biễu thức trong Java
    • Java If-else
    • Java Switch
    • Vòng lặp For trong Java
    • Vòng lặp While trong Java
    • Vòng lặp Do-while trong Java
    • Java Method
    • Java OOP
    • Java Class và Object
    • Java Class attribute
    • Java Class method
    • Java Constructor
    • Java Modifier
    • Java Package
    • Java Tính kế thừa
    • Java Tính đa hình
    • Java Tính trừu tượng
    • Java Tính đóng gói
    • Java User Input
    • Java File
  • Soft skills
    • Pair Programming
  • Web design and wireframe
  • NextJS
    • Tạo dự án NextJS mới
  • NestJS
    • Giới thiệu NestJS
    • NestJS controller
    • NestJS module
  • Git
    • Setup SSH key với GitHub
  • Bash
    • Giới thiệu Bash/Shell Script
  • Wordpress
    • Thêm custom routes
    • Deploy with ubuntu
  • Deployment
    • SSH server, đổi password và add SSH key
    • Tạo user mới và add SSH key
    • Page
  • GitBook
    • Custom domain with CloudFlare
  • Hướng dẫn khác
    • Gitbook custom domain with Cloudflare
    • Cấu hình OpenVPN
    • Cấu hình và lấy SSH key
    • Công cụ lập trình
      • Visual Studio Code
      • Cài đặt IntelliJ IDEA
    • Đường dẫn file trong HTML
    • CI/CD github action
  • Project: CV online
Powered by GitBook
On this page
  • Border style
  • Cú pháp
  • Giá trị
  • Mix border-style
  • Border-width
  • Cú pháp
  • Giá trị
  • Border-color
  • Cú pháp
  • Giá trị
  • Border sides
  • Cú pháp
  • Ví dụ
  • CSS Shorthand border
  • Cú pháp
  • Shorthand border với border sides
  • Ví dụ
  • Rounded border(bo góc)
  • Cú pháp
  1. CSS

CSS Border

Border dùng để thêm 1 đường viền bao xung quanh phần tử

Border style

Border style dùng để thay đổi cách hiển thị của border thông qua thuộc tính border-style

Cú pháp

border-style: value;

Giá trị

Giá trị
Diễn giải

solid

solid là giá trị mặc định, border sẽ có dạng một đường thẳng liền nét và không bị đứt đoạn

dashed

border được tạo ra bởi các dấu gạch ngang

dotted

border được tạo ra bởi các dấu chấm

double

groove

ridge

inset

outset

none

Phần tử sẽ không có đường viền

hidden

Giống none nhưng thường sẽ được dùng cho table

Mix border-style

Một phẩn tử có 4 cạnh do đó chúng ta có thể khai báo từng cạnh một kiểu border theo cú pháp sau:

border-style: top right bottom left;

Để dễ hình dung hơn các bạn có thể xem hình dưới khi có kết hợp với color và width:

Border-width

Thuộc tính border-width dùng để quy định độ dày của 4 cạnh border.

Cú pháp

Gán giá trị border cho cả 4 góc

Đây là cú pháp cơ bản nhất khi bạn muốn gán một giá trị border-width áp dụng cho cả 4 cạnh, khi đó ta đưa vào cho border-width một giá trị duy nhất.

border-width: value;

Gán giá trị theo từng cạnh

Trong trường hợp chúng ta muốn gán giá trị khác nhau cho từng cạnh cụ thể thì ta sẽ đưa từng giá trị theo cú pháp sau

border-width: top right bottom left;

Gán giá trị theo trục

Trong trường hợp chúng ta muốn gán giá trị theo trục x hoặc y, chúng ta sẽ khai báo 2 giá trị

border-width: top-bottom right-left;

Gán giá trị trục x và tuỳ chỉnh trục 2 chiều của trục y

Việc gán giá trị cho trục x và 2 chiều của trục y hay gặp ở các trường hợp style cho các card có chiều top, bottom và left-right khác nhau

border-width: top right-left bottom;

Giá trị

Giá trị của border-width có thể là tất cả các giá trị có đơn vị hợp lệ hoặc giá trị cấu hình trước: thin, medium, và thick

Border-color

Thuộc tính border-color dùng để quy định màu sắc của 4 cạnh border.

Cú pháp

Gán giá trị color cho cả 4 góc

Đây là cú pháp cơ bản nhất khi bạn muốn gán một giá trị border-color áp dụng cho cả 4 cạnh, khi đó ta đưa vào cho border-color một giá trị duy nhất.

border-color: value;

Gán giá trị theo từng cạnh

Trong trường hợp chúng ta muốn gán giá trị khác nhau cho từng cạnh cụ thể thì ta sẽ đưa từng giá trị theo cú pháp sau

border-color: top right bottom left;

Gán giá trị theo trục

Trong trường hợp chúng ta muốn gán giá trị theo trục x hoặc y, chúng ta sẽ khai báo 2 giá trị

border-color: top-bottom right-left;

Gán giá trị trục x và tuỳ chỉnh trục 2 chiều của trục y

border-width: top right-left bottom;

Giá trị

Border sides

Như chúng ta đã biết 1 phần tử sẽ có 4 cạnh và các khai báo phía trên của border-style, border-width, border-color đều có cú pháp để khai báo từng giá trị của cạnh nhưng nếu chỉ khai báo 1 cạnh thì các cú pháp trên đều chưa đáp ứng được.

Do đó border sides ra đời cho phép chúng ta khai báo các thuộc tính của border cho một cạnh cụ thể, chi tiết như sau:

Cú pháp

border-top-style: $style-value; // border top style
border-right-style: $style-value; // border right style
border-bottom-style: $style-value; // border bottom style
border-left-style: $style-value; // border left style

border-top-width: $width-value; // border top width
border-right-width: $width-value; // border right width
border-bottom-width: $width-value; // border bottom width
border-left-width: $width-value; // border left width

border-top-color: $color-value; // border top color
border-right-color: $color-value; // border right color
border-bottom-color: $color-value; // border bottom color
border-left-color: $color-value; // border left color

Ví dụ

CSS Shorthand border

Shorthand border là cú pháp viết tắt giúp cho chúng ta cấu hình border-style, border-width, border-color trong cùng 1 dòng code

Cú pháp

border: border-width border-style border-color;

Trong cú pháp này chỉ có border-style là bắt buộc còn lại chúng ta có thể bỏ qua miễn sao theo đúng thứ tự là được

Shorthand border với border sides

Chúng ta có cú pháp shortand border cho 1 cạnh như sau:

border-top: border-width border-style border-color; // top
border-right: border-width border-style border-color; // right
border-bottom: border-width border-style border-color; // bottom
border-left: border-width border-style border-color; // left

Ví dụ

Rounded border(bo góc)

Khi muốn bo tròn border chúng ta sẽ sử dụng border-radius để thao tác

Cú pháp

border-radius: value;

Border-radius sử dụng các đơn vị hợp lệ để làm giá trị

khi muốn bo tròn luôn ta sẽ gán giá trị border-radius: 9999px;

PreviousCSS BackgroundNextCSS Spacing

Last updated 2 years ago

border được tạo ra bằng 2 border solid nhưng 2 đường này sẽ mỏng hơn và được ngăn cách bởi một khoảng trắng. Độ dày của 2 line border và khoảng trắng là bằng nhau và bằng 1/3 của

groove dịch ra là đường rãnh do đó khi giá trị là groove thì border sẽ có dạng 3d của một chiếc đường rãnh, hiệu ứng sẽ dựa vào màu sắc của thuộc tính

ridge dịch ra là chóp(tương tự kim tự tháp ai cập) do đó khi giá trị là ridge thì border sẽ có dạng 3d của một hình chóp, hiệu ứng sẽ dựa vào màu sắc của thuộc tính

Border sẽ tạo ra hiệu ứng đổ bóng, bạn cứ tưởng tượng phần tử giống như một chiếc miệng giếng và ánh sáng sẽ chiếu từ góc bottom-right lên top-left, hiệu ứng sẽ dựa vào màu sắc của thuộc tính

outset cũng sẽ tạo ra hiệu ứng đổ bóng nhưng ánh sáng sẽ chiếu từ góc top-left xuống bottom-right , hiệu ứng sẽ dựa vào màu sắc của thuộc tính

Giá trị của border-color là

các màu hợp lệ
border-width
border-color
border-color
border-color
border-color