Tạo khoảng cách trong html

Tạo khoảng cách là một việc làm phức tạp và có rất nhiều cách để làm việc này trong HTML, nếu bạn làm không đúng cách có thể sẽ làm hỏng giao diện so với thiết kế ban đầu. Mời bạn cùng nhâm nhi tách trà và đọc bài viết của mình để hiểu   là gì? và cách tạo khoảng cách (khoảng trắng) trong html nhé.

  •   là gì?
  • Tác dụng của   trong HTML
  • Khi nào bạn không nên sử dụng  
  •   trong WordPress
  • Các ký tự tạo khoảng trắng khác trong HTML
  • Cách tạo khoảng cách trong HTML
    • Cellpadding
    • Padding
    • Các thẻ td
    • Margin
    • Thẻ
      (break)
  • Tại sao bạn thấy ký tự   ở một số website
  • Kết luận

  là gì?

  là viết tắt của từ non-breaking space hay còn được gọi là không gian cố định (không gian cứng) được sử dụng trong lập trình hoặc xử lý văn bản để tạo ra khoảng trắng trên một dòng và không thể bị ngắt bởi vùng chứa văn bản (word wrap). Trong HTML   cho phép bạn tạo nhiều khoảng cách cho một đoạn tài liệu.

Tác dụng của   trong HTML

  là một trong những HTML Entities được sử dụng thường xuyên nhất, để hiểu hơn về cách tạo khoảng trắng trong html bằng   mời bạn cùng với gbaydev tìm hiểu ví dụ sau:

Bạn cho tôi mượn 500.000 VNĐ

Ở một số màn hình nhỏ hơn câu trên có thể bị chia nhỏ thành như thế này:

Bạn cho tôi mượn
500.000 VNĐ

Thậm chí tồi tệ hơn câu trên cũng có thể sẽ hiển thị như thế này:

Bạn cho tôi mượn 500.000
VNĐ

Để tránh việc ngắt dòng không nhất quán giữa 500.000 với VNĐ, mình sử dụng   vào giữa 500.000 với VNĐ (tức là: 500.000 VNĐ). Khi làm như vậy, cùng lắm câu trên sẽ hiển thị như sau:

Bạn cho tôi mượn
500.000 VNĐ

Một ví dụ khác cho tác dụng của   là trong HTML bạn gõ bao nhiêu lần dấu cách thì trình duyệt cũng quy về duy nhất một khoảng trắng, ví dụ bạn gõ dòng code sau:

Bạn cho tôi mượn 500.000 VNĐ

Nhưng khi bạn xem bằng trình duyệt chrome thì câu trên lại hiển thị như sau:

Tạo khoảng cách trong html
Hình ảnh: Ví dụ 1 về tác dụng của   trong HTML

Thật khó chịu phải không, không sao bạn có thể dùng   nhiều lần để tạo ra khoảng cách mong muốn, ví dụ: 

Bạn cho tôi mượn   500.000 VNĐ

kết quả sẽ được như ý bạn.

Tạo khoảng cách trong html
Hình ảnh: ví dụ về dùng nhiều   để tạo nhiều khoảng trắng

Lưu ý: Bạn không nên quá lạm dụng   để tạo khoảng cách, nếu không tài liệu HTML cũng có thể bị vỡ, khiến kết quả hiển thị không được như ý.

Khi nào bạn không nên sử dụng  

Bạn có thấy đoạn mã

Bạn cho tôi mượn      500.000 VNĐ

trông khá là khó đọc, và việc dùng   để tạo nhiều khoảng trắng là một phương pháp không tối ưu. Với đoạn mã trên khi hiển thị ở màn hình của bạn có thể trông sẽ khá đẹp mắt, nhưng ở một số thiết bị khác có thể nó sẽ rất xấu.

Do đó sử dụng bạn cũng có thể sử dụng margin với padding để tạo khoảng cách trong HTML là một cách làm tốt hơn và đơn giản hơn rất nhiều (chi tiết xem ở phía bên dưới) và   chỉ nên dùng để tạo khoảng trắng khi bạn muốn giữ lại các phần tử với nhau.

  trong WordPress

Trình chỉnh sửa Gutenberg của WordPress tạo ra các non-breaking space trong bài viết một cách dễ dàng, thay vì dùng dấu cách, bạn hãy nhấn tổ hợp phím Option + Space trên Mac hoặc Ctrl + Shift + Space trên Windows. 

Trong trình soạn thảo HTML ở các phiên bản cũ, việc chèn khoảng trắng có thể sẽ phức tạp hơn rất nhiều, bạn có thể thử chèn   ngay vào trình chỉnh sửa. Tuy nhiên, nếu theme của bạn không có CSS chỉ định cách hiển thị nó, bạn có thể sẽ thấy mã code được hiển thị trên trang.

Một giải pháp khác mà mình nghĩ ra là tạo một shortcode xử lý đơn giản trong tập tin functions.php của theme:

//[nbsp] shortcode
function nbsp_shortcode( $atts, $content = null ) {
$content = ' ';
return $content;
}
add_shortcode( 'nbsp', 'nbsp_shortcode' );

sau đó bạn có thể gọi bất cứ khi nào bạn cần khoảng trắng không ngắt với ‘[nbsp]’.

Lưu ý: Bạn cũng có thể thay   bằng  

