Hướng dẫn how to make the table use multiple lines on long text using css - cách tạo bảng sử dụng nhiều dòng trên văn bản dài bằng css

DigitalOcean cung cấp các sản phẩm đám mây cho mọi giai đoạn của hành trình của bạn. Bắt đầu với $ 200 trong tín dụng miễn phí!

Bí quyết trong bài viết này vẫn còn khá gọn gàng và thông minh, nhưng có một cách hiện đang được chuẩn hóa để làm điều này có lẽ là đặt cược tốt nhất của bạn.

Cắt ngắn một dòng văn bản nếu khá đơn giản. Cắt ngắn nhiều dòng là khó hơn một chút. Chỉ sử dụng CSS (không có JavaScript hoặc Dancing phía máy chủ) là tốt cho sự đơn giản. Gần đây, nó đã trở nên dễ dàng hơn một chút vì Firefox (vì phiên bản 68) đã bắt đầu hỗ trợ phương pháp súp cực kỳ bizarre -webkit-line-clamp, giúp hỗ trợ trình duyệt cho điều đó khá ổn.

Mặc dù vậy, có một cách khác, rất thông minh và một cái gì đó tôi gọi là thủ thuật CSS bonafide. Chúng tôi bằng cách nào đó đã thất bại trong việc bao quát nó đúng cách trong bài kiểm tra chính tắc của chúng tôi, vì vậy tôi sẽ che nó ở đây sau đó thêm nó vào bài đăng đó. Lần đầu tiên tôi nhìn thấy thủ thuật này trên blog Mobify hiện đã chết, và gần đây được Natalia Onischuk bao phủ về hackingui.

Bí quyết sử dụng chiều cao dòng để đo lường

Ở đây, một phần lớn của mánh khóe. Hãy tưởng tượng một yếu tố có line-height của 1.4rem và bạn muốn chắc chắn rằng nó chỉ hiển thị tối đa ba dòng văn bản. Nếu bạn đặt max-height thành 1.4rem * 3, bạn đã thực hiện nó!

Tôi không phải là người hâm mộ lớn nhất thế giới của United line-height, nhưng than ôi, nó cần thiết ở đây để làm toán. Tôi cũng không phải là fan hâm mộ lớn nhất của việc thiết lập nó nhiều lần trên các yếu tố, vì vậy hãy để đặt một biến mà chúng ta có thể sử dụng sau này, và sau đó sử dụng nó để đặt line-height toàn cầu.

html {
  --lh: 1.4rem;
  line-height: var(--lh);
}

Đặt chiều cao tối đa đó

Việc cắt ngắn xảy ra như thế này:

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}

Bạn thực sự có thể để nó như thế này. Điều đó có thể đủ tốt nếu bạn không quan tâm đến dấu chấm lửng.

Phần còn lại của thủ thuật xuất hiện khi bạn muốn hiển thị những thứ Ellipsis đó

Một dấu chấm lửng (của người Hồi giáo) biểu thị rằng văn bản đã bị cắt ngắn và tiếp tục lâu hơn những gì nó hiển thị. Sử dụng nó có lẽ là một thực tế khá tốt khi cắt ngắn văn bản để nội dung không đến một kết thúc đột ngột, khó xử. (Chà, bản thân nội dung có thể rất khó xử, nhưng này, bạn đã thử.)

Nếu bạn đặt

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
1 trên phần tử, bạn hoàn toàn có thể định vị dấu chấm lửng ở góc dưới bên phải.

.truncate-overflow::before {
  content: "...";
  position: absolute;
  bottom: 0;
  right: 0;
}

Tôi đã rất cám dỗ, thay vì đặt phía dưới, để đặt đầu và sử dụng

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
2. Tôi nghĩ rằng bạn cũng có thể đặt dấu chấm lửng tại điểm chính xác bạn cần. Nếu văn bản quá ngắn, tràn ẩn sẽ cắt nó đi. Vấn đề với điều đó là nó không đối phó với vấn đề chính xác của các dòng tối đa. Ellipsis sẽ hiển thị khi văn bản khớp với các dòng tối đa - không chỉ khi vượt quá không gian đó.The problem with that is that it doesn’t deal with the “exactly max lines lines” problem. The ellipsis will show when the text matches the max lines — not only when it exceeds that space.

Chúng tôi sẽ phải trở nên khó khăn hơn!

Lưu ý rằng thứ cài đặt của người Viking này trong thứ dưới cùng bên phải là khá cụ thể đối với các ngôn ngữ từ trái sang phải. Tôi sẽ tạo ra bản demo với các thuộc tính logic CSS như

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
3 thay vì
.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
4 với hy vọng làm cho nó trở nên thân thiện hơn với các ngôn ngữ và kịch bản dòng chảy khác nhau.

Một hạn chế khác là dấu chấm lửng không gắn bó với từ cuối cùng vì nó hoàn toàn được đặt. Chúng tôi sẽ không sửa chữa điều đó là tốt.

Hãy để che đậy dấu chấm lửng khi văn bản quá ngắn

Đây là phần thứ hai của thủ thuật. Nếu chúng ta định vị tuyệt đối ở phía dưới/cuối của văn bản mọi lúc, thì đó là tốt. Nhưng nếu văn bản chính xác bằng giá trị

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
5 hoặc ít hơn, chúng tôi muốn ẩn nó.

