Ngôn ngữ CSS - CSS3 Text

CSS3 - Xử lý Text

CS3 hỗ trợ một số thuộc tính giúp việc xử lý text hiệu quả hơn.

Nếu trước đây chúng ta gặp khó khăn trong việc xử lý một từ quá dài và bị tràn ra ngoài thẻ HTML thì bây giờ sử dụng CSS3 sẽ giải quyết được.

Chúng ta sẽ học ba thuộc tính sau:

  • text-overflow
  • word-wrap
  • word-break

1. Text Overflow trong CSS3

Thuộc tính text-overflow dùng để xử lý một đoạn text khi bị tràn ra ngoài thẻ HTML.

Cú pháp:

text-overflow: clip|ellipsis|string|initial|inherit;

Trong đó:

  • clip: là giá trị mặc định, nó sẽ kẹp các văn bản.
  • ellipsis : thêm ba dấu chấm (...) nếu text bị tràn ra ngoài
  • string : tự định nghĩa đoạn text nào đó thêm vào khi bị tràn ra ngoài.
  • initial : thiết lập giá trị mặc định
  • inherit : kế thừa giá trị từ thẻ HTML cha.

Có một số giá trị sẽ không chạy trên trình duyệt Chrome, Opera, ... nên bạn phải cân nhắc khi sử dụng. Tuy nhiên thuộc tính ellipsis thì hoạt động hầu hết các trình duyệt mới hiện nay.
Có một lưu ý nữa là  bạn phải bổ sung thêm thuộc tính overflow:hidden thì nó mới có tác dụng nhé.

Ví dụ:

<html>
    <head>
        <meta charset="UTF-8">        
        <style type="text/css">
            p{
                white-space: nowrap;
                border: solid 1px;
                width: 100px;
                height: 18px;
                text-overflow: ellipsis;
                overflow: hidden;
            }
        </style>
    </head>
    <body>
        <p>Chào mừng các bạn đến website Hiệp Sĩ It do Com</p>
    </body>
</html>

Xem ví dụ

2. Word Wrap trong CSS3

Thuộc tính word-wrap cho phép đoạn text xuống hàng cho dù chữ đó dài cỡ nào đi nữa.

Cú pháp:

word-wrap: normal|break-word|initial|inherit;

Trong đó:

  • normal: trạng thái mặc định, tức là hiển thị theo mặc định của trình duyệt
  • break-word : sẽ nhảy xuống hàng nếu chữ quá dài
  • initial : trở về trang thái mặc định
  • inherit : kế thừa giá trị từ thẻ HTML cha

Ví dụ:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"> 
        <style type="text/css">
            div{
                border: solid 1px;
                width: 100px;
            }
            .breakword{
                word-wrap: break-word;
            }
        </style>
    </head>
    <body>
        <h5>No break-word</h5>
        <div>Chào mừng các bạn đến website Hiệp Sĩ IT dot Com</div>
        <h5>Break-word</h5>
          <div>Chào mừng các bạn đến website Hiệp Sĩ IT dot Com</div>
    </body>
</html>

Xem ví dụ

3. Word Break trong CSS3

Thuộc tính word-break trong CSS3 có tác dụng xử lý xuống hàng, tức là bạn có thể cho một chuỗi hiển thị và xuống hàng tại bất kì vị trí nào miễn là nó đã hiển thị full width.

Cú pháp:

word-break: normal|break-all|keep-all|initial|inherit;

Trong đó:

  • normal: trạng thái mặc định, tức là sẽ dừng xuống hàng theo mặc định
  • break-all : có thể xuống hàng bất kì lúc nào khi nó đã hiển thị full width
  • keep-all : xuống hàng nếu chữ hiển thị sẽ bị tràn (overflow)
  • initial : trở về trang thái mặc định
  • inherit : kế thừa giá trị từ thẻ HTML cha
<html>
    <head>
        <meta charset="UTF-8">
      
        <style type="text/css">
            div{
                border: solid 1px;
                width: 120px;
            }
            .break-all{
                word-break: break-all;
            }
            .keep-all{
                word-break: keep-all;
            }
        </style>
    </head>
    <body>
        <h5>Break All</h5>
        <div class="keep-all">Chào mừng các bạn đến với website Hiệp Sĩ IT dot Com</div>
        <h5>Keep All</h5>
        <div class="break-all">Chào mừng các bạn đến với website Hiệp Sĩ IT dot Com</div>
    </body>
</html>

Xem ví dụ