tràn css - chỉ có 1 dòng văn bản


134

Tôi có divkiểu css sau:

width:335px; float:left; overflow:hidden; padding-left:5px;

Khi tôi chèn, vào đó div, một dòng văn bản dài, nó sẽ chuyển sang một dòng mới và hiển thị tất cả văn bản. Điều tôi muốn là chỉ có một dòng văn bản sẽ không ngắt dòng. Khi văn bản dài, tôi muốn văn bản tràn này biến mất.

Tôi đã suy nghĩ về việc thiết lập chiều cao nhưng dường như là sai.

Có lẽ nếu tôi thêm chiều cao giống với phông chữ, nó sẽ hoạt động và không gây ra bất kỳ vấn đề nào trong các trình duyệt khác nhau?

Làm thế nào tôi có thể làm điều đó?


Bạn có thể chứng minh vấn đề của bạn trên jsFiddle ?
Harry Joy

Câu trả lời:


352

Nếu bạn muốn giới hạn nó trong một dòng, hãy sử dụng white-space: nowrap;trên div.


Nhưng sau đó nó không hiển thị dấu chấm lửng nếu văn bản vượt quá kích thước được chỉ định. stackoverflow.com/questions/26342411/
kiếmForKnowledge

Nó hoạt động, tuyệt vời. Nhưng tôi cần ...nếu có nhiều ký tự hơn để hiển thị bởi vì khi độ dài của dòng dài và nó đi ra khỏi div viết.
Moshii

Điều này hành động kỳ lạ nếu văn bản ẩn chứa siêu liên kết. Nếu tôi chuyển qua trang, nó sẽ khiến liên kết trong văn bản ẩn cuộn lên màn hình, khi nào nó sẽ bị ẩn.
Eric

76

Nếu bạn muốn chỉ ra rằng vẫn còn nhiều nội dung có sẵn trong div đó, có lẽ bạn có thể muốn hiển thị "dấu chấm lửng":

text-overflow: ellipsis;

Điều này nên được thêm vào white-space: nowrap;đề xuất của Septnuits.

Ngoài ra, hãy đảm bảo bạn kiểm tra luồng này để xử lý việc này trong Firefox.


47
Tôi tin rằng bạn phải sử dụng text-overflow: ellipsis;cùng overflow: hidden;white-space: nowrap;để làm cho nó hoạt động
Francisco Costa

caniuse.com/#feat=text-overflow aka. vâng, bạn có thể Xem xét đưa toàn bộ nội dung vào thuộc tính tiêu đề, vì vậy người dùng vẫn có quyền truy cập vào nó.
DanMan

tôi chỉ hiển thị trong một dòng và không cư DIV trước khi hiển thị ellipsis ... stackoverflow.com/questions/26342411/... ( jsfiddle.net/ofrj55j4/20 )
SearchForKnowledge

43

Bạn có thể sử dụng mã css này:

text-overflow: ellipsis; 
overflow: hidden; 
white-space: nowrap;

Các văn bản tràn bất động sản trong CSS giao dịch với các tình huống mà văn bản được cắt bớt khi nó tràn hộp của phần tử. Nó có thể được cắt bớt (tức là cắt, ẩn), hiển thị dấu chấm lửng ('' ', Giá trị phạm vi Unicode U + 2026).

Lưu ý rằng tràn văn bản chỉ xảy ra khi thuộc tính tràn của bộ chứa có giá trị ẩn , cuộn hoặc tự động và khoảng trắng: nowrap; .

Tràn văn bản chỉ có thể xảy ra trên các phần tử mức khối hoặc khối nội tuyến , bởi vì phần tử cần phải có chiều rộng để có thể tràn. Sự cố tràn xảy ra theo hướng được xác định bởi thuộc tính hướng hoặc thuộc tính liên quan.


6

mã tốt nhất cho UX và UI là

white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: inherit;

0

nếu thêm xin vui lòng, nếu bạn có một văn bản dài xin vui lòng bạn có thể sử dụng mã css dưới đây;

text-overflow: ellipsis;
overflow: visible;
white-space: nowrap;

làm cho toàn bộ dòng văn bản hiển thị.


0
width:200px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;

Xác định chiều rộng cũng để đặt tràn trong một dòng


-2

Tôi đã có cùng một vấn đề và tôi đã giải quyết nó bằng cách sử dụng:

display: inline-block;

về divcâu hỏi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.