Bí quyết ở đó là tạo một hộp nhỏ giống như nền tảng với những gì đằng sau nó và đặt nó trên đầu dấu chấm lửng để che nó. Chúng ta có thể làm điều đó với phần tử giả khác:

.truncate-overflow::after {
  content: "";
  position: absolute;
  right: 0; /* note: not using bottom */
  width: 1rem;
  height: 1rem;
  background: white;
}

Một thủ thuật khác mà chúng tôi sử dụng ở đây là không đặt thuộc tính dưới cùng (

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
6). Điều này đặt hộp ở dưới cùng của nội dung chứ không phải dưới cùng của cha mẹ tương đối, điều này rất hữu ích.

Hãy để tôi làm cho các hộp màu đỏ để bạn có thể nhìn thấy chúng trong ba ví dụ khác nhau sau:

Hướng dẫn how to make the table use multiple lines on long text using css - cách tạo bảng sử dụng nhiều dòng trên văn bản dài bằng css
Ví dụ hàng đầu có nhiều hơn ba dòng, vì vậy chúng tôi thấy dấu chấm lửng. Ví dụ thứ hai chỉ có hai dòng, vì vậy hộp màu đỏ cho thấy dấu chấm lửng sẽ được che đậy (nhưng thay vào đó hãy tưởng tượng một hộp trắng). Ví dụ cuối cùng cho thấy hệ thống này hoạt động ngay cả khi nội dung giống hệt như giá trị của
.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
5.

Thử nghiệm

Tôi đã sử dụng muốn sử dụng các thuộc tính logic CSS ở đây, vì hỗ trợ trình duyệt đã trở nên khá tốt. Nếu bạn hỗ trợ bất kỳ phiên bản IE nào, bạn sẽ phải sử dụng

.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
8 và
.truncate-overflow {
  --max-lines: 3;
  max-height: calc(var(--lh) * var(--max-lines));
  overflow: hidden;
}
4.

Máy tính để bàn

Trình duyệt ChromeFirefoxI EBờ rìaCuộc đi săn
89 66 Không 89 15

Di động / máy tính bảng

Android chromeAndroid FirefoxAndroidiOS safari
107 106 107 15.0-15.1

Quan tâm tiếp cận

Joseph & Nbsp; Scherben đã viết để đề cập:

Nếu các yếu tố chứa các yếu tố tương tác và tràn bị ẩn (không phải cuộn), các yếu tố đó sẽ được tập trung nhưng không thể nhìn thấy trong trang web. Có thể khiến người dùng thiết bị hỗ trợ/bàn phím mất vị trí trong nội dung bị cắt ẩn

Làm cách nào để chia văn bản thành nhiều dòng trong CSS?

Chúng tôi sử dụng thuộc tính Break Break Word trong CSS được sử dụng để chỉ định cách một từ nên bị phá vỡ hoặc phân chia khi đạt đến cuối dòng. Thuộc tính từ Word được sử dụng để phân chia/phá vỡ các từ dài và quấn chúng vào dòng tiếp theo.use the word–break property in CSS that is used to specify how a word should be broken or split when reaching the end of a line. The word–wrap property is used to split/break long words and wrap them into the next line.

Làm thế nào để bạn bọc văn bản trong một bảng trong CSS?

Có hai phương pháp để bọc nội dung ô bảng sử dụng CSS được đưa ra dưới đây: sử dụng thuộc tính bao nhiêu từ: Thuộc tính này được sử dụng để cho phép các từ dài phá vỡ và quấn vào dòng tiếp theo. Sử dụng thuộc tính phá vỡ từ: Thuộc tính này được sử dụng để chỉ định cách phá vỡ từ khi từ đạt đến cuối dòng.Using word-wrap property: This property is used to allow long words to break and wrap onto the next line. Using word-break property: This property is used to specify how to break the word when the word reached at end of the line.

Làm thế nào để bạn hiển thị nhiều dòng văn bản?

Nhấp vào tab Hiển thị. Để cho phép nhiều dòng văn bản được gõ vào hộp văn bản, chọn hộp kiểm đa dòng và sau đó tùy chọn thực hiện một trong những điều sau đây: để ngăn người dùng không thể chèn đoạn văn vào hộp văn bản bằng cách nhấn ENTER, xóa xóa Hộp kiểm BREAKS BREAKS.select the Multi-line check box, and then optionally do one of the following: To prevent users from being able to insert paragraph breaks in the text box by pressing ENTER, clear the Paragraph breaks check box.

Làm cách nào để cắt văn bản sau hai dòng?

2) Cắt ngắn văn bản Sau nhiều dòng bằng cách sử dụng kẹp dòng với văn bản kẹp dòng có thể bị cắt sau nhiều dòng, điều thú vị hơn nữa là bạn có thể cắt nó bằng cách chỉ định số dòng nơi bạn muốn cắt ngắn.ví dụ: -webkit-line-kẹp: 3;Sẽ cắt ngắn bắt đầu cắt ngắn văn bản từ dòng thứ ba.truncate it by specifying the line number where you want to truncate it. eg: -webkit-line-clamp: 3; will truncate start truncating the text from the third line.