Các ký tự tạo khoảng trắng khác trong HTML

Khi tạo khoảng trắng giữa các từ hoặc các yếu tố khác, không chỉ có   là tạo được khoảng trắng mà còn có rất nhiều HTML Entity khác làm được việc tương tự. Dưới đây là bản các HTML Entity được dùng phổ biến không kém  :

Tên HTML Entity Entity Number Tác dụng
    Tạo mội khoảng trắng
En space Tạo 2 khoảng trắng
Em space Tạo 3 khoảng trắng
Narrow no-break space Gạch ngang
3-per-em space Tương tự như  
figure space Tạo 2 khoảng trắng
punctuation space Tạo khoảng trắng
thin space Tạo khoảng trắng mỏng
hair space Tạo khoảng cách siêu mỏng
Bảng các ký tự tạo khoảng trắng khác   trong HTML

Lưu ý: Tất cả các mã code ở trên đều tạo ra khoảng trắng, chúng chỉ khác nhau ở khoảng cách giữa các điểm

Cách tạo khoảng cách trong HTML

Tạo khoảng cách trong HTML không phải là việc làm đơn giản, điều này do hiện nay có quá nhiều thiết bị với kích thước màn hình khác nhau. Dưới đây là các giải pháp khác thay thế cho các HTML Entity đặc biệt là   mà mình đề xuất:

Cellpadding

Cellpadding là một thuộc tính HTML được sử dụng để chỉ định khoảng cách (tính bằng pixel) giữa nội dung văn bản và bên rìa. Đây là một giải pháp khá phổ biến vì tài liệu HTML sử dụng tabel (bảng) rất nhiều, ví dụ:

Hàng 1 cột 1 Hàng 1 cột 2 Hàng 1 cột 3
Hàng 2 cột 1 Hàng 2 cột 2 Hàng 2 cột 3

Kết quả khi xem ở trình duyệt chrome

Tạo khoảng cách trong html
Hình ảnh: Tạo khoảng cách trong html bằng cellpadding

nghĩa là khoảng cách giữa text và các bên là 12px

Cellpadding có một hạn chế làkhoảng cách của nó không thể bị ghi đè, do Cellpadding là mộtthuộc tínhủa HTML. Cho dù bạn có CSS kiểu gì đi chăng nữa. 

Padding

Padding là một thuộc tính của CSS, bạn có thể tự do thoải mái ghi đè, nó cực kỳ hữu ích khi bạn tạo khoảng trắng HTML cho desktop và mobile lẫn table. Bạn có thể chỉ định khoảng cách khác nhau cho từng thiết bị một, để có một giao diện web đẹp cho từng thiết bị.

Cú pháp CSS padding rất đơn giản như sau:

style=”padding:15px;”

Các thẻ td

Một phương pháp khác là với HTML ta có thẻ

. Thông thường, thẻ xác định các ô dữ liệu điển hình. Khi để trống, chúng tạo ra các ô vô hình có thể được sử dụng để tạo khoảng cách. 

Có một số lý do tại sao đây là giải pháp hiếm khi được sử dụng.

Đầu tiên và cũng là quan trọng nhất, các ô được xác định theo cách này không phải lúc nào cũng giữ được chiều cao của chúng, có những lúc việc nhập dữ liệu vào trong thẻ

sẽ không có khoảng cách nào được tạo ra, khiến giao diện không được đúng như thiết kế.

Thứ hai việc sử dụng chúng đòi hỏi phải xây dựng toàn bộ bảng mà bạn có thể sẽ không sử dụng, và nếu bạn đang thiết kế giao diện responsive cho nhiều thiết bị, bạn sẽ phải đặt các class và css rất nhiều.

Margin

Margin là một thuộc tính của CSS tương tự như Padding, sự khác biệt giữa margin và padding là padding tạo ra khoảng cách từ bên trong, còn margin là tạo ra khoảng cách từ bên ngoài vùng. 

Cú pháp CSS margin như sau:

style=”margin:15px;”

Thẻ
(break)

Thẻ
là một cách phổ biến để tạo khoảng trắng trong HTML, nó thường hay được dùng để tạo ngắt giữa các văn bản.

Bạn chỉ cần thêm thẻ
vào đoạn văn bản muốn ngắt.

Tại sao bạn thấy ký tự   ở một số website

Nơi duy nhất bạn thường thấy và sử dụng   là ở khu vực soạn thảo văn bản cho website dưới dạng mã code HTML, khi bạn làm đúng mã   sẽ hiển thị dưới dạng khoảng cách trên trình duyệt. Tuy nhiên một số ứng dụng phân tích các cú pháp của HTML không chính xác, vì vậy các tài liệu sẽ được hiển thị các bit bổ xung của mã HTML do đó bạn sẽ thấy   trên.

Kết luận

Ở bài viết này gbaydev đã giải thích rõ khái niệm   là gì? cũng như tác dụng và khi nào bạn không nên sử dụng mã   trong HTML,… 

Nếu bạn đang học lập trình web HTML, CSS, Javascript (JS) thì hãy theo dõi website gbaydev để nhận được các hướng dẫn mới nhất và kinh nghiệm lập trình lâu năm của mình.

Bạn hãy like FanpageGroup của Gbaydev để cùng thảo luận thêm với những lập trình viên khác nhé.

Thank